dbt-bouncer
Configure and enforce conventions for your dbt project.
What it is and what it does
dbt-bouncer is a CLI tool that enforces naming conventions and project structure rules on dbt projects by analyzing dbt artifacts (manifest.json, catalog.json, run_results.json). It reads a YAML configuration file defining checks—such as model naming patterns, documentation requirements, or test coverage—then runs those checks against your dbt project and reports violations with severity levels.
The tool integrates into dbt workflows and CI/CD pipelines to catch convention violations early. It depends on Jinja2 for templating, Pydantic for configuration validation, sqlglot for SQL parsing, and rich for formatted terminal output. Configuration is declarative and human-readable, making it accessible for teams to define and maintain their own dbt standards without writing code.
Use it for:
- Enforce naming conventions (e.g., staging models start with 'stg_') across a dbt project in CI/CD.
- Validate that all models have documentation and tests before deployment.
- Check for consistency in model structure, column naming, or tagging across a team's dbt codebase.
- Prevent common dbt anti-patterns by defining project-specific rules in a config file.
- Generate a summary report of dbt project structure and check results for governance audits.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
dbt-bouncer validates dbt projects against configurable conventions and naming rules, running checks on dbt artifacts to enforce project-wide standards.
Yes. dbt-bouncer is actively maintained, has low install friction, carries no known vulnerabilities, and solves a real problem for teams using dbt—enforcing conventions at scale. The MIT license is permissive. Install it if your team uses dbt and wants to standardize project structure and naming without manual code review.
Install
dbt-bouncer on PyPI
pip
pip install dbt-bounceruv
uv add dbt-bouncerpoetry
poetry add dbt-bouncerInstalling dbt-bouncer
Before you install
Low install friction with a pure Python wheel and 12 well-established runtime dependencies. Active maintenance with a release 28 days ago; supports current Python versions (3.11–3.14).
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal legal obligations.
Quickstart
pip install dbt-bouncer
dbt parse
dbt-bouncer init
dbt-bouncer run
Requires a dbt project with a manifest.json file (generated by `dbt parse`) and a dbt-bouncer.yml config file.
Verify before relying
- Whether the package supports dbt versions other than the latest; compatibility matrix not provided in fact sheet.
- Performance characteristics when running against large dbt projects with many models and tests.
- Whether custom check rules can be written or if only built-in checks are available.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.15,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 12 — jellyfish, jinja2-simple-tags, jinja2, junitparser, orjson, packaging, pydantic, pyyaml, rich, semver, sqlglot, typer |
| Maintenance | actively maintained — 28 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 92,499/month — #13,450 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_bouncer-3.8.0-py3-none-any.whl
Keywords: CI/CD, cli, dbt, python
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
collate-dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI
dbt-scoredbt-score lints dbt models against configurable…
permissive · top 15,000 on PyPI
dbt-artifacts-parserParses dbt artifact JSON files (catalog,…
permissive · top 15,000 on PyPI
dbt-coverageMeasures documentation and test coverage of dbt…
permissive · top 15,000 on PyPI
dbt-loomdbt-loom is a dbt Core plugin that fetches…
unclear · top 15,000 on PyPI
cube_dbtIntegrates dbt models with Cube's semantic…
permissive · top 15,000 on PyPI
dbt-metabaseSyncs dbt project metadata (table…
permissive · top 15,000 on PyPI
dbt-semantic-interfacesProvides shared semantic class definitions,…
permissive · top 1,000 on PyPI
dbt-colibriExtracts column-level lineage from dbt projects…
permissive · top 15,000 on PyPI
dbt-autofixdbt-autofix scans dbt projects for deprecated…
unclear · top 15,000 on PyPI