Skip to main content

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

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)

Source distribution for dbt-coverage 0.1.1
File Size Uploaded
dbt-coverage-0.1.1.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dbt-coverage 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page