Awesome
dbt_project_evaluator
This package highlights areas of a dbt project that are misaligned with dbt Labs' best practices. Specifically, this package tests for:
- Modeling - your dbt DAG for modeling best practices
- Testing - your models for testing best practices
- Documentation - your models for documentation best practices
- Structure - your dbt project for file structure and naming best practices
- Performance - your model materializations for performance best practices
- 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:
- BigQuery
- Databricks/Spark
- PostgreSQL
- Redshift
- Snowflake
- DuckDB
- Trino (tested with Iceberg connector)
- AWS Athena (tested manually)
- Greenplum (tested manually)
- ClickHouse (tested manually)
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