DataHub Prefect plugin — automatically capture flow lineage and run metadata from Prefect workflows into your DataHub catalog
Project description
DataHub Prefect Plugin
Automatic lineage and run metadata from Prefect into DataHub — captures flow structure, task inputs/outputs, and run history with minimal setup.
What you can do
- Emit flow and task metadata to DataHub as pipeline runs
- Capture dataset lineage — declare inputs and outputs per task and see them in DataHub
- Configure via Prefect blocks — store your DataHub connection settings as a reusable block
- Works with any DataHub deployment — self-hosted or DataHub Cloud
Installation
pip install prefect-datahub
Quickstart
1. Save your DataHub connection as a Prefect block
from prefect_datahub.datahub_emitter import DatahubEmitter
DatahubEmitter(
datahub_rest_url="http://localhost:8080",
env="PROD",
).save("my-datahub")
2. Use it in your flows
from prefect import flow, task
from prefect_datahub.datahub_emitter import DatahubEmitter
from prefect_datahub.entities import Dataset
emitter = DatahubEmitter.load("my-datahub")
@task
def transform(data, emitter):
emitter.add_task(
inputs=[Dataset("snowflake", "mydb.schema.source_table")],
outputs=[Dataset("snowflake", "mydb.schema.output_table")],
)
return data
@flow
def my_pipeline():
data = extract()
transform(data, emitter)
emitter.emit_flow() # required — emits all metadata at the end
Configuration options
| Option | Default | Description |
|---|---|---|
datahub_rest_url |
http://localhost:8080 |
DataHub GMS URL |
env |
PROD |
Environment tag for assets |
platform_instance |
None |
Platform instance for assets |
token |
None |
Auth token (if GMS auth is enabled) |
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
prefect_datahub-1.6.0.11.tar.gz
(13.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prefect_datahub-1.6.0.11.tar.gz.
File metadata
- Download URL: prefect_datahub-1.6.0.11.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22fbb38ef959a32b1d008196404c6f7a282cd58cab0f29efa5b14d5c9a5714f2
|
|
| MD5 |
f2937969241a994530304a1b090dcfc2
|
|
| BLAKE2b-256 |
8e28007e7c379ca7c4a1f3c7b599513d2b03d0e343ae1d9194e3aaf03a52b23c
|
File details
Details for the file prefect_datahub-1.6.0.11-py3-none-any.whl.
File metadata
- Download URL: prefect_datahub-1.6.0.11-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2d40f5517ccb8d29e69ef81dc6ec02d54637f37364f3a1d3c92f69291a3af5e
|
|
| MD5 |
d03030af95b0711f470e8526903143cc
|
|
| BLAKE2b-256 |
507daa41ae26aec8bf8dd9e6c36f1810712238c860fc4f8b4f207f8b6f60fa53
|