Skip to main content

DataHub ingestion framework and CLI — connect, extract, and push metadata from 50+ data sources into your DataHub catalog

Project description

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 Ingestion → Create new 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

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

acryl_datahub-1.6.0.13rc1.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

acryl_datahub-1.6.0.13rc1-py3-none-any.whl (4.7 MB view details)

Uploaded Python 3

File details

Details for the file acryl_datahub-1.6.0.13rc1.tar.gz.

File metadata

  • Download URL: acryl_datahub-1.6.0.13rc1.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for acryl_datahub-1.6.0.13rc1.tar.gz
Algorithm Hash digest
SHA256 b735f857ffb4e6bf27242b78adf23cd12a8bf796d8616814f3de4f50992f5735
MD5 cb6215f8f0f7a1e9beba882278f120cf
BLAKE2b-256 3da32d6878d4f3f239a3ef7d0b533dbc6acd1ea65cc11a37a018ba0d0ecadda3

See more details on using hashes here.

File details

Details for the file acryl_datahub-1.6.0.13rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for acryl_datahub-1.6.0.13rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 e55499b379a1c67147b6ed00cdd6937c2f827560d4630e0d062a4fb51fec1bd0
MD5 50c82fd0102423e2b1e0851c1fda4110
BLAKE2b-256 26e724afbe134e99b15aec87b363b3ecd00f5795842f01606ac9d2e148d8692e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page