Skip to main content
     |  |     |        |                |  |               
  _` |   _ \   _| ____| _|   _ \   _ \  |   _ \   _ \ \ \ /
\__,_| _.__/ \__|     \__| \___/ \___/ _| _.__/ \___/  _\_\

A powerful CLI toolkit to supercharge your dbt development workflow
license last-commit repo-top-language repo-language-count

Built with the tools and technologies:

Typer Python yamlium SQLGlot uv

dbt-toolbox

A powerful CLI toolkit that supercharges your dbt development workflow with intelligent caching, dependency analysis, and enhanced documentation generation.

🚀 What Makes dbt-toolbox Amazing

Smart Caching & Performance

  • Lightning-fast model parsing with intelligent cache invalidation
  • Persistent Jinja environment caching for instant macro resolution
  • Dependency graph caching for rapid upstream/downstream analysis
  • Test-aware caching: re-runs models when test definitions change or tests fail (build only)
  • Fuzzy model name matching to catch typos automatically

Enhanced dbt Commands

  • dt build - Drop-in replacement for dbt build with enhanced output and performance
  • dt run - Drop-in replacement for dbt run with smart execution and caching
  • Target-specific options for environment control
  • Intelligent pre/post processing hooks

LLM Ready via MCP server

  • Contains mcp server to make your LLM powered dbt development even better.
  • Tools support the most common dbt-toolbox featuers.

Intelligent Documentation

  • dt docs - YAML documentation generator with smart column inheritance
  • Automatically inherits descriptions from upstream models and macros
  • Tracks column changes (additions, removals, reordering) between runs
  • One-click clipboard integration

Dependency Intelligence

  • Lightweight DAG implementation for model and macro relationships
  • Efficient upstream/downstream traversal
  • Node type tracking and statistics
  • Perfect for impact analysis and refactoring

Configuration

  • Multi-source settings hierarchy (env vars > TOML > dbt profiles > defaults)
  • Dynamic dbt profile and target integration
  • Source tracking for all configuration values

🛠️ Installation

# Using uv
uv add dbt-toolbox

# Or install with pip
pip install dbt-toolbox

# Install with MCP server support
uv add "dbt-toolbox[mcp]"

⚡ Quick Start

# Initialize and explore your project
dt settings                    # View all configuration

# Enhanced dbt commands with caching
dt build                      # Build with intelligent caching
dt run --model +my_model+     # Support for most dbt selection syntax
dt build --target prod        # Build against production target

# Analyze cache and dependencies
dt analyze                    # Analyze all models
dt analyze --model customers+ # Analyze specific model selection

# Generate documentation YAML
dt docs --model customers     # Generate docs for specific model
dt docs -m orders --clipboard # Copy to clipboard

📋 Core Commands

Command Description
dt build Enhanced dbt build with caching and better output
dt run Enhanced dbt run with intelligent execution and caching
dt docs Generate YAML documentation with smart inheritance
dt analyze Analyze cache state and model dependencies without execution
dt clean Clear all cached data with detailed reporting
dt settings Inspect configuration from all sources

MCP Server Integration

dbt-toolbox can also run as an MCP (Model Context Protocol) server, enabling integration with external tools and AI assistants like Claude Code.

Key Features:

  • Expose dbt-toolbox functionality through standardized MCP protocol
  • Same intelligent caching and validation as CLI commands
  • Perfect for AI-assisted dbt development workflows

Quick Setup:

# Install with MCP support
uv add "dbt-toolbox[mcp]"

# Available MCP tools:
# - analyze_models: Validate model references and column lineage
# - build_models: Build models with intelligent execution

For detailed MCP server setup and usage, see MCP.md.

🏗️ Key Features

Intelligent Caching System

dbt-toolbox caches parsed models, macros, and Jinja environments in .dbt_toolbox/ directory with smart invalidation based on file changes and project configuration. After upgrading dbt-toolbox, run dt clean to clear the cache.

Smart Execution & Lineage Validation

  • Only executes models that actually need rebuilding based on dependency analysis
  • Optional lineage validation to catch broken references before execution
  • Configurable model validation ignore lists for legacy models
  • Cache validity controls for optimal performance

Dependency Graph Analysis

Lightweight DAG implementation provides efficient model relationship tracking:

  • Upstream/downstream dependency resolution
  • Node type classification (models, macros, sources)
  • Impact analysis for refactoring

Enhanced CLI Experience

  • Colored output with progress indicators
  • Target-specific execution (--target option)
  • Command shadowing for seamless dbt integration
  • Comprehensive error handling and reporting

Smart Documentation Generation

The dt docs command intelligently inherits column descriptions from:

  • Upstream model columns with matching names
  • Macro parameters that reference the columns
  • Existing schema.yml documentation

⚙️ Configuration

dbt-toolbox supports configuration through multiple sources with the following precedence:

  1. Environment Variables (highest priority)
  2. TOML Configuration (pyproject.toml)
  3. dbt Profiles (for SQL dialect)
  4. Auto-detection (for project paths)
  5. Defaults (lowest priority)

Key Configuration Options

For an exhaustive list see CLI.md

Setting Description Default
dbt_project_dir Path to dbt project Auto-detected
cache_path Cache directory location .dbt_toolbox
cache_validity_minutes Cache validity duration 1440 (24 hours)
enforce_lineage_validation Enable lineage validation true
models_ignore_validation Models to skip validation []
debug Enable debug logging false
skip_placeholder Skip placeholder descriptions false
placeholder_description Custom placeholder text "TODO: PLACEHOLDER"

Configuration Examples

Environment Variables:

export DBT_TOOLBOX_ENFORCE_LINEAGE_VALIDATION=false
export DBT_TOOLBOX_MODELS_IGNORE_VALIDATION="legacy_model,staging_temp"
export DBT_TOOLBOX_CACHE_VALIDITY_MINUTES=720 # Default=1440

TOML Configuration:

[tool.dbt_toolbox]
enforce_lineage_validation = false
models_ignore_validation = ["legacy_model", "staging_temp"]
cache_validity_minutes = 720 # Default=1440

📚 Documentation

🧪 Testing Integration

dbt-toolbox includes a testing module for your dbt projects:

from dbt_toolbox.testing import check_column_documentation

def test_model_documentation():
    """Ensure all model columns are documented."""
    result = check_column_documentation()
    if result:
        pytest.fail(result)

⭐ Roadmap

  • dt docs: Automatic yaml docs generation.
  • Smart model selection: Smart caching and model selection for optimized executions.
  • MCP Server: Publish commands via MCP server.
  • Expand testing stack: Build out the dbt_toolbox.testing stack.
  • dt test Command, with test parsing and caching.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for development setup, coding standards, and contribution guidelines.

📄 License

MIT License - Feel free to use this project in your own work.

🙏 Acknowledgments

Built with modern Python tooling:

  • Typer for the CLI framework
  • SQLGlot for SQL parsing and optimization
  • Jinja2 for template processing
  • yamlium for YAML manipulation and generation
  • uv for dependency management

Metadata

Release files for dbt-toolbox 0.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbt-toolbox 0.12.0
File Size Uploaded Provenance
dbt_toolbox-0.12.0.tar.gz 349.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dbt-toolbox 0.12.0
File Interpreter ABI Platform
dbt_toolbox-0.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 434.7 kB

Release files / dbt_toolbox-0.12.0.tar.gz

Download URL dbt_toolbox-0.12.0.tar.gz
Size 349.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0803285d5071dc04fe3a23eab7da06282d8fc64c53214e4ead07e6ec52e68523
BLAKE2b-256 checksum
How to use checksums
8f18a3277d1512ad87e0dce0f8fdc7de631440d525c5c45ec04b53906f6d5393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.

Transparency log

Release files / dbt_toolbox-0.12.0-py3-none-any.whl

Download URL dbt_toolbox-0.12.0-py3-none-any.whl
Size 85.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea3c770621dce5481e5d94526d021eb7ea52e466d804d4db9e07f8f1b30266aa
BLAKE2b-256 checksum
How to use checksums
2177abfad8c7c0f373aaa3310c8dc1add6c1dcbdf8b78e4bde6aa9b1b91f1f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.

Transparency log

Security for dbt-toolbox 0.12.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for dbt_toolbox-0.12.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page