dbt plugin that emits OpenLineage events with test results for automated incident correlation
Project description
🔗 dbt-correlator
Accelerate dbt incident resolution with automated correlation
What It Does
Eliminates manual detective work when dbt tests fail:
- Automatically links test failures to the job runs that caused them
- Provides direct navigation from incident to root cause
- Eliminates context switching across multiple tools
- Works with your existing OpenLineage infrastructure
Quick Start
# Install
pip install correlator-dbt
# Configure endpoint
export CORRELATOR_ENDPOINT=http://localhost:8080/api/v1/lineage/events
# Run dbt tests with correlation
cd your-dbt-project
dbt-correlator test
# Or run dbt models with lineage tracking
dbt-correlator run
# Or run dbt build (models + tests combined)
dbt-correlator build
That's it. Your test results and lineage are now being correlated.
How It Works
dbt-correlator wraps dbt commands and emits OpenLineage events with lineage and test results:
- START - Emits job start event
- Execute - Runs
dbt test,dbt run, ordbt build - Parse - Extracts results from dbt artifacts
- Emit - Sends lineage + test events in single batch HTTP POST
- COMPLETE/FAIL - Emits job completion event
See Architecture for technical details.
Why It Matters
The Problem: When dbt tests fail, teams spend significant time manually hunting through logs, lineage graphs, and job histories to find the root cause.
What You Get:
Stop the manual detective work. dbt-correlator automatically connects your dbt test failures to their root cause,
putting you in control of incidents instead of reacting to them.
Key Benefits:
- Faster incident resolution: Automated correlation reduces time spent investigating
- Eliminate tool switching: One correlation view instead of navigating multiple dashboards
- Instant root cause: Direct path from test failure to problematic job run
- Zero-friction setup: Add one command after
dbt test
Built on Standards: Uses OpenLineage, the industry standard for data lineage. No vendor lock-in, no proprietary formats.
What Makes This Different:
dbt-correlator is purpose-built for incident correlation, not just lineage tracking. It's optimized for faster execution and designed to grow with your dbt workflows as your needs evolve.
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+
- dbt-core 1.0+ (tested with dbt 1.10+)
- Correlator
dbt Artifact Compatibility:
- run_results.json: Schema v5+ (dbt 1.0+)
- manifest.json: Schema v11+ (dbt 1.5+)
Links
- Correlator: https://github.com/correlator-io/correlator
- OpenLineage: https://openlineage.io/
- Issues: https://github.com/correlator-io/correlator-dbt/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_dbt-0.1.0.tar.gz.
File metadata
- Download URL: correlator_dbt-0.1.0.tar.gz
- Upload date:
- Size: 185.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","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 |
8a1c77d7fb643d03ccc0afe88565370fab04057d65ed7b6decfe6ebc32dc0c7b
|
|
| MD5 |
25b68244ea1704bd35dc40f6eadcea2a
|
|
| BLAKE2b-256 |
e23ec4fde94b4b29f8846b3de366f97a1ee47fa0de92ae1fff3fa22c20d925e2
|
File details
Details for the file correlator_dbt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: correlator_dbt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","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 |
5593b0ff5925c9521a7cada9dd760157fc2ca00ec201beb68483e6c6c11b8988
|
|
| MD5 |
66b5fca2233cd9f94197b546ba2e77ca
|
|
| BLAKE2b-256 |
cdf9fb9a5930f468168a4b29f717aa115d89d0efbacb7dcc4eef245694bc8b01
|