dbt-labs / dbt-project-evaluator

This package contains macros and models to find DAG issues automatically
https://dbt-labs.github.io/dbt-project-evaluator/latest/
Apache License 2.0
451 stars 68 forks source link
dbt-packages

dbt_project_evaluator

This package highlights areas of a dbt project that are misaligned with dbt Labs' best practices. Specifically, this package tests for:

  1. Modeling - your dbt DAG for modeling best practices
  2. Testing - your models for testing best practices
  3. Documentation - your models for documentation best practices
  4. Structure - your dbt project for file structure and naming best practices
  5. Performance - your model materializations for performance best practices
  6. Governance - your best practices for model governance features.

In addition to tests, this package creates the model int_all_dag_relationships which holds information about your DAG in a tabular format and can be queried using SQL in your Warehouse.

Currently, the following adapters are supported:

Using This Package

Cloning via dbt Package Hub

Check dbt Hub for the latest installation instructions, or read the docs for more information on installing packages.

Additional setup for Databricks/Spark/DuckDB/Redshift/ClickHouse

In your dbt_project.yml, add the following config:

# dbt_project.yml

dispatch:
  - macro_namespace: dbt
    search_order: ['dbt_project_evaluator', 'dbt']

This is required because the project currently overrides a small number of dbt core macros in order to ensure the project can run across the listed adapters. The overridden macros are in the cross_db_shim directory.

Documentation

The full documentation and list of rules are available on this website