metadataswiss-connector¶
Connector for extracting metadata from data catalogs, transforming it into the DCAT-AP-CH format and publishing it to the federal Interoperability Platform I14Y.
Pipeline¶
The pipeline follows an ELT pattern with three steps, each based on dlt and orchestrated via Dagster:
Source catalog → [extract] → [transform] → [publish] → I14Y API
- Extract + Load — raw data is extracted from the source catalog and loaded into a local DuckDB.
- Transform — raw data is mapped into the I14Y-compatible DCAT format.
- Publish — transformed records are reconciled against the I14Y Partner API (create/update/delete), tracked per source in a state file.
The orchestration layer is optional: pipeline.py, registry.py, sources/
and dcat/ carry no Dagster dependency, so any orchestrator can drive the same
extract/transform/publish helpers.
Where to look¶
- Mappings — how each Dataspot source field maps to an I14Y model field, plus the controlled-vocabulary code tables. This page is generated from the source code; see below.
- API reference — module-level reference rendered from the docstrings.
- README — setup, configuration, running the pipeline and deployment live in the repository README.
Regenerating the mapping documentation¶
The Mappings page is generated from
sources/dataspot/transform.py and sources/dataspot/mappings.py:
uv run python scripts/gen_mapping_docs.py # refresh docs/mappings.md
uv run python scripts/gen_mapping_docs.py --check # CI: fail if out of date
CI runs the --check form, so a mapping change that is not accompanied by a
regenerated page fails the build.