openlineage-airflow
OpenLineage integration with Airflow
What it is and what it does
OpenLineage Airflow is a library that hooks into Apache Airflow to automatically capture task lineage, inputs, outputs, and execution metadata, then emits that data to an OpenLineage-compatible backend (such as Marquez). It provides built-in extractors for common operators (SQL databases, cloud services, dbt, SageMaker, and others) and allows custom extractors for operators you own. The package automatically registers itself in Airflow 2.3+ and collects metadata on task start and completion, including task parameters, execution time, state, and linked code versions.
However, this package is no longer maintained. The description explicitly states it will receive no bug fixes, security updates, or new features. For Airflow 2.7 and later, the native apache-airflow-providers-openlineage package is the official replacement and is actively developed. This package is only suitable for Airflow versions prior to 2.7 and should not be used with Airflow 2.8 or later.
Use it for:
- Track data lineage across Airflow DAGs running on Airflow 2.3–2.6 to understand inter-DAG dependencies and data flow.
- Automatically capture SQL task inputs and outputs from PostgreSQL, MySQL, Snowflake, BigQuery, and other SQL operators without manual configuration.
- Emit task metadata and execution events to a Marquez or OpenLineage-compatible metadata store for governance and data discovery.
- Link Airflow task runs to versioned code (e.g., GitHub) to correlate lineage with code changes.
- Extract metadata from custom Airflow operators by implementing get_openlineage_facets_on_start() or get_openlineage_facets_on_complete() methods.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Integrates Apache Airflow DAGs with OpenLineage to automatically collect and emit task lineage, metadata, and data provenance events.
No. This package is explicitly unmaintained and deprecated for all current Airflow versions. For Airflow 2.7+, use apache-airflow-providers-openlineage instead. For Airflow 2.1–2.6, it remains functional but will not receive security updates or bug fixes. Only install if you are locked into an older Airflow version with no path to upgrade and accept the risk of running unsupported code.
Install
openlineage-airflow on PyPI
pip
pip install openlineage-airflowuv
uv add openlineage-airflowpoetry
poetry add openlineage-airflowInstalling openlineage-airflow
Before you install
Low install friction with four runtime dependencies. Package is no longer maintained and explicitly deprecated for Airflow 2.7+; the description states it will receive no bug fixes, security updates, or new features. Active repository status reflects historical maintenance only.
License in practice
Licensed under Apache-2.0 (permissive), allowing use, modification, and distribution with minimal restrictions. No licensing barrier to adoption, though the package's unmaintained status is the primary concern.
Quickstart
pip install openlineage-airflow
import openlineage.lineage_backend
# Set AIRFLOW__LINEAGE__BACKEND=openlineage.lineage_backend.OpenLineageBackend
# Configure OPENLINEAGE_URL and optional OPENLINEAGE_API_KEY environment variables
Requires Airflow >= 2.1, < 2.8. For Airflow 2.7+, must use apache-airflow-providers-openlineage instead. Requires Python >= 3.9.
Verify before relying
- Whether existing Airflow 2.3–2.6 deployments using this package will continue to function without maintenance or security patches.
- Compatibility of bundled extractors (PostgresOperator, BigQueryOperator, etc.) with current operator implementations across Airflow versions.
- Whether custom extractors registered via OPENLINEAGE_EXTRACTORS will continue to work as Airflow evolves.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — attrs, openlineage-integration-common, openlineage-sql, openlineage-python |
| Maintenance | actively maintained — 246 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,728,109/month — #2,514 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openlineage_airflow-1.41.0-py3-none-any.whl
Keywords: openlineage
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
acryl-datahub-airflow-pluginAutomatically captures pipeline lineage, task…
permissive · top 15,000 on PyPI
apache-airflow-providers-openlineageIntegrates Apache Airflow with OpenLineage to…
permissive · top 5,000 on PyPI
mwaa-drGenerates backup, restore, and cleanup DAGs for…
unclear · top 15,000 on PyPI
openlineage-sqlProvides a Python interface to a Rust-based SQL…
unclear · top 5,000 on PyPI
openlineage-dbtAutomatically collects and sends dbt run…
unclear · top 15,000 on PyPI
openlineage-pythonPython client library for OpenLineage that…
permissive · top 1,000 on PyPI
openlineage-integration-commonProvides common Python utilities and data…
permissive · top 5,000 on PyPI
airflow-exporterExposes Airflow DAG and task metrics to…
permissive · top 15,000 on PyPI
apache-airflow-providers-gitIntegrates Git version control operations into…
permissive · top 15,000 on PyPI
apache-airflow-providers-snowflakeIntegrates Apache Airflow with Snowflake,…
permissive · top 1,000 on PyPI