Skip to main content

Airflow plugin that emits OpenLineage events for automated incident correlation

Project description

🔗 airflow-correlator

Accelerate Airflow incident resolution with automated correlation

PyPI version codecov Python Version License


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:

  1. Task Starts - Emits START event with task metadata
  2. Task Completes - Emits COMPLETE event with execution details
  3. 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:


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


License

Apache 2.0 - See LICENSE for details.

Project details


Download files

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

Source Distribution

correlator_airflow-0.0.1.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

correlator_airflow-0.0.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

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

Hashes for correlator_airflow-0.0.1.tar.gz
Algorithm Hash digest
SHA256 775345c110250f2bdb9a3bc8a2dcc7c6cfee80a00e80d77f1cb508032bf736a9
MD5 28455698db2fe8c642d4833b9b611075
BLAKE2b-256 5d496d60b06dc0bdc74ea9c6417a13a5436c95b51f3e781ad44074c701bd45a9

See more details on using hashes here.

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

Hashes for correlator_airflow-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c48afac9c662dbf235dac0c042ec0eaa1d3120acb9140c6096f5324c8651770a
MD5 e5b7a2e8bf02af4138be02b20971b4bc
BLAKE2b-256 f29d0aad3d5b83affcbd812fc08cb159160671c3a0b5871dd89a09030dab4fe5

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