dbt-fusion-package-tools
Add your description here
What it is and what it does
dbt-fusion-package-tools is a CLI and library for automatically upgrading dbt package dependencies to versions compatible with dbt Fusion. It reads packages.yml or dependencies.yml from a dbt project, cross-references each package against a local cache of Fusion compatibility data (built from hub.getdbt.com), identifies which versions need updating, and rewrites the version strings in the original file while preserving formatting and comments.
The package centers on four classes: DbtPackageFile (represents a dependency manifest), DbtPackage (a single dependency), DbtPackageVersion (a specific release), and DbtPackageTextFile (preserves raw file layout during rewrites). It includes helper scripts to download package hub data and compute Fusion compatibility matrices, though these are primarily used offline to generate a cached compatibility index. The upgrade workflow is designed to be fast and resilient by avoiding repeated network calls to the package hub.
Use it for:
- Bulk-upgrade all packages in an existing dbt project to Fusion-compatible versions without manual version lookup.
- Dry-run package upgrades to preview changes before committing them to packages.yml.
- Integrate package compatibility checking into CI/CD pipelines to catch incompatible versions early.
- Migrate legacy dbt projects to Fusion by automating the dependency version audit and rewrite step.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Upgrades dbt package dependencies to versions compatible with dbt Fusion by parsing packages.yml/dependencies.yml files, checking compatibility against a local cache of package hub data, and rewriting version strings in place.
Yes, if you maintain dbt projects and need to migrate to Fusion. Install friction is low, maintenance is active, and there are no known vulnerabilities. License treatment is unclear (no SPDX or raw license declared), so verify licensing before use in proprietary codebases. The package is narrowly scoped to a specific dbt workflow; install only if you actually need Fusion compatibility upgrades.
Install
dbt-fusion-package-tools on PyPI
pip
pip install dbt-fusion-package-toolsuv
uv add dbt-fusion-package-toolspoetry
poetry add dbt-fusion-package-toolsInstalling dbt-fusion-package-tools
Before you install
Low friction: pure Python wheel with seven common runtime dependencies (click, typer, requests, rich, pyyaml, mashumaro, dbt-protos). Active maintenance with a release 14 days ago.
Quickstart
pip install dbt-fusion-package-tools
from dbt_fusion_package_tools.main import upgrade_packages
upgrade_packages(path='/path/to/dbt/project', dry_run=True)
Requires Python 3.10 or later (supports up to <3.14). Expects a dbt project directory containing packages.yml or dependencies.yml with at least one package dependency.
Verify before relying
- Whether the package hub cache (fusion_version_compatibility_output.py) is included in the distribution or must be fetched separately.
- Support status for private dbt packages, as the description notes this as an open TODO.
- Whether dry-run mode actually prevents file writes or only prints proposed changes.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (<3.14,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — click, dbt-protos, mashumaro, pyyaml, requests, rich, typer |
| Maintenance | actively maintained — 14 days since the last release |
| First released | |
| Downloads | 401,757/month — #6,923 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_fusion_package_tools-0.21.6-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
dbt-autofixdbt-autofix scans dbt projects for deprecated…
unclear · top 15,000 on PyPI
dbt-osmosisdbt-osmosis is a CLI tool and Python package…
permissive · top 15,000 on PyPI
dbt-metricflowBundles dbt-core and MetricFlow with compatible…
permissive · top 15,000 on PyPI
dbt-sqlserverA dbt adapter that enables data transformation…
permissive · top 15,000 on PyPI
dbt-fabricA dbt adapter that connects dbt-core to…
permissive · top 5,000 on PyPI
dbt-core-experimental-parserExperimental parser for dbt Core v2.0 (alpha),…
permissive · top 5,000 on PyPI
cube_dbtIntegrates dbt models with Cube's semantic…
permissive · top 15,000 on PyPI
dbt-statedbt-state is a dbt plugin that caches model…
permissive · top 15,000 on PyPI
dbt-coverageMeasures documentation and test coverage of dbt…
permissive · top 15,000 on PyPI
cognite-toolkitA command-line tool for configuring,…
permissive · top 15,000 on PyPI