dbt-coverage
One-stop-shop for docs and test coverage of dbt projects
What it is and what it does
dbt-coverage is a CLI tool that measures how thoroughly your dbt project is documented and tested. It reads the manifest.json and catalog.json files that dbt generates, then reports coverage percentages for each model and the project overall. You run it after dbt docs generate to get a snapshot of which models lack documentation or test coverage.
The tool is designed to integrate into CI/CD pipelines and help teams enforce documentation and testing standards. It supports filtering by model path, outputting results to JSON files, and formatting reports as Markdown tables. With only typer as a runtime dependency and roughly 480 lines of code, it is lightweight and straightforward to audit.
Use it for:
- Enforce minimum documentation coverage in CI/CD by failing builds when docs fall below a threshold
- Audit a newly inherited dbt project to quickly identify which models lack documentation or tests
- Track documentation and test coverage trends over time by storing JSON reports in version control
- Generate Markdown coverage reports for team dashboards or pull request comments
- Filter coverage reports to specific model directories to focus on particular layers of your dbt DAG
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Measures documentation and test coverage of dbt projects by analyzing manifest and catalog files, reporting per-model coverage percentages and totals via CLI.
Yes. dbt-coverage fills a clear gap in dbt project quality assurance with minimal dependencies, active maintenance, and no known vulnerabilities. Install it if you want to measure and enforce documentation and test coverage in your dbt projects; the zero-config design and low friction make it a straightforward addition to any dbt workflow.
Install
dbt-coverage on PyPI
pip
pip install dbt-coverageuv
uv add dbt-coveragepoetry
poetry add dbt-coverageInstalling dbt-coverage
Before you install
Low friction install with only typer as a runtime dependency. Actively maintained as of 2026-04-29 with 241 repository stars.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal legal friction.
Quickstart
pip install dbt-coverage
cd your_dbt_project
dbt run && dbt docs generate
dbt-coverage compute doc --cov-report coverage.json
# Output shows per-model and total documentation coverage percentages
Requires a dbt project with target/manifest.json and target/catalog.json files, which are generated by running 'dbt docs generate' in your dbt project directory.
Verify before relying
- Whether dbt itself is assumed to be pre-installed or if dbt-coverage handles dbt installation
- Performance characteristics on large dbt projects with hundreds or thousands of models
- Exact dbt version compatibility beyond the 'optimized for dbt 1.0' statement in the description
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — typer |
| Maintenance | actively maintained — 107 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 171,678/month — #10,360 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_coverage-0.4.2-py3-none-any.whl
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
dbt-bouncerdbt-bouncer validates dbt projects against…
permissive · top 15,000 on PyPI
dbt-colibriExtracts column-level lineage from dbt projects…
permissive · top 15,000 on PyPI
dbt-autofixdbt-autofix scans dbt projects for deprecated…
unclear · top 15,000 on PyPI
dbt-coredbt-core transforms raw data in a warehouse…
permissive · top 1,000 on PyPI
dbt-loomdbt-loom is a dbt Core plugin that fetches…
unclear · top 15,000 on PyPI
openlineage-dbtAutomatically collects and sends dbt run…
unclear · top 15,000 on PyPI
collate-dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI
interrogateInterrogate scans a Python codebase to measure…
permissive · top 5,000 on PyPI
dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI