API Reference
Services
All services are accessible through DpmConnection.services:
from dpmcore import connect
with connect("sqlite:///dpm.db") as db:
db.services.syntax # SyntaxService
db.services.semantic # SemanticService
db.services.ast_generator # ASTGeneratorService
db.services.scope_calculator # ScopeCalculatorService
db.services.expression_metadata # ExpressionMetadataService
db.services.data_dictionary # DataDictionaryService
db.services.explorer # ExplorerService
db.services.hierarchy # HierarchyService
db.services.dpm_xl # DpmXlService (facade)
db.services.layout_exporter # LayoutExporterService
db.services.migration # MigrationService (Engine-based)
Note
The read-only dictionary services accept a SQLAlchemy Session.
MigrationService is the exception —
it accepts an Engine because it needs Base.metadata.create_all()
and DataFrame.to_sql().
Pipeline and loader services
These mutate data or run end-to-end pipelines, so they live outside the
read-only db.services facade and are used standalone:
from dpmcore.loaders.migration import MigrationService
from dpmcore.services.database_update import DatabaseUpdateService
from dpmcore.services.export_csv import ExportCsvService
from dpmcore.services.meili_build import MeiliBuildService
Read-only service references
dpmcore.services.syntaxdpmcore.services.semanticdpmcore.services.ast_generatordpmcore.services.scope_calculatordpmcore.services.expression_metadatadpmcore.services.data_dictionarydpmcore.services.explorerdpmcore.services.hierarchydpmcore.services.dpm_xldpmcore.services.layout_exporterdpmcore.connection