Catalog PyPI
Back to packageRELEASE DETAILS

1.7.0.14

PyPI

acryl-datahub-dagster-plugin

DataHub Dagster plugin — automatically capture asset lineage, run history, and job metadata from Dagster pipelines

Published29 Sept 2026
Direct dependencies34
Transitive dependenciesNot calculated

README

Version 1.7.0.14 documentation

DataHub Dagster Plugin

Automatic lineage and run metadata from Dagster into DataHub — captures asset definitions, job runs, and dataset-level lineage with no manual instrumentation.

What you can do

  • Capture asset lineage — automatically extract upstream/downstream relationships between Dagster assets and external datasets
  • Track run history — record job execution status and task-level outcomes in DataHub
  • Map Dagster assets to DataHub entities — assets appear as datasets in your DataHub catalog
  • Works with any DataHub deployment — self-hosted or DataHub Cloud

Installation

pip install acryl-datahub-dagster-plugin

Quickstart

Add the DataHub sensor to your Dagster project:

from datahub.ingestion.graph.config import DatahubClientConfig
from datahub_dagster_plugin.sensors.datahub_sensors import (
    DatahubDagsterSourceConfig,
    make_datahub_sensor,
)

config = DatahubDagsterSourceConfig(
    datahub_client_config=DatahubClientConfig(server="http://localhost:8080"),
    dagster_url="http://localhost:3000",
)
datahub_sensor = make_datahub_sensor(config=config)

Register it alongside your jobs and assets in your Definitions:

from dagster import Definitions

defs = Definitions(
    assets=[...],
    jobs=[...],
    sensors=[datahub_sensor],
)

Once the sensor is running, every job run will emit lineage and status metadata to DataHub automatically.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 71

Native requirements
34 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
dagster
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster>=1.10.0runtime
acryl-datahub
Environment
{
  "extras": "datahub-rest,sql-parser",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
acryl-datahub[datahub-rest,sql-parser]==1.7.0.14runtime
dagit
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagit>=1.10.0runtime
freezegun
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
freezegun; extra == "dev"runtime
types-PyYAML
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-PyYAML; extra == "dev"runtime
tox
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
tox; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=6.2.2; extra == "dev"runtime
types-pytz
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-pytz; extra == "dev"runtime
deepdiff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
deepdiff<9.0.0,>=8.6.2; extra == "dev"runtime
acryl-datahub
Environment
{
  "extras": "datahub-rest,sql-parser",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
acryl-datahub[datahub-rest,sql-parser]==1.7.0.14; extra == "dev"runtime
dagit
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagit>=1.10.0; extra == "dev"runtime
types-toml
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-toml; extra == "dev"runtime
dagster-snowflake-pandas
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster-snowflake-pandas>=0.11.0; extra == "dev"runtime
requests-mock
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
requests-mock; extra == "dev"runtime
sqlalchemy-stubs
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
sqlalchemy-stubs; extra == "dev"runtime
build
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
build; extra == "dev"runtime
types-cachetools
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-cachetools; extra == "dev"runtime
packaging
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
packaging; extra == "dev"runtime
types-requests
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-requests; extra == "dev"runtime
types-six
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-six; extra == "dev"runtime
types-tabulate
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-tabulate; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
mypy==1.17.1; extra == "dev"runtime
coverage
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
coverage>=5.1; extra == "dev"runtime
types-python-dateutil
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-python-dateutil; extra == "dev"runtime
dagster-aws
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster-aws>=0.11.0; extra == "dev"runtime
types-dataclasses
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-dataclasses; extra == "dev"runtime
types-click
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-click==0.1.12; extra == "dev"runtime
jsonpickle
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
jsonpickle; extra == "dev"runtime
dagster
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster>=1.10.0; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.16.0; extra == "dev"runtime
types-freezegun
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-freezegun; extra == "dev"runtime
types-setuptools
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-setuptools; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff==0.15.22; extra == "dev"runtime
twine
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
twine; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=2.8.1; extra == "dev"runtime
pydantic
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic!=1.10.3,>=1.10.0; extra == "dev"runtime
dagster-snowflake
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster-snowflake>=0.11.0; extra == "dev"runtime
freezegun
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
freezegun; extra == "integration-tests"runtime
types-PyYAML
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-PyYAML; extra == "integration-tests"runtime
tox
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
tox; extra == "integration-tests"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=6.2.2; extra == "integration-tests"runtime
types-pytz
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-pytz; extra == "integration-tests"runtime
deepdiff
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
deepdiff<9.0.0,>=8.6.2; extra == "integration-tests"runtime
acryl-datahub
Environment
{
  "extras": "datahub-rest,sql-parser",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
acryl-datahub[datahub-rest,sql-parser]==1.7.0.14; extra == "integration-tests"runtime
dagit
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagit>=1.10.0; extra == "integration-tests"runtime
types-toml
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-toml; extra == "integration-tests"runtime
dagster-snowflake-pandas
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster-snowflake-pandas>=0.11.0; extra == "integration-tests"runtime
requests-mock
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
requests-mock; extra == "integration-tests"runtime
sqlalchemy-stubs
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
sqlalchemy-stubs; extra == "integration-tests"runtime
build
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
build; extra == "integration-tests"runtime
types-cachetools
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-cachetools; extra == "integration-tests"runtime
packaging
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
packaging; extra == "integration-tests"runtime
types-requests
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-requests; extra == "integration-tests"runtime
types-six
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-six; extra == "integration-tests"runtime
types-tabulate
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-tabulate; extra == "integration-tests"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
mypy==1.17.1; extra == "integration-tests"runtime
coverage
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
coverage>=5.1; extra == "integration-tests"runtime
types-python-dateutil
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-python-dateutil; extra == "integration-tests"runtime
dagster-aws
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster-aws>=0.11.0; extra == "integration-tests"runtime
types-dataclasses
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-dataclasses; extra == "integration-tests"runtime
types-click
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-click==0.1.12; extra == "integration-tests"runtime
jsonpickle
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
jsonpickle; extra == "integration-tests"runtime
dagster
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster>=1.10.0; extra == "integration-tests"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.16.0; extra == "integration-tests"runtime
types-freezegun
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-freezegun; extra == "integration-tests"runtime
types-setuptools
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
types-setuptools; extra == "integration-tests"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff==0.15.22; extra == "integration-tests"runtime
twine
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
twine; extra == "integration-tests"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=2.8.1; extra == "integration-tests"runtime
pydantic
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic!=1.10.3,>=1.10.0; extra == "integration-tests"runtime
dagster-snowflake
Environment
{
  "extras": "",
  "marker": "extra == \"integration-tests\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dagster-snowflake>=0.11.0; extra == "integration-tests"runtime

Distribution files

2 collected
acryl_datahub_dagster_plugin-1.7.0.14-py3-none-any.whl

bdist_wheel · 21.21 KB · Python py3

Source file
acryl_datahub_dagster_plugin-1.7.0.14.tar.gz

sdist · 20.67 KB · Python source

Source file

Repository

PENDING
acryldata/datahub

Shared repository data · GitHub

License detected in repository
Not collected

Repository

PENDING
datahub-project/datahub

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:27 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:da0231bbf1d52ff347c7d2c2b7333532a4dd35f79ef5aa9d1ff6a59614b2ed12

Other collected versions

View all collected versions →