dbt-checks is a lightweight library of reusable data quality checks for dbt projects.
The package provides business-oriented validation checks that help teams express data quality rules declaratively inside dbt schema files.
Instead of repeatedly writing custom SQL tests, users can apply reusable checks with standardized outputs, validation guards, grouped validation support, and cross-warehouse compatibility.
⚠️ Rapidly evolving project — feedback and contributions are welcome.
Add the package to your packages.yml:
packages:
- git: https://github.com/LlucMH/dbt-checks.git
revision: v0.6.3Install dependencies:
dbt depsAlways pin a release version in production projects.
dbt-checks provides:
- reusable business-oriented validations
- grouped validation with
group_by - conditional business rules
- rule composition checks
- multi-column validations
- standardized failure outputs
- validation guards
- CI-friendly debugging
- predictable NULL handling
- cross-warehouse compatibility through dbt dispatch
models:
- name: orders
columns:
- name: amount
data_tests:
- dbt_checks.non_negative
- name: email
data_tests:
- dbt_checks.null_ratio_below:
arguments:
value: 0.02Run validations using:
dbt testdbt-checks supports a CI-friendly validation lifecycle with standardized outputs, stored failures support, and progressive rollout strategies.
The package currently provides:
| Category | Description |
|---|---|
| Numeric | Numeric ranges and thresholds |
| String | Text validation and formats |
| Temporal | Dates, timestamps, freshness |
| Aggregation | Dataset-level metrics |
| Ratio | Completeness and distribution checks |
| Multi-column | Relationships between columns |
| Conditional | Dependency-based business rules |
| Rule Composition | Expression-based business rules |
See the documentation for detailed examples.
dbt-checks is designed to work across common dbt adapters.
Current compatibility targets include:
- DuckDB
- Postgres
- BigQuery
- Snowflake
- Databricks
- Spark
- Redshift
Adapter-specific behavior is handled through dbt dispatch.
| Warehouse | Status |
|---|---|
| DuckDB | Fully tested in CI |
| Postgres | Planned validation |
| BigQuery | Planned validation |
| Snowflake | Planned validation |
| Databricks | Planned validation |
| Spark | Planned validation |
| Redshift | Planned validation |
Documentation is organized under the /docs directory.
For detailed arguments, examples, and metadata, use dbt Docs:
dbt docs generate
dbt docs serveThe project includes practical usage examples for common analytics engineering and data quality scenarios.
- ecommerce validations
- finance validations
- customer data quality
- SaaS multi-tenant validation
- medallion architecture strategies
- grouped validation
- conditional business rules
- CI rollout strategies
Grouped validation allows checks to run independently for each segment of a dataset.
This is especially useful for:
- multi-tenant SaaS platforms
- country-level KPIs
- regional analytics
- source-system monitoring
- partition validation
dbt-checks supports different validation strategies across:
- bronze ingestion layers
- silver transformation layers
- gold KPI layers
This helps teams apply data quality intentionally across the analytics lifecycle.
Stored failures allow teams to:
- debug failing rows
- monitor quality trends
- build alerts
- improve operational observability
dbt-checks supports progressive rollout strategies using:
severity: warnseverity: errorwarn_iferror_if--warn-error
This enables safer adoption in existing projects.
dbt-checks integrates naturally with dbt documentation workflows and exposes metadata directly through dbt docs.
CI integration helps teams detect issues early before invalid data reaches downstream consumers.
Many dbt projects repeatedly implement the same validation logic.
dbt-checks provides:
- reusable validation patterns
- expressive business-rule enforcement
- grouped validation support
- standardized failure semantics
- observability-friendly outputs
- CI-friendly debugging
- cross-warehouse compatibility
- maintainable validation architecture
The goal is to make data quality checks easier to write, easier to understand, and easier to maintain.
dbt-checks is an open-source project and contributions are welcome.
The repository includes:
The project aims to provide:
- clear contribution guidelines
- transparent governance
- reproducible validation workflows
- maintainable documentation
- contributor-friendly collaboration
Feedback, bug reports, feature requests, and pull requests are always appreciated.
dbt-checks is evolving toward a production-grade OSS package with:
- multi-adapter CI
- adapter compatibility validation
- Fusion compatibility
- release validation workflows
- repository governance
- contributor tooling
- dbt Hub readiness
Contributions are welcome.
When adding a new check:
- Implement the macro
- Reuse existing helper macros
- Add integration tests
- Add documentation
- Validate NULL behavior
- Consider grouped validation support
See CONTRIBUTING.md for details.
This project is licensed under the MIT License.
See LICENSE for details.







