{"id":23030,"library":"acryl-datahub-dagster-plugin","title":"Acryl DataHub Dagster Plugin","description":"A Dagster plugin that captures pipeline execution metadata and sends it to DataHub for data lineage and observability. Current version: 1.5.0.17. Requires Python >=3.10. Released as part of the DataHub project.","status":"active","version":"1.5.0.17","language":"python","source_language":"en","source_url":"https://github.com/datahub-project/datahub","tags":["dagster","datahub","data-lineage","metadata","plugin"],"install":[{"cmd":"pip install acryl-datahub-dagster-plugin","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"The plugin depends on the core datahub library for emitting metadata to DataHub.","package":"datahub","optional":false},{"reason":"Required for integrating with Dagster pipelines.","package":"dagster","optional":false},{"reason":"Often used for REST-based ingestion to DataHub.","package":"acryl-datahub-rest","optional":true}],"imports":[{"note":"The correct package name uses underscore, not hyphen. Also the module path is 'datahub_dagster_plugin' not 'acryl_datahub_dagster_plugin'.","wrong":"from acryl_datahub_dagster_plugin.hooks import DatahubDagsterHook","symbol":"DatahubDagsterHook","correct":"from datahub_dagster_plugin.hooks import DatahubDagsterHook"},{"note":"Same as above: use 'datahub_dagster_plugin' (underscore).","wrong":"from acryl_datahub_dagster_plugin.resources import DatahubDagsterResource","symbol":"DatahubDagsterResource","correct":"from datahub_dagster_plugin.resources import DatahubDagsterResource"},{"note":"The emitter is part of the 'datahub' package, not the plugin.","wrong":"","symbol":"datahub_emitter","correct":"from datahub.emitter.rest_emitter import DatahubRestEmitter"}],"quickstart":{"code":"import os\nfrom dagster import job, op, OpExecutionContext\nfrom datahub_dagster_plugin.resources import DatahubDagsterResource\nfrom datahub.emitter.rest_emitter import DatahubRestEmitter\n\n@op(required_resource_keys={'datahub'})\ndef my_op(context: OpExecutionContext):\n    context.log.info(\"Running op\")\n    return 1\n\n@job(resource_defs={\n    'datahub': DatahubDagsterResource(\n        emitter=DatahubRestEmitter(gms_server=os.environ.get('DATAHUB_GMS_HOST', 'http://localhost:8080'))\n    )\n})\ndef my_job():\n    my_op()\n\nif __name__ == '__main__':\n    result = my_job.execute_in_process()","lang":"python","description":"Define a simple Dagster job with a DatahubDagsterResource to emit metadata. Uses environment variable for GMS host."},"warnings":[{"fix":"Use 'from datahub_dagster_plugin.hooks import DatahubDagsterHook' (or .resources).","message":"The plugin uses underscore in the import path ('datahub_dagster_plugin') despite the PyPI name having hyphens ('acryl-datahub-dagster-plugin'). Many users mistakenly import from 'acryl_datahub_dagster_plugin'.","severity":"gotcha","affected_versions":"all"},{"fix":"Uninstall the old 'datahub-dagster-plugin' and install 'acryl-datahub-dagster-plugin'. Update imports from 'datahub_dagster_plugin' to 'acryl_datahub_dagster_plugin' (but note the actual module path is 'datahub_dagster_plugin' - check documentation).","message":"In version 1.0.0, the plugin was rewritten to use the new DataHub Python SDK (acryl-datahub). The old 'datahub-dagster-plugin' is deprecated and removed. Users must migrate to 'acryl-datahub-dagster-plugin' and update imports.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use 'pip install acryl-datahub-dagster-plugin' and update imports accordingly.","message":"The 'datahub-dagster-plugin' (without 'acryl-') is deprecated and no longer maintained. Users should switch to 'acryl-datahub-dagster-plugin'.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Change imports to use 'datahub_dagster_plugin' instead of 'acryl_datahub_dagster_plugin'.","cause":"Incorrect import path; the correct module name is 'datahub_dagster_plugin' (underscore).","error":"ModuleNotFoundError: No module named 'acryl_datahub_dagster_plugin'"},{"fix":"Run 'pip install acryl-datahub-dagster-plugin' and verify installation.","cause":"The plugin is not installed or the deprecated package is installed. Ensure you have installed 'acryl-datahub-dagster-plugin'.","error":"ModuleNotFoundError: No module named 'datahub_dagster_plugin'"},{"fix":"Use: 'from datahub_dagster_plugin.resources import DatahubDagsterResource'.","cause":"The class might be in a submodule. In recent versions, it is in 'datahub_dagster_plugin.resources'.","error":"ImportError: cannot import name 'DatahubDagsterResource' from 'datahub_dagster_plugin'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}