Skip to main content

Acceldata OpenLineage

Custom OpenLineage extractors for Acceldata. Adds a dbtCloud run facet to DbtCloudRunJobOperator lineage events so ADOC can link Airflow tasks to dbt Cloud runs (InterPipelineRunLink).

By default, the extractor also delegates to Airflow's built-in dbt Cloud OpenLineage integration. If the Acceldata dbt Cloud Data Source connector already collects detailed dbt lineage, you can disable that delegation (see below).

Prerequisites

OpenLineage must already be enabled in Airflow, plus:

Component Notes
Apache Airflow 2.10+
apache-airflow-providers-openlineage Custom extractors
apache-airflow-providers-dbt-cloud DbtCloudRunJobOperator

Install

Install on workers, scheduler, and triggerer (if used):

pip install acceldata-openlineage==1.1.0

Restart Airflow processes after install.

Setup

1. Register the extractor

Append to existing extractors (semicolon-separated); do not replace the full list unless intended:

# airflow.cfg
[openlineage]
extractors = acceldata_openlineage.extractors.dbt.dbt_cloud.DbtCloudRunJobOperatorExtractor

Or via environment variable:

AIRFLOW__OPENLINEAGE__EXTRACTORS=acceldata_openlineage.extractors.dbt.dbt_cloud.DbtCloudRunJobOperatorExtractor

Composer: add the package under PyPI packages, set AIRFLOW__OPENLINEAGE__EXTRACTORS under Environment variables, then apply the environment update.

2. dbt Cloud connection

Field Value
Conn Id Same as dbt_cloud_conn_id (default: dbt_cloud_default)
Login dbt Cloud Account ID
Password dbt Cloud API token

If account_id is unset on the operator, dbtCloudAccountId is taken from the connection login.

3. Verify

Run a DbtCloudRunJobOperator task and check logs for Attached dbtCloud facet. On COMPLETE / FAIL the facet should include dbtCloudRunId, dbtCloudJobId, and dbtCloudAccountId.

Built-in dbt artifact extraction (optional)

1.1.0+. The setting dbt_cloud_lineage_extraction_enabled controls whether the extractor delegates to Airflow's built-in dbt Cloud OpenLineage methods (get_openlineage_facets_on_*).

Value Behavior
true (default) Built-in extraction runs (same as prior releases).
false Built-in extraction is skipped. Task-level events and the dbtCloud facet are still emitted.

Set to false when the Acceldata dbt Cloud Data Source connector already collects model/test/dataset lineage in ADOC and you only need orchestration lineage plus the dbtCloud linking facet from Airflow.

[openlineage]
dbt_cloud_lineage_extraction_enabled = false
AIRFLOW__OPENLINEAGE__DBT_CLOUD_LINEAGE_EXTRACTION_ENABLED=false

Restart scheduler and workers after changing this.

Note: built-in extraction also requires wait_for_termination=True on the operator. With wait_for_termination=False, artifact extraction is already a no-op regardless of this flag.

dbtCloud facet

Field Source
dbtCloudRunId operator.run_id
dbtCloudJobId operator.job_id
dbtCloudAccountId operator.account_id, or connection login

Present on COMPLETE / FAIL once run_id is set (START only if the run was reused).

Troubleshooting

  • No facet — confirm the extractor path in config, package on the worker, and task reached COMPLETE / FAIL with a run_id.
  • Missing dbtCloudAccountId — set account_id on the operator or Account ID in the connection login.
  • Flag has no effect — set wait_for_termination=True to test; with False, built-in extraction never runs anyway.
  • Duplicate lineage or upstream errors (KeyError: 'host', catalog.json 404) — set dbt_cloud_lineage_extraction_enabled = false.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acceldata_openlineage-1.1.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

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

acceldata_openlineage-1.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file acceldata_openlineage-1.1.0.tar.gz.

File metadata

  • Download URL: acceldata_openlineage-1.1.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for acceldata_openlineage-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8beff5b9f37e08d2e901da4180e3af91e8c0faf3784cde3c1e625cbb66697b87
MD5 dcdcf4b9a03e818623da00476419b10c
BLAKE2b-256 9c11c1cdba1701e69c78bb00563a9d22aba30fe94d6622e9acd050cde30f20b6

See more details on using hashes here.

File details

Details for the file acceldata_openlineage-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for acceldata_openlineage-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f7a9bb99ceb53fe4eb028b83603d6720758da148244706ff7490551ffe86b13
MD5 8076482110214dde4685594589599401
BLAKE2b-256 e8389423d957df55004b547b5dfd277ff03c1a5dd6842b16ee4538547aeb45ea

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.0

2 files

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