dbt-osmosis  by z3z1ma

Optimizing dbt development workflows

Created 4 years ago
621 stars

Top 53.0% on SourcePulse

GitHubView on GitHub
Project Summary

Automates dbt development workflows by providing intelligent schema YAML management, column-level documentation inheritance, and an interactive SQL workbench. It targets dbt developers seeking to optimize productivity, reduce manual effort, and enhance code quality through advanced CLI tools and an optional Streamlit interface.

How It Works

This Python CLI and package centralizes dbt development around four core surfaces: automated schema YAML management (organize, document, refactor), column-level documentation inheritance across dbt lineage, ad-hoc SQL compile/run helpers, and an optional Streamlit workbench for interactive SQL development. It leverages these components to offer features like generation, natural-language helpers, schema diffing, SQL linting, and test suggestions, streamlining common dbt tasks.

Quick Start & Requirements

  • Install: Use uv tool install --with="dbt-<adapter>" dbt-osmosis or pip install "dbt-osmosis" "dbt-<adapter>", replacing <adapter> with your dbt adapter (e.g., duckdb, snowflake).
  • Prerequisites: Python 3.10-3.13, dbt Core 1.8+, and a compatible dbt adapter version.
  • Optional Extras: Install dbt-osmosis[workbench] for the Streamlit UI or dbt-osmosis[openai] for LLM features.
  • Docs: The canonical reference is the Docusaurus site: https://z3z1ma.github.io/dbt-osmosis/

Highlighted Details

  • Comprehensive schema YAML management commands (yaml organize, yaml document, yaml refactor) with preview and auto-apply options.
  • Column-level documentation inheritance automatically propagates documentation across dbt models based on lineage.
  • An optional Streamlit workbench provides an interactive environment for dbt SQL development and exploration.
  • LLM integration (dbt-osmosis[openai]) for natural-language query generation and model synthesis.
  • Supports integration as a pre-commit hook to automatically manage schema YAML changes within commits.
  • Developer tooling built around uv, task, and Ruff for formatting, linting, and testing.

Maintenance & Community

Information regarding notable contributors, sponsorships, partnerships, or community channels (like Discord/Slack) is not detailed in the provided README snippet.

Licensing & Compatibility

The specific open-source license and compatibility notes for commercial use or closed-source linking are not explicitly stated in the provided README snippet.

Limitations & Caveats

Repository test fixtures are currently DuckDB-only, which may require specific setup for contributors testing core functionality. The README does not detail support for platforms outside of the specified Python and dbt Core versions.

Health Check
Last Commit

5 days ago

Responsiveness

Inactive

Pull Requests (30d)
10
Issues (30d)
1
Star History
10 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
3 more.

AutoPR by irgolic

0.1%
1k
AI-powered workflows for codebase automation
Created 3 years ago
Updated 1 month ago
Feedback? Help us improve.