{"id":23523,"library":"dbt-score","title":"dbt-score","description":"A linter for dbt metadata. It evaluates your dbt project against a set of rules (e.g., naming conventions, documentation coverage, test coverage) and produces a score. Currently at version 0.16.0, requires Python >=3.10.","status":"active","version":"0.16.0","language":"python","source_language":"en","source_url":"https://github.com/dbt-labs/dbt-score","tags":["dbt","linter","metadata","data-engineering","analytics"],"install":[{"cmd":"pip install dbt-score","lang":"bash","label":"Install dbt-score"}],"dependencies":[],"imports":[{"note":"evaluate is exposed at package level, not in submodule","wrong":"from dbt_score.evaluator import evaluate","symbol":"evaluate","correct":"from dbt_score import evaluate"},{"note":"Rule base class is at package level","wrong":"from dbt_score.rules import Rule","symbol":"Rule","correct":"from dbt_score import Rule"},{"note":"rule decorator is at package level","wrong":"from dbt_score.decorators import rule","symbol":"rule","correct":"from dbt_score import rule"}],"quickstart":{"code":"from dbt_score import evaluate\n\n# Run evaluation on a dbt project (assumes dbt_project.yml in current dir)\nresults = evaluate()\nprint(results)\n","lang":"python","description":"Evaluate the dbt project in the current directory. Requires an active dbt project and a valid profiles.yml."},"warnings":[{"fix":"Replace `--output-format json` with `--format json`.","message":"dbt-score 0.16.0 removed the `--output-format` CLI flag in favor of `--format`. All scripts using the old flag will break.","severity":"breaking","affected_versions":">=0.16.0"},{"fix":"Use `from dbt_score.rules_registry import create_registry` instead of `RulesRegistry()`.","message":"The `RulesRegistry` API changed from a class to a module-level factory function in v0.14.","severity":"breaking","affected_versions":">=0.14.0"},{"fix":"Change `from dbt_score.models import Model` to `from dbt_score import Model`.","message":"The `dbt_score.models` module is deprecated. Rules should now import `dbt_score.models.Model` directly.","severity":"deprecated","affected_versions":">=0.15.0"},{"fix":"Ensure the project is built with dbt Core and a local profiles.yml.","message":"dbt-score only works with dbt Core (not dbt Cloud). Attempting to use it with a Cloud-only dbt project will fail.","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-score`.","cause":"dbt-score is not installed in the current environment.","error":"ModuleNotFoundError: No module named 'dbt_score'"},{"fix":"Navigate to the root of your dbt project (where dbt_project.yml resides).","cause":"The current directory does not contain a dbt project.","error":"dbt_score.exceptions.ProjectNotFoundError: Could not find dbt_project.yml"},{"fix":"Create a valid profiles.yml in ~/.dbt/ or set the DBT_PROFILES_DIR environment variable.","cause":"No dbt profiles.yml is present (default location ~/.dbt/profiles.yml).","error":"dbt_score.exceptions.ProfileNotFoundError: Could not find profiles.yml"},{"fix":"Use `format='json'` instead of `output_format='json'`.","cause":"The old `output_format` parameter was renamed to `format` in v0.16.","error":"TypeError: evaluate() got an unexpected keyword argument 'output_format'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}