dbt-osmosis is a Python CLI and package designed to enhance dbt development workflows by automating schema YAML management, column-level documentation inheritance, and providing ad-hoc SQL compile/run helpers. It aims to reduce manual toil and enforce consistency in dbt projects. The library is actively maintained, with version 1.3.0 supporting Python 3.10-3.13 and dbt Core 1.8+. It maintains a regular release cadence, addressing compatibility with newer dbt Core versions.
pip install "dbt-osmosis" "dbt-<adapter>"No compatibility data collected yet for this library.
dbt-osmosis is primarily a CLI tool. To get started, configure YAML routing in your `dbt_project.yml` and then run the `yaml refactor` command. The `--dry-run --check` flags are recommended for a safe preview before applying changes with `--auto-apply`.
Refer to the official dbt-osmosis migration guide and changelog. Ensure your `dbt-osmosis` and `dbt-core` versions are compatible. Upgrade `dbt-osmosis` to the latest version to ensure `dbt-core` compatibility.
Upgrade to dbt-osmosis 1.3.0 or newer. For older versions, carefully review the console output of the `--dry-run --check` command for detected changes, rather than relying solely on the exit code.
Update your `dbt_project.yml` to reflect the new nested structure: `vars: dbt-osmosis: sources:`. Consult the configuration guide for the latest structure.
Update `tests` configurations to `data_tests` in your dbt project files.
Ensure `dbt-osmosis` is updated to a version compatible with your `dbt-core` version. This issue was specifically addressed in dbt-osmosis versions compatible with dbt-core 1.10+.
This is often a compatibility issue between `dbt-osmosis` and `dbt-core`'s internal usage event handling when `dbt-core-interface` is present. Check for updated versions of `dbt-osmosis` or `dbt-core-interface` that resolve this conflict. Alternatively, try installing with `pip` instead of `uv` if the issue persists, as package resolution differences can sometimes mitigate this.
Verify that upstream sources or models have documented columns if inheritance is expected. Review your `dbt_project.yml` configuration for `dbt-osmosis` to ensure it's correctly set up for documentation generation and inheritance. Some configurations might require manual intervention or specific flags like `--synthesize` for LLM-assisted generation.