dbt-coverage
A CLI library with Python backend for computing docs and test coverage of dbt managed data warehouses.
Installation
pip install dbt-coverage
Usage
dbt-coverage comes with two basic commands: compute and compare. The
documentation for the individual commands can be shown by using the --help
option.
Compute
Computes coverage from target/catalog.json and target/manifest.json files
found in a dbt project. You need to select documentation or test coverage by
using the respective CLI argument.
$ cd my-dbt-project
$ dbt docs generate # Generate catalog.json and manifest.json
$ dbt-coverage compute doc # Compute doc coverage, print it and write it to coverage.json file
$ dbt-coverage compute test # Compute test coverage
# Coverage summary
# =======================================
# my-table-1 8/20 40.0%
# my-table-2 20/20 100.0%
# my-table-3 2/8 25.0%
# =======================================
# Total 30/48 62.5%
Compare
Compares two coverage.json files generated by the compute command.
$ dbt-coverage compare coverage-after.json coverage-before.json
# Coverage delta summary
# before after +/-
# =============================================
# Coverage 62.50% 60.00% -2.50%
# =============================================
# Tables 3 4 +1/+0
# Columns 48 50 +2/+0
# =============================================
# Hits 30 30 +0/+0
# Misses 18 20 +2/+0
# =============================================
# New misses
# Catalog 30/48 (62.50%) -> 30/50 (60.00%)
# ==================================================================
# - my-table-4 -/- (-) -> 0/2 (0.00%)
# -- my-column-1 -/- (-) -> 0/1 (0.00%)
# -- my-column-2 -/- (-) -> 0/1 (0.00%)
# ==================================================================
Combined use-case
$ cd my-dbt-project
$ dbt docs generate # Generate catalog.json and manifest.json
$ dbt-coverage compute doc --cov-report before.json --cov-fail-under 0.5 # Fail if coverage is lower than 50%
# Make changes to the dbt project, e.g. add some columns to the DWH, document some columns, etc.
$ dbt docs generate
$ dbt-coverage compute doc --cov-report after.json --cov-fail-compare before.json # Fail if the current coverage is lower than coverage in before.json
$ dbt-coverage compare after.json before.json # Generate a detailed coverage delta report
Related packaged
https://github.com/mikaelene/dbt-test-coverage
License
Licensed under the MIT license (see LICENSE.md file for more details).
Metadata
Release files for dbt-coverage 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dbt-coverage-0.1.1.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dbt_coverage-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.0 kB
Release files / dbt-coverage-0.1.1.tar.gz
| Download URL | dbt-coverage-0.1.1.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec838bc9012976520be082e02ddbc5435c7623a46bde0bf1b2f16f07cd8a1fec
|
|
BLAKE2b-256 checksum How to use checksums |
99fca556ed9255f5c2a39e3a362c4011455f2d482b0428aa9a9e6d38564f3b2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.11 CPython/3.9.7 Darwin/21.1.0
|
Release files / dbt_coverage-0.1.1-py3-none-any.whl
| Download URL | dbt_coverage-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
976fac7869a66f694054a887de381b814b73a11971c7fcc3fdc57fabadc8a83a
|
|
BLAKE2b-256 checksum How to use checksums |
d2c4d5343d7053ce34e8ce8ccfc49682fd8779d4e7fb6e8135990f0bcdf7c1e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.11 CPython/3.9.7 Darwin/21.1.0
|