Airflow plugin that emits OpenLineage events for automated incident correlation
Project description
🔗 airflow-correlator
Accelerate Airflow incident resolution with automated correlation
What It Does
Automatically connects Airflow task executions to incident correlation:
- Emits OpenLineage events for task lifecycle (START/COMPLETE/FAIL)
- Links task failures to upstream data quality issues
- Provides direct navigation from incident to root cause
- Works with your existing OpenLineage infrastructure
Quick Start
# Install
pip install correlator-airflow
# Configure endpoint
export CORRELATOR_ENDPOINT=http://localhost:8080/api/v1/lineage/events
# Enable in Airflow (see Configuration docs)
That's it. Your Airflow task executions are now being correlated.
How It Works
airflow-correlator hooks into Airflow's task lifecycle and emits OpenLineage events:
- Task Starts - Emits START event with task metadata
- Task Completes - Emits COMPLETE event with execution details
- Task Fails - Emits FAIL event with error information
Events are sent to Correlator (or any OpenLineage-compatible backend) for correlation with dbt tests, Great Expectations validations, and other data quality signals.
See Architecture for technical details.
Why It Matters
The Problem: When data pipelines fail, teams spend significant time manually hunting through Airflow logs, lineage graphs, and job histories to find the root cause.
What You Get: Automated correlation between Airflow task executions and data quality test results, putting you in control of incidents instead of reacting to them.
Key Benefits:
- Faster incident resolution: Automated correlation reduces investigation time
- Eliminate tool switching: One correlation view instead of navigating multiple dashboards
- Instant root cause: Direct path from task failure to problematic upstream job
- Zero-friction setup: Simple configuration, no code changes required
Built on Standards: Uses OpenLineage, the industry standard for data lineage. No vendor lock-in, no proprietary formats.
Current Status
Note: This is a skeleton release (v0.0.0) for pipeline testing and PyPI name reservation. All functionality returns placeholder messages. Full implementation coming soon.
Versioning
This package follows Semantic Versioning with the following guidelines:
-
0.x.y versions (e.g., 0.1.0, 0.2.0) indicate initial development phase:
- The API is not yet stable and may change between minor versions
- Features may be added, modified, or removed without major version changes
- Not recommended for production-critical systems without pinned versions
-
1.0.0 and above will indicate a stable API with semantic versioning guarantees:
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
The current version is in early development stage, so expect possible API changes until the 1.0.0 release.
Documentation
For detailed usage, configuration, and development:
- Configuration: docs/CONFIGURATION.md - All CLI options, config file, environment variables
- Architecture: docs/ARCHITECTURE.md - Internal design, data flow, OpenLineage events
- Development: docs/DEVELOPMENT.md - Development setup, testing, local environment
- Contributing: docs/CONTRIBUTING.md - Contribution guidelines, branch naming, commit format
- Deployment: docs/DEPLOYMENT.md - Release process, versioning, PyPI publishing
Requirements
- Python 3.9+
- Apache Airflow 2.7+ (with native OpenLineage support)
- Correlator
Airflow Compatibility:
- Tested with Airflow 2.7+
- Uses Airflow's ListenerPlugin interface
Links
- Correlator: https://github.com/correlator-io/correlator
- dbt Plugin: https://github.com/correlator-io/correlator-dbt
- OpenLineage: https://openlineage.io/
- Issues: https://github.com/correlator-io/correlator-airflow/issues
- Discussions: https://github.com/correlator-io/correlator/discussions
License
Apache 2.0 - See LICENSE for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file correlator_airflow-0.0.1.tar.gz.
File metadata
- Download URL: correlator_airflow-0.0.1.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
775345c110250f2bdb9a3bc8a2dcc7c6cfee80a00e80d77f1cb508032bf736a9
|
|
| MD5 |
28455698db2fe8c642d4833b9b611075
|
|
| BLAKE2b-256 |
5d496d60b06dc0bdc74ea9c6417a13a5436c95b51f3e781ad44074c701bd45a9
|
File details
Details for the file correlator_airflow-0.0.1-py3-none-any.whl.
File metadata
- Download URL: correlator_airflow-0.0.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c48afac9c662dbf235dac0c042ec0eaa1d3120acb9140c6096f5324c8651770a
|
|
| MD5 |
e5b7a2e8bf02af4138be02b20971b4bc
|
|
| BLAKE2b-256 |
f29d0aad3d5b83affcbd812fc08cb159160671c3a0b5871dd89a09030dab4fe5
|