Skip to main content

An extensible linter for dbt

Project description

checkers

Checkers is an extensible linter for dbt.

It's similar to other tools like dbt-project-evaluator (created by dbt-labs), among others.

By extendable, we mean that we want to make it easy to define your own best practices. This makes it possible to validate that your team's dbt projects follow the standards you decide, without needing to completely refactor your project to a new system. We also provide numerous "out of the box" checks that are aligned with dbt lab's recommendations, so that you don't need to re-invent the wheel either.

Checkers is easy to integrate with any CI system, so that changes to your project which introduce new issues are automatically flagged, and potentially blocked. It's simple to use checkers with pre-commit, GitHub actions, or any other CI system you're using.

Installation

Install the checkers command line interface with pip.

pip install checkers-cli

To view the documentation for all available commands, use the --help flag.

checkers --help

Quickstart

Navigate to your dbt project's directory. This should be a folder that contains a dbt_project.yml file.

cd path/to/dbt/project

Parse your dbt project to generate a manifest.json artifact. (Many other dbt commands generate a manifest.json, including dbt build, dbt test, etc. But we recommend using dbt parse as it usually takes just a few seconds).

dbt parse

Run the checkers.

checkers run

The results of the check will print to your console, and look similar to the following.

PASS   check_model_has_description my_first_dbt_model
PASS   check_model_has_description my_second_dbt_model

Development

This project supports development inside a devcontainer using VSCode.

After cloning this repository, VS Code should prompt you to open the project inside the devcontainer. If not, confirm you have the devcontainers extension installed.

Once the devcontainer has started you can install the necessary development dependencies inside a virtual environment.

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install --editable .

You should now be able to run the test suite.

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checkers_cli-0.0.6.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

checkers_cli-0.0.6-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file checkers_cli-0.0.6.tar.gz.

File metadata

  • Download URL: checkers_cli-0.0.6.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for checkers_cli-0.0.6.tar.gz
Algorithm Hash digest
SHA256 b9f83aa3ff25b58a79463475b4e04ffd7d8972e4812c60e8c800a46696fb82d1
MD5 358c030648433971f1e9f74c9d03cdfb
BLAKE2b-256 61028084748de3ef1fabad21252fc0338e2e9cf1ca1bfb4aaea7de2403e8a231

See more details on using hashes here.

File details

Details for the file checkers_cli-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: checkers_cli-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for checkers_cli-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d55315d0abfe6b57e3b544ec0fcccccf769e47f4a0b5427a74a9ac6ad52ad005
MD5 1c6064500de5365225347aa63e6c6a44
BLAKE2b-256 c5ccf5ded4dbc279dda8b3606384eb85bb0fc9e2bab90f236b27b65e5927787f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page