Skip to content

godatadriven/dbt-bouncer

Repository files navigation

dbt-bouncer logo

dbt-bouncer

Configure and enforce conventions for your dbt project.

dbt-core dbt Cloud Supported Docker Supported GitHub Supported

Documentation

All documentation can be found on dbt-bouncer documentation website.

TLDR

  1. Install dbt-bouncer:

    pip install dbt-bouncer
  2. Create a dbt-bouncer.yml config file:

    manifest_checks:
      - name: check_model_directories
        include: ^models
        permitted_sub_directories:
          - intermediate
          - marts
          - staging
      - name: check_model_names
        include: ^models/staging
        model_name_pattern: ^stg_
    catalog_checks:
      - name: check_columns_are_documented_in_public_models
    run_results_checks:
      - name: check_run_results_max_execution_time
        max_execution_time_seconds: 60
  3. Run dbt-bouncer:

    $ dbt-bouncer
    
    [...]
    Running checks... |################################| 20/20
    Done. SUCCESS=19 WARN=0 ERROR=1
    Failed checks:
    | Check name               | Severity | Failure message                                                                       |
    |--------------------------|----------|---------------------------------------------------------------------------------------|
    | check_model_directories: | error    | AssertionError: `model` is located in `utilities`, this is not a valid sub-directory. |
    

Reporting bugs and contributing code

  • Want to report a bug or request a feature? Let us know and open an issue.
  • Want to help us build dbt-bouncer? Check out the Contributing Guide.

Code of Conduct

Everyone interacting in dbt-bouncer's codebase, issue trackers, chat rooms, and mailing lists is expected to follow the Code of Conduct.