openlineage-python
OpenLineage Python Client
Decision gist · record as of 2026-08-14
Yes, if you are already using or planning to adopt OpenLineage for data lineage tracking. The client is actively maintained, has low install friction, carries a permissive license, and integrates cleanly with standard Python HTTP and serialization libraries. No known vulnerabilities. Install only if you have an OpenLineage server endpoint to emit to; the client alone does not provide lineage storage or visualization.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- An OpenLineage server endpoint must be available to emit lineage to.
- Low install friction with six common runtime dependencies (attrs, python-dateutil, pyyaml, requests, httpx, packaging).
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions—suitable for most projects.
last release 2026-07-23 (22 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 26,556,250 downloads/mo, #877 on PyPI
Alternatives
Verify before relying
pip install openlineage-python
from openlineage.client import OpenLineageClient
client = OpenLineageClient(url="http://localhost")- Specific OpenLineage API version compatibility and supported server versions
- Whether the client handles authentication (API keys, OAuth, etc.) and what methods are available
- Performance characteristics when emitting large lineage graphs or high-frequency events
What it is and what it does
The OpenLineage Python Client is a library for applications to report data lineage events to an OpenLineage-compatible server. It abstracts the details of constructing and sending lineage metadata, allowing data pipelines, ETL tools, and analytics platforms to integrate lineage tracking without building HTTP clients from scratch. The package depends on standard HTTP libraries (requests, httpx) and serialization tools (pyyaml, attrs, python-dateutil, packaging) to handle event construction and transmission.
Typical use involves instantiating a client with a server URL, then calling methods to emit lineage events as your data processes run. The client handles the protocol details, allowing you to focus on describing what data moved where and how it was transformed. It's designed for integration into existing Python applications rather than as a standalone tool.
Use it for
- Emit lineage events from data pipeline DAGs to track data dependencies across tasks
- Report data transformations from processing jobs to a centralized lineage server
- Integrate lineage tracking into custom Python ETL scripts without building HTTP clients
- Connect transformation tools to OpenLineage for end-to-end pipeline visibility
- Build lineage-aware data quality or governance tools that report to OpenLineage
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using or planning to adopt OpenLineage for data lineage tracking.
The client is actively maintained, has low install friction, carries a permissive license, and integrates cleanly with standard Python HTTP and serialization libraries. No known vulnerabilities. Install only if you have an OpenLineage server endpoint to emit to; the client alone does not provide lineage storage or visualization.
Install
openlineage-python on PyPI
Before you install
Low install friction with six common runtime dependencies (attrs, python-dateutil, pyyaml, requests, httpx, packaging). Active maintenance with a release 22 days ago. Requires Python 3.10 or later.
Requires Python 3.10 or later. An OpenLineage server endpoint must be available to emit lineage to.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install openlineage-python
from openlineage.client import OpenLineageClient
client = OpenLineageClient(url="http://localhost")
Verify before relying
- Specific OpenLineage API version compatibility and supported server versions
- Whether the client handles authentication (API keys, OAuth, etc.) and what methods are available
- Performance characteristics when emitting large lineage graphs or high-frequency events
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesattrspython-dateutilpyyamlrequestshttpxpackaging |
| Maintenance | Actively maintained 22 days since the last release |
| First released | |
| Downloads | 26,556,250 / month, #877 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: openlineage_python-1.52.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “openlineage python client”
- openlineage-pythonPython client library for OpenLineage that enables applications to…
- openlineage-integration-commonProvides common Python utilities and data models for OpenLineage…
- openlineage-dbtAutomatically collects and sends dbt run metadata—model lifecycle,…
Give your agent the search over MCP, or paste the wish link into any chat.
Similar packages
Integrates Apache Airflow with OpenLineage to collect and emit data lineage metadata from Airflow workflows, enabling tracking of data flow and dependencies across your data pipeline.
Install it if you run Airflow and need to emit lineage metadata to OpenLineage—it integrates cleanly with standard Airflow deployments and carries a permissive license.
Provides a Python interface to a Rust-based SQL parser for extracting data lineage information compatible with the OpenLineage standard.
However, verify the license terms first (currently unclear in metadata) and confirm it integrates with your broader lineage platform—it is a library component, not a…
Automatically collects and sends dbt run metadata—model lifecycle, inputs, and outputs—to an OpenLineage backend for data lineage tracking.
The main gotcha is the unclear license metadata—verify the Apache-2.0 claim before use in restricted contexts—and ensure your dbt adapter is in the supported list.
Provides common Python utilities and data models for OpenLineage integrations, enabling consistent metadata and lineage collection across data platforms and jobs.
Install only if you need to work with OpenLineage integration code; it is a library for integration developers rather than a general-purpose tool.
Integrates Apache Airflow DAGs with OpenLineage to automatically collect and emit task lineage, metadata, and data provenance events.
Python client library for Google Cloud Data Lineage API, enabling programmatic tracking and visualization of data flow, transformations, and lifecycle across cloud data systems.
Install only if your project requires Data Lineage API access and you can meet the Python 3.10+ requirement.
See also sqllineage · dbt-colibri · collate-sqllineage · openinference-instrumentation-openai