{"id":23521,"library":"dbt-bouncer","title":"dbt-bouncer","description":"Configure and enforce conventions for your dbt project with automated rules and checks. Current version 3.0.2, compatible with Python >=3.11, <3.15. Released approximately every few months.","status":"active","version":"3.0.2","language":"python","source_language":"en","source_url":"https://github.com/jpmorganchase/dbt-bouncer","tags":["dbt","linting","conventions","testing"],"install":[{"cmd":"pip install dbt-bouncer","lang":"bash","label":"Install dbt-bouncer from PyPI"}],"dependencies":[],"imports":[{"note":"Common mistake: no underscore in package name","wrong":"from dbtbouncer import DbtBouncer","symbol":"DbtBouncer","correct":"from dbt_bouncer import DbtBouncer"},{"note":"","wrong":"","symbol":"RuleBase","correct":"from dbt_bouncer.rule_base import RuleBase"}],"quickstart":{"code":"from dbt_bouncer import DbtBouncer\n\n# Initialize with default rules\nbouncer = DbtBouncer()\n\n# Run checks against a dbt manifest (e.g., target/manifest.json)\nresults = bouncer.check(manifest_path='target/manifest.json')\nprint(results)","lang":"python","description":"Basic usage: initialize DbtBouncer and run checks against a dbt manifest."},"warnings":[{"fix":"Upgrade Python to 3.11 or higher.","message":"Version 3.0.0 removed support for Python 3.9 and 3.10. Requires Python >=3.11.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Define rules in your Python code when initializing DbtBouncer.","message":"Using a global rule configuration file (e.g., .dbt-bouncer.yml) is deprecated in favor of inline rule definitions.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Run `dbt docs generate` or `dbt run` first to produce an up-to-date manifest.","message":"Manifest path must point to a valid dbt manifest JSON file. Using an outdated manifest can cause false positives.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: pip install dbt-bouncer (note the hyphen, but import uses underscore)","cause":"Package installed under wrong name (dbt-bouncer) or not installed.","error":"ModuleNotFoundError: No module named 'dbt_bouncer'"},{"fix":"Ensure the manifest path is correct and the file is a complete dbt manifest (e.g., target/manifest.json).","cause":"Manifest file is missing expected keys (e.g., nodes, sources).","error":"dbt_bouncer.exceptions.RuleExecutionError: Rule 'test_rule' failed to execute: 'NoneType' object has no attribute 'get'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}