| | | | | |
_` | _ \ _| ____| _| _ \ _ \ | _ \ _ \ \ \ /
\__,_| _.__/ \__| \__| \___/ \___/ _| _.__/ \___/ _\_\
A powerful CLI toolkit to supercharge your dbt development workflow
Built with the tools and technologies:
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 (
buildonly) - Fuzzy model name matching to catch typos automatically
Enhanced dbt Commands
dt build- Drop-in replacement fordbt buildwith enhanced output and performancedt run- Drop-in replacement fordbt runwith 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
dbtdevelopment even better. - Tools support the most common
dbt-toolboxfeatuers.
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 (
--targetoption) - 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:
- Environment Variables (highest priority)
- TOML Configuration (
pyproject.toml) - dbt Profiles (for SQL dialect)
- Auto-detection (for project paths)
- 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
- CLI Reference - Detailed command documentation and examples
- MCP Server Guide - MCP server setup and integration
- Contributing Guide - Development setup and guidelines
🧪 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 thedbt_toolbox.testingstack. -
dt testCommand, 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:
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dbt_toolbox-0.12.0.tar.gz | 349.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.