dbt-score
Linter for dbt metadata.
Decision gist · record as of 2026-08-14
Yes. dbt-score addresses a real gap in dbt project governance—automated enforcement of metadata quality at scale. It has low install friction, permissive licensing, no known vulnerabilities, active maintenance, and integrates naturally into existing dbt workflows. Install it if your team maintains multiple dbt models and wants programmatic quality gates; skip it only if your project is too small to benefit from standardized linting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later and dbt-core 1.5 or later installed in the same environment.
- Installs cleanly with only two lightweight runtime dependencies (click and tomli).
- Marked as active maintenance with a recent release in 2026.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
last release 2026-04-07 (129 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 121,571 downloads/mo, #11,976 on PyPI
Alternatives
Verify before relying
pip install dbt-score
# From your dbt project root:
dbt-score lint
# With configuration in pyproject.toml:
[tool.dbt-score]
fail_project_under = 7.5
fail_any_item_under = 8.0- Whether the built-in rule set covers your organization's specific data quality standards or if custom rules are required
- Performance characteristics when linting large dbt projects with hundreds or thousands of models
- Integration experience with specific dbt-core versions beyond the stated 1.5+ requirement
What it is and what it does
dbt-score is a linting and scoring tool for dbt projects that evaluates model metadata quality against configurable rules. It assigns numerical scores (0-10) to individual models and computes an overall project score, helping data teams enforce consistent documentation, testing, naming, and structural standards across their dbt codebase.
The tool runs from the command line, reads your dbt manifest, and reports violations organized by severity and rule type. It integrates with CI/CD pipelines by exiting with success or failure status based on configurable thresholds, and supports selective linting via dbt's selection syntax. Configuration happens in pyproject.toml, where you can disable rules, adjust severity levels, customize scoring badges, and set pass/fail thresholds for both individual models and the overall project.
Use it for
- Enforce documentation standards in CI/CD by failing builds when models lack descriptions or owners
- Track data quality improvements over time by monitoring project scores and individual model ratings
- Prevent technical debt by catching overly long SQL queries and models without adequate test coverage
- Create custom rules to enforce organization-specific naming conventions or governance metadata
- Lint only recently changed models or specific project sections using dbt selection syntax
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
dbt-score addresses a real gap in dbt project governance—automated enforcement of metadata quality at scale. It has low install friction, permissive licensing, no known vulnerabilities, active maintenance, and integrates naturally into existing dbt workflows. Install it if your team maintains multiple dbt models and wants programmatic quality gates; skip it only if your project is too small to benefit from standardized linting.
Install
dbt-score on PyPI
Before you install
Installs cleanly with only two lightweight runtime dependencies (click and tomli). Marked as active maintenance with a recent release in 2026.
Requires Python 3.10 or later and dbt-core 1.5 or later installed in the same environment.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install dbt-score
# From your dbt project root:
dbt-score lint
# With configuration in pyproject.toml:
[tool.dbt-score]
fail_project_under = 7.5
fail_any_item_under = 8.0
Verify before relying
- Whether the built-in rule set covers your organization's specific data quality standards or if custom rules are required
- Performance characteristics when linting large dbt projects with hundreds or thousands of models
- Integration experience with specific dbt-core versions beyond the stated 1.5+ requirement
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesclicktomli |
| Maintenance | Actively maintained 129 days since the last release |
| First released | |
| Downloads | 121,571 / month, #11,976 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: dbt_score-0.16.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “dbt linter metadata quality”
- dbt-scoredbt-score lints dbt models against configurable rules for…
- collate-sqlfluffSQLFluff is a SQL linter and auto-fixer that checks SQL code for…
- sqlfluffSQLFluff is a SQL linter and auto-fixer that checks SQL code for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also dbt-bouncer · dbt-loom · sqlfluff-templater-dbt · dtlpymetrics · dbt-clickhouse · dbt-semantic-interfaces · gitlint-core · dbt-core · j2lint · ick