dbt-bouncer


Namedbt-bouncer JSON
Version 1.2.3 PyPI version JSON
download
home_pagehttps://github.com/godatadriven/dbt-bouncer
SummaryConfigure and enforce conventions for your dbt project.
upload_time2024-09-27 07:37:42
maintainerPadraic Slattery
docs_urlNone
authorPadraic Slattery
requires_python<3.13,>=3.8.1
licenseMIT
keywords python cli dbt ci/cd
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img src="https://github.com/godatadriven/dbt-bouncer/raw/main/docs/assets/logo.svg" alt="dbt-bouncer logo" width="500"/>
</p>


<h1 align="center">
  dbt-bouncer
</h1>
<h2 align="center">
  Configure and enforce conventions for your dbt project.
</h2>

<div align="center">
  <a>
	<img src="https://img.shields.io/github/release/godatadriven/dbt-bouncer.svg?logo=github">
  </a>
  <a>
	<img src="https://img.shields.io/badge/License-MIT-yellow.svg">
  </a>
  <a>
	<img src="https://img.shields.io/github/last-commit/godatadriven/dbt-bouncer/main">
  </a>
  <a>
	<img src="https://img.shields.io/github/commits-since/godatadriven/dbt-bouncer/latest">
  </a>
</div>

<div align="center">
  <a>
	<img alt="dbt-core" src="https://img.shields.io/badge/dbt--core%20-%3E%3D1.6-333?logo=dbt">
  </a>
  <a>
	<img alt="dbt Cloud Supported" src="https://img.shields.io/badge/dbt%20Cloud%20-Supported-ff694a?logo=dbt">
  </a>
  <a>
	<img alt="Docker Supported" src="https://img.shields.io/badge/Docker%20-Supported-0db7ed?logo=docker">
  </a>
  <a>
	<img alt="GitHub Supported" src="https://img.shields.io/badge/GitHub%20-Supported-333?logo=github">
  </a>
</div>

<div align="center">
  <a>
	<img src="https://github.com/godatadriven/dbt-bouncer/actions/workflows/merge_pipeline.yml/badge.svg">
  </a>
  <a>
	<img src="https://github.com/godatadriven/dbt-bouncer/actions/workflows/post_release_pipeline.yml/badge.svg">
  </a>
  <a>
	<img src="https://img.shields.io/badge/style-ruff-41B5BE?style=flat">
  </a>
  <a>
	<img src="https://www.aschey.tech/tokei/github/godatadriven/dbt-bouncer?category=code">
  </a>
</div>
<br/>

## Documentation

