Skip to main content

checkup-dbt

dbt metrics plugin for checkup.

Installation

pip install checkup-dbt

Requirements

  • Python >= 3.12
  • checkup
  • dbt-core >= 1.9

Usage

from checkup import CheckHub
from checkup_dbt import (
    DbtManifestProvider,
    DbtModelsMetric,
    DbtColumnsMetric,
    DbtTestsMetric,
)

results = (
    CheckHub()
    .with_metrics([
        DbtModelsMetric(),
        DbtColumnsMetric(),
        DbtTestsMetric(),
    ])
    .with_providers([[
        DbtManifestProvider(dbt_project_dir="./my_dbt_project"),
    ]])
    .measure()
)

Provider

DbtManifestProvider

Provides dbt manifest data to metrics. Can either parse a dbt project directory or load a pre-generated manifest file.

Available Metrics

Core Metrics

DbtModelsMetric

Total number of dbt models.

DbtColumnsMetric

Total number of columns across all models.

DbtTestsMetric

Total number of tests.

DbtModelsWithDescriptionMetric

Number of models that have descriptions.

DbtModelsWithoutDescriptionMetric

Number of models missing descriptions.

DbtColumnsWithDescriptionMetric

Number of columns that have descriptions.

DbtColumnsWithoutDescriptionMetric

Number of columns missing descriptions.

Test Metrics

DbtUnitTestsMetric

Number of unit tests.

DbtDataTestsMetric

Number of data tests.

DbtColumnTestsMetric

Number of column-level tests.

DbtTestedColumnsMetric

Number of columns that have at least one test.

DbtColumnTestCoverageMetric

Percentage of columns with tests.

Output Model Metrics

DbtOutputModelsMetric

Number of models exposed as outputs.

DbtOutputModelsWithDescriptionMetric

Number of output models with descriptions.

DbtOutputModelsWithoutDescriptionMetric

Number of output models missing descriptions.

DbtOutputModelsWithoutContractsMetric

Number of output models without contracts.

DbtOutputColumnsWithoutDataTypeMetric

Number of output columns without data types.

Quality Metrics

DbtModelsNotAdheringToNamingConventionMetric

Number of models not following naming conventions.

DbtVersionMetric

Current dbt version.

DbtSupportedVersionMetric

Whether dbt version is supported. Configure by subclassing:

from checkup_dbt import DbtSupportedVersionMetric

class MySupportedVersionMetric(DbtSupportedVersionMetric):
    min_version = "1.9"

DbtFlaggedPackagesMetric

Packages flagged for review. Configure by subclassing:

from checkup_dbt import DbtFlaggedPackagesMetric

class MyFlaggedPackagesMetric(DbtFlaggedPackagesMetric):
    flagged_packages = [
        "https://github.com/example/deprecated-package",
    ]

DbtProfileHostMetric

Profile host configuration.

Creating Custom Metrics

Extend DbtMetric to create custom dbt-based metrics:

from checkup_dbt import DbtMetric

class MyCustomDbtMetric(DbtMetric):
    name = "my_custom_metric"
    description = "My custom dbt metric"

    def calculate(self, context, measurements):
        manifest = self.get_manifest(context)
        return self.measure(value=len(manifest.nodes))

Metadata

Release files for checkup-dbt 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for checkup-dbt 0.5.0
File Size Uploaded
checkup_dbt-0.5.0.tar.gz 287.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for checkup-dbt 0.5.0
File Interpreter ABI Platform
checkup_dbt-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 308.4 kB

Release files / checkup_dbt-0.5.0.tar.gz

Download URL checkup_dbt-0.5.0.tar.gz
Size 287.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cf57e0b95c1ffe22e9168ab35052d7636b342c26ec8ae1e5bcededec3d440f67
BLAKE2b-256 checksum
How to use checksums
e01f900626216b871ef4fda6a8901beae9b18b649edcf76f91d26c367a0f1a68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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}

Release files / checkup_dbt-0.5.0-py3-none-any.whl

Download URL checkup_dbt-0.5.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98e83ee7ae980819bbce06a584615d70741a918caeb8d86d3b8a5663d22c3da4
BLAKE2b-256 checksum
How to use checksums
e483705b0d05d4ed2fdf67b0065993b56bfafa04885f892db8e67a3f506e3d81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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}

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.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