datahub-yaml-source
A standalone DataHub ingestion source plugin that reads a directory tree of declarative YAML "metadata as code" files and emits the DataHub entities they describe (platforms, tags, glossary, domains, containers, datasets with schema/lineage, data products, pipelines, pipeline run history, and data quality assertions).
See docs/sources/yaml/yaml.md for a narrative
introduction, docs/sources/yaml/reference.md
for a generated field-by-field reference of every kind, and
docs/sources/yaml/yaml_recipe.yml for an
example recipe. See _PLANNING.md for the architecture
decisions behind this connector.
A JSON Schema for the
document format (autocomplete/validation in VS Code, IntelliJ, ...) is also
generated from the Pydantic models -- see the "Editor autocomplete and
validation" section in yaml.md.
Both reference.md and the JSON Schema are generated from
src/datahub_yaml_source/models.py; regenerate them after changing a model:
uv run python scripts/generate_json_schema.py
uv run python scripts/generate_markdown_docs.py
Installation
pip install -e .
This registers the yaml source type with acryl-datahub via a
datahub.ingestion.source.plugins entry point. Verify it's picked up with:
datahub check plugins
Usage
datahub ingest -c docs/sources/yaml/yaml_recipe.yml
Development
Managed with uv:
uv sync --group dev --extra git --extra s3
uv run pytest tests/unit # unit tests
uv run pytest tests/integration # integration test against a curated fixture,
# golden-file checked
To regenerate the integration golden file after an intentional output change:
uv run pytest tests/integration/yaml_source/test_yaml_source_golden.py --update-golden-files
Metadata
Release files for datahub-yaml-source 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datahub_yaml_source-0.2.5.tar.gz | 315.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datahub_yaml_source-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 394.2 kB
Release files / datahub_yaml_source-0.2.5.tar.gz
| Download URL | datahub_yaml_source-0.2.5.tar.gz |
|---|---|
| Size | 315.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e292b85a75afe33122ae16340ffec8657a335e3c17377ca8adfe97112e98a9c
|
|
BLAKE2b-256 checksum How to use checksums |
c7e003c7dd3edd59157fa9ad4543d134aa63803c7954d0c737d01cbfe993f29c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / datahub_yaml_source-0.2.5-py3-none-any.whl
| Download URL | datahub_yaml_source-0.2.5-py3-none-any.whl |
|---|---|
| Size | 78.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
271fa196bf882d395d580f22a836a70f8da0d85b78cc8f9c464071b18c32b90b
|
|
BLAKE2b-256 checksum How to use checksums |
471b583c86d1efda2d3767d83ecc2d88207dfa0befa23db80d4af141ac0da618
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency log