Skip to content

tasman_logo tasman_logo


We are the boutique analytics consultancy that turns disorganised data into real business value. Get in touch to learn more about how Tasman can help solve your organisations data challenges.

uv Python PyPI tests

dbt-datadict

Tool for managing consistent column descriptions across a dbt project.

Key features:

  1. Rapid creation of model YAML files, leveraging dbt-labs/dbt-codegen 💥 (no more copy/pasting from the terminal 🙌)
  2. In-place updates to model YAML on schema changes 🧙
  3. Consolidation of column descriptions into a data dictionary 📓
  4. Keeps column descriptions in sync with a single command 🔃

Installation ⏬

Install from PyPI:

# with pip
pip install dbt-datadict

# with uv
uv add --dev dbt-datadict

Getting started 🚀

Tip

Check out the full user guide at:

Run the tool with the datadict command. There are two supported commands:

  • generate: Generates model YAML files using the dbt-codegen package.
  • apply: Applies data dictionary updates to existing model YAML files.
datadict generate
datadict apply

⚠️ Important note ⚠️

It is highly recommend to only use this library in a version controlled environment, such as git. Additionally, please ensure that you have backed up your model YAML files and data dictionary before applying any updates. The application modifies files in place and does not create backups automatically.

Use this application responsibly and verify the updates before proceeding.

Contributing

We encourage you to contribute to this project! Please check out our contribution guide for details.

License

This tool is released under the GNU General Public License v3.0. See LICENSE for details.