Skip to content

riolties/data-contracts-lhm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

data-contracts-lhm

Hackathon-Blueprint: Data Contracts & Data Products als Code für die Landeshauptstadt München (Data Mesh). Zeigt den kompletten Lebenszyklus eines Datenprodukts — von der Quelle über automatisch abgeleitete ODCS-v3-Contracts, Ingestion (dlt) + Transformation (dbt), Quality Gate und Freigabe bis CKAN-Katalog — portierbar auf GitLab + ServiceNow.

Status: lauffähig end-to-end. Profiler, Contract-Generierung, dlt→dbt-Pipeline, Quality-Gate, Validierung und CKAN-Publish laufen vollständig in GitHub Actions; Demo via streamlit run demo/sn_mock.py.

Dokumentation

Repo-Struktur

domains/<referat>/data-products/<produkt>/   # Datendomänen = Referate
  data-product.yaml                          # Quelle + Port-Topologie
  contracts/input|output/*.odcs.yaml         # ODCS-v3-Contracts pro Port
schemas/      odcs-v3.schema.json · intake.schema.json · lhm-rules.md
scripts/      profile_source · intake_to_odcs · validate_odcs · run_quality · ckan_publish · render_catalog · apply_access
pipeline/     ingest/ (dlt) · dbt/ (dbt-duckdb)
intake/       servicenow-catalog-item.md · intake.example.json
ckan/         docker-compose.yml (lokale CKAN)
data/         CSV-Sample (Demo-Quelle)
.github/      ISSUE_TEMPLATE/ · workflows/

Quickstart (lokal)

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Schema aus den Daten ableiten (Workstream A)
python scripts/profile_source.py --source data/sample_radverkehr_tageswerte_2025_01.csv

# Contract gegen ODCS + LHM-Regeln validieren (Workstream B/C)
python scripts/validate_odcs.py "domains/**/contracts/**/*.odcs.yaml"

# Pipeline + Quality (Workstream C)
python pipeline/ingest/load_csv.py
cd pipeline/dbt && dbt build   # dbt-duckdb

Beispiel-Datenprodukt

Mobilitätsreferat / radverkehr auf Basis der offenen Raddauerzählstellen München (Lizenz dl-by-de/2.0). Sample unter data/.

Workstreams

  • A — Domänen, Contracts & Profiler · B — Intake, Freigabe, Validierung & Katalog · C — Data Pipeline & Quality + Output Port. Siehe Issues.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages