Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

DataHub SDK and CLI

DataHub's ingestion framework and CLI — pull metadata from 50+ data sources into your catalog, or push it programmatically from your own pipelines and applications.

Pull-based integrations crawl your data systems on a schedule: Snowflake, BigQuery, dbt, Looker, Airflow, and many more.

Push-based integrations let you emit metadata directly from code as it happens: Python SDK, Java SDK, Spark, Great Expectations, and others.

What you can do

  • Pull metadata from databases, warehouses, BI tools, and orchestrators using 50+ ready-made connectors
  • Push metadata programmatically using the Python or Java SDK
  • Transform and filter metadata in transit using built-in transformers
  • Schedule and manage ingestion pipelines via CLI or the DataHub UI
  • Automate lineage, ownership, tags, and documentation across your data assets

Supported sources

Snowflake · BigQuery · Redshift · dbt · Databricks · Looker · Tableau · Power BI · Airflow · Spark · Kafka · PostgreSQL · MySQL · Hive · Glue · S3 · Iceberg · Unity Catalog · Sigma · Mode · Superset · Metabase · and many more

Installation

pip install acryl-datahub
datahub version

Quickstart

Pull metadata from a source (recipe)

# snowflake_recipe.yml
source:
  type: snowflake
  config:
    account_id: my_account
    username: my_user
    password: my_password
    role: DATAHUB_ROLE
    warehouse: COMPUTE_WH

sink:
  type: datahub-rest
  config:
    server: http://localhost:8080
datahub ingest -c snowflake_recipe.yml

Emit metadata from code (SDK)

from datahub.sdk import DataHubClient, Dataset

client = DataHubClient.from_env()

dataset = Dataset(platform="snowflake", name="mydb.schema.table")
dataset.set_description("My table description")
dataset.set_owners(["urn:li:corpuser:jane"])

client.entities.upsert(dataset)

Ingest via the DataHub UI

No CLI required — configure and run ingestion directly from the DataHub UI under Data Sources → Create Source.

Ingestion methods

Method Best for
CLI + YAML recipe Scheduled batch ingestion, CI/CD pipelines
Python SDK Programmatic or event-driven metadata emission
Java SDK JVM-based integrations (Spark, Flink, etc.)
UI Ingestion One-click setup, no code required

Key CLI commands

datahub init                          # Connect to a DataHub instance (interactive)
datahub init --username datahub --password datahub  # Quickstart with local defaults
datahub ingest -c recipe.yml          # Run an ingestion pipeline
datahub search "my table"             # Search for entities by keyword
datahub search "*" --filter platform=snowflake --filter entity_type=dataset
datahub graphql --list-operations     # Explore all available GraphQL operations
datahub graphql --query "{ me { corpUser { urn } } }"  # Run a GraphQL query
datahub get --urn <urn>               # Fetch metadata for an entity
datahub delete --urn <urn>            # Delete a metadata entity
datahub timeline --urn <urn>          # View metadata change history

Metadata

Release files for acryl-datahub 1.7.0.20rc5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acryl-datahub 1.7.0.20rc5
File Size Uploaded Provenance Actions
acryl_datahub-1.7.0.20rc5.tar.gz 5.7 MB Without provenance Details for acryl_datahub-1.7.0.20rc5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for acryl-datahub 1.7.0.20rc5
File Interpreter ABI Platform Actions
acryl_datahub-1.7.0.20rc5-py3-none-any.whl Python 3 none any Details for acryl_datahub-1.7.0.20rc5-py3-none-any.whl

Total release size: 12.4 MB

Release files / acryl_datahub-1.7.0.20rc5.tar.gz

Download URL acryl_datahub-1.7.0.20rc5.tar.gz
Size 5.7 MB
Tags Source
SHA-256 checksum
How to use checksums
01f4d5104dfa74d61599f3f09b117fc77197e3c6e96335dccec99c9afbacf5e6
BLAKE2b-256 checksum
How to use checksums
9b8c6b7d0a12e62d0daf53ff384a91381291d3b63017f0f0fe8a029f83eaa937
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Release files / acryl_datahub-1.7.0.20rc5-py3-none-any.whl

Download URL acryl_datahub-1.7.0.20rc5-py3-none-any.whl
Size 6.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d2a7a24fc7238226c665a98bd5c3bbb3d316b9ee3dea42cccfcb9f1ca1bb838c
BLAKE2b-256 checksum
How to use checksums
630d139f010c75bfaa2e332e03dcfbe8f94c68e6e31da0116044f2bac28885dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Security for acryl-datahub 1.7.0.20rc5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page