elementary-data
Data monitoring and lineage
What it is and what it does
Elementary OSS is a command-line tool that integrates with dbt to provide data observability across your warehouse. It works alongside the Elementary dbt package to collect metadata, test results, and performance metrics from your dbt runs, then synthesizes them into a unified observability report. The tool can detect anomalies in data quality, surface failed tests, track model performance trends, and send actionable alerts to Slack or Microsoft Teams.
The package depends on dbt-core and a range of cloud storage and notification libraries (boto3, azure-storage-blob, google-cloud-storage, slack-sdk, pymsteams) to connect to your warehouse and communicate findings. It's designed for analytics engineering teams that want to monitor data reliability without building custom observability infrastructure, though the OSS version is more limited than the commercial Elementary Cloud offering.
Use it for:
- Monitor dbt test results in real time and alert teams to failures via Slack or Teams
- Detect anomalies in data freshness, volume, and schema changes across your warehouse
- Track performance trends of dbt models and jobs over time to identify regressions
- Explore data lineage and test results together to diagnose root causes of data issues
- Generate a centralized data quality dashboard for non-technical stakeholders
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Elementary OSS is a dbt-native CLI for data observability that connects to your warehouse, reads dbt metadata and test results, and generates observability reports with anomaly detection and alerts to Slack and Microsoft Teams.
Yes, if you use dbt and need observability without building custom tooling. Elementary OSS is actively maintained, has no known vulnerabilities, and offers genuine value for teams monitoring data quality. The substantial dependency footprint is justified by its integration with multiple cloud platforms and notification channels. Consider it especially if you already use Slack or Teams for team communication and want dbt-native monitoring.
Install
elementary-data on PyPI
pip
pip install elementary-datauv
uv add elementary-datapoetry
poetry add elementary-dataInstalling elementary-data
Before you install
Low install friction with a pure Python wheel. Active maintenance with a recent release 37 days ago and ongoing commits. Depends on 22 runtime packages including dbt-core, cloud storage clients, and notification SDKs—a substantial but standard dependency footprint for a data platform tool.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most organizational contexts.
Quickstart
pip install elementary-data
from elementary import run_elementary_report
# Requires dbt project with Elementary dbt package installed and warehouse connection configured
Requires dbt-core installed, an active dbt project with the Elementary dbt package, and a configured warehouse connection (Snowflake, BigQuery, Redshift, etc.).
Verify before relying
- Specific warehouse platforms supported beyond those mentioned (Snowflake, BigQuery, Redshift) in keywords
- Whether anomaly detection thresholds are configurable or use fixed defaults
- Performance characteristics when monitoring large numbers of models or tests
- Exact scope of 'column-level lineage' available in OSS vs. Elementary Cloud
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<3.14,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 22 — alive-progress, azure-storage-blob, beautifulsoup4, boto3, click, dbt-core, google-cloud-storage, idna, lxml, networkx, packaging, posthog, pydantic, pymsteams, pytz, ratelimit, requests, ruamel.yaml, slack-sdk, tabulate, tenacity, urllib3 |
| Maintenance | actively maintained — 37 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,209,952/month — #4,216 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: elementary_data-0.25.1-py3-none-any.whl
Keywords: data, lineage, data lineage, data warehouse, DWH, observability, data monitoring, data observability, Snowflake, BigQuery, Redshift, data reliability, analytics engineering
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
dbt-coredbt-core transforms raw data in a warehouse…
permissive · top 1,000 on PyPI
dbt-colibriExtracts column-level lineage from dbt projects…
permissive · top 15,000 on PyPI
dagster-dbtIntegrates dbt data transformation workflows…
permissive · top 5,000 on PyPI
openlineage-dbtAutomatically collects and sends dbt run…
unclear · top 15,000 on PyPI
montecarlodataA command-line interface for interacting with…
permissive · top 15,000 on PyPI
dbtA command-line interface for running dbt…
unclear · top 15,000 on PyPI
dbt-postgresdbt-postgres is a dbt adapter that connects dbt…
permissive · top 5,000 on PyPI
dbt-dremiodbt-dremio is a dbt adapter that enables data…
permissive · top 15,000 on PyPI
dbt-sparkdbt-spark is the Apache Spark adapter for dbt,…
permissive · top 5,000 on PyPI
dbt-oracledbt-oracle is a dbt adapter that enables data…
permissive · top 15,000 on PyPI