All documentation can be found on `dbt-bouncer` [documentation website](https://godatadriven.github.io/dbt-bouncer/).

### TLDR

1. Install `dbt-bouncer`:

    ```shell
    pip install dbt-bouncer
    ```

1. Create a `dbt-bouncer.yml` config file:

    ```yml
    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
    ```

1. 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](https://github.com/godatadriven/dbt-bouncer/issues/new/choose).
- Want to help us build `dbt-bouncer`? Check out the [Contributing Guide](https://github.com/godatadriven/dbt-bouncer/blob/HEAD/docs/CONTRIBUTING.md).

## 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](./CODE_OF_CONDUCT.md).


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/godatadriven/dbt-bouncer",
    "name": "dbt-bouncer",
    "maintainer": "Padraic Slattery",
    "docs_url": null,
    "requires_python": "<3.13,>=3.8.1",
    "maintainer_email": "pgoslatara@gmail.com",
    "keywords": "python, cli, dbt, CI/CD",
    "author": "Padraic Slattery",
    "author_email": "pgoslatara@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/44/1d/a5a72c7c7a942b586b2d874905e7d217411884afe7ebda63782bac0e0cc9/dbt_bouncer-1.2.3.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img src=\"https://github.com/godatadriven/dbt-bouncer/raw/main/docs/assets/logo.svg\" alt=\"dbt-bouncer logo\" width=\"500\"/>\n</p>\n\n\n<h1 align=\"center\">\n  dbt-bouncer\n</h1>\n<h2 align=\"center\">\n  Configure and enforce conventions for your dbt project.\n</h2>\n\n<div align=\"center\">\n  <a>\n\t<img src=\"https://img.shields.io/github/release/godatadriven/dbt-bouncer.svg?logo=github\">\n  </a>\n  <a>\n\t<img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\">\n  </a>\n  <a>\n\t<img src=\"https://img.shields.io/github/last-commit/godatadriven/dbt-bouncer/main\">\n  </a>\n  <a>\n\t<img src=\"https://img.shields.io/github/commits-since/godatadriven/dbt-bouncer/latest\">\n  </a>\n</div>\n\n<div align=\"center\">\n  <a>\n\t<img alt=\"dbt-core\" src=\"https://img.shields.io/badge/dbt--core%20-%3E%3D1.6-333?logo=dbt\">\n  </a>\n  <a>\n\t<img alt=\"dbt Cloud Supported\" src=\"https://img.shields.io/badge/dbt%20Cloud%20-Supported-ff694a?logo=dbt\">\n  </a>\n  <a>\n\t<img alt=\"Docker Supported\" src=\"https://img.shields.io/badge/Docker%20-Supported-0db7ed?logo=docker\">\n  </a>\n  <a>\n\t<img alt=\"GitHub Supported\" src=\"https://img.shields.io/badge/GitHub%20-Supported-333?logo=github\">\n  </a>\n</div>\n\n<div align=\"center\">\n  <a>\n\t<img src=\"https://github.com/godatadriven/dbt-bouncer/actions/workflows/merge_pipeline.yml/badge.svg\">\n  </a>\n  <a>\n\t<img src=\"https://github.com/godatadriven/dbt-bouncer/actions/workflows/post_release_pipeline.yml/badge.svg\">\n  </a>\n  <a>\n\t<img src=\"https://img.shields.io/badge/style-ruff-41B5BE?style=flat\">\n  </a>\n  <a>\n\t<img src=\"https://www.aschey.tech/tokei/github/godatadriven/dbt-bouncer?category=code\">\n  </a>\n</div>\n<br/>\n\n## Documentation\n\nAll documentation can be found on `dbt-bouncer` [documentation website](https://godatadriven.github.io/dbt-bouncer/).\n\n### TLDR\n\n1. Install `dbt-bouncer`:\n\n    ```shell\n    pip install dbt-bouncer\n    ```\n\n1. Create a `dbt-bouncer.yml` config file:\n\n    ```yml\n    manifest_checks:\n      - name: check_model_directories\n        include: ^models\n        permitted_sub_directories:\n          - intermediate\n          - marts\n          - staging\n      - name: check_model_names\n        include: ^models/staging\n        model_name_pattern: ^stg_\n    catalog_checks:\n      - name: check_columns_are_documented_in_public_models\n    run_results_checks:\n      - name: check_run_results_max_execution_time\n        max_execution_time_seconds: 60\n    ```\n\n1. Run `dbt-bouncer`:\n\n    ```\n    $ dbt-bouncer\n\n    [...]\n    Running checks... |################################| 20/20\n    Done. SUCCESS=19 WARN=0 ERROR=1\n    Failed checks:\n    | Check name               | Severity | Failure message                                                                       |\n    |--------------------------|----------|---------------------------------------------------------------------------------------|\n    | check_model_directories: | error    | AssertionError: `model` is located in `utilities`, this is not a valid sub-directory. |\n    ```\n\n## Reporting bugs and contributing code\n\n- Want to report a bug or request a feature? Let us know and open [an issue](https://github.com/godatadriven/dbt-bouncer/issues/new/choose).\n- Want to help us build `dbt-bouncer`? Check out the [Contributing Guide](https://github.com/godatadriven/dbt-bouncer/blob/HEAD/docs/CONTRIBUTING.md).\n\n## Code of Conduct\n\nEveryone interacting in `dbt-bouncer`'s codebase, issue trackers, chat rooms, and mailing lists is expected to follow the [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Configure and enforce conventions for your dbt project.",
    "version": "1.2.3",
    "project_urls": {
        "Homepage": "https://github.com/godatadriven/dbt-bouncer",
        "Repository": "https://github.com/godatadriven/dbt-bouncer"
    },
    "split_keywords": [
        "python",
        " cli",
        " dbt",
        " ci/cd"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd5078e022602a94282793ffd78a3d61c2df337cc20d04147bebc1f54a635499",
                "md5": "b4f2e5d4e05cc2334055803107da6414",
                "sha256": "5a907bafb49cf4c5ac0674d0800be0b0c9098fe0e18101baeab9b359ab10ed70"
            },
            "downloads": -1,
            "filename": "dbt_bouncer-1.2.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b4f2e5d4e05cc2334055803107da6414",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.8.1",
            "size": 50217,
            "upload_time": "2024-09-27T07:37:40",
            "upload_time_iso_8601": "2024-09-27T07:37:40.844235Z",
            "url": "https://files.pythonhosted.org/packages/fd/50/78e022602a94282793ffd78a3d61c2df337cc20d04147bebc1f54a635499/dbt_bouncer-1.2.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "441da5a72c7c7a942b586b2d874905e7d217411884afe7ebda63782bac0e0cc9",
                "md5": "517b7d3479853392c7d1550f73d21c7c",
                "sha256": "ca1f7c765a24966ce6a1642343416d4d4dd6a0e256222f99c7ed9aaaadfdb1ec"
            },
            "downloads": -1,
            "filename": "dbt_bouncer-1.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "517b7d3479853392c7d1550f73d21c7c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.8.1",
            "size": 38863,
            "upload_time": "2024-09-27T07:37:42",
            "upload_time_iso_8601": "2024-09-27T07:37:42.284666Z",
            "url": "https://files.pythonhosted.org/packages/44/1d/a5a72c7c7a942b586b2d874905e7d217411884afe7ebda63782bac0e0cc9/dbt_bouncer-1.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-27 07:37:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "godatadriven",
    "github_project": "dbt-bouncer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dbt-bouncer"
}
        
Elapsed time: 2.03797s