dbt-loom
A dbt-core plugin to import public nodes in multi-project deployments.
What it is and what it does
dbt-loom is a dbt Core plugin that extends dbt's multi-project capabilities by allowing you to fetch public model definitions from upstream dbt projects and inject them into your own project. It works by reading dbt artifact manifests from multiple sources—local files, HTTP(S) URLs, cloud object storage (S3, GCS, Azure), data warehouse stages (Snowflake, Databricks), or dbt hosting platforms (dbt Cloud, Paradime)—and registering those public models as nodes in your dbt project's dependency graph during the dbt-core lifecycle.
The plugin is designed for organizations running multiple dbt projects that need to share model definitions without duplicating code or maintaining separate copies. It integrates transparently into dbt's standard workflow: you configure manifest sources in a YAML file, and dbt-loom handles fetching, parsing, and injection automatically. It supports environment variable interpolation, gzipped manifest files, and selective exclusion of packages from upstream projects.
Use it for:
- Share common data models across multiple dbt projects in a monorepo or multi-repo setup without code duplication.
- Fetch and reuse models from a centralized dbt Cloud or Paradime project in downstream dbt projects.
- Load dbt artifacts stored in cloud object storage (S3, GCS, Azure) to inject models from archived or external dbt runs.
- Integrate dbt projects deployed across different data warehouses (Snowflake, Databricks) by fetching manifests from warehouse stages.
- Exclude specific upstream packages from injection to avoid conflicts when running tools like dbt-project-evaluator.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
dbt-loom is a dbt Core plugin that fetches public model definitions from upstream dbt project artifacts and injects them into your dbt project, enabling multi-project deployments to share models across repositories.
Yes, if you are running multiple dbt projects and need to share model definitions across them. The plugin is actively maintained, has low install friction, and supports a wide range of artifact sources. However, verify the license terms before adopting in proprietary contexts, as the license metadata is missing from the package. No known security vulnerabilities.
Install
dbt-loom on PyPI
pip
pip install dbt-loomuv
uv add dbt-loompoetry
poetry add dbt-loomInstalling dbt-loom
Before you install
Low install friction with a pure Python wheel. Actively maintained as of 50 days ago. Requires dbt-core and 10 runtime dependencies covering cloud storage (AWS, GCP, Azure), dbt hosting providers (dbt Cloud, Paradime), and type stubs.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before adopting in proprietary or restricted-license contexts.
Quickstart
pip install dbt-loom
# Create dbt_loom.config.yml in your working directory:
# manifests:
# - name: upstream_project
# type: file
# config:
# path: path/to/manifest.json
# Then run dbt commands normally; dbt-loom injects models via the plugin hook.
Requires dbt-core 1.6.0-b8 or later (uses dbtPlugin class). For Databricks manifest type, requires dbt-databricks adapter or Python SDK. Databricks and Snowflake types require dbt-core 1.8.0 or newer.
Verify before relying
- Whether the package is published under an open-source license or proprietary terms (license metadata is missing).
- Performance characteristics when fetching and injecting models from large upstream projects or many manifest sources.
- Whether gzipped manifest decompression is automatic or requires explicit configuration.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (<4.0,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — azure-identity, azure-storage-blob, boto3, dbt-core, google-auth, google-cloud-storage, paradime-io, requests, types-networkx, types-pyyaml |
| Maintenance | actively maintained — 50 days since the last release |
| First released | |
| Downloads | 182,948/month — #10,079 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbt_loom-0.9.5-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-fabricA dbt adapter that connects dbt-core to…
permissive · top 5,000 on PyPI
dbt-bouncerdbt-bouncer validates dbt projects against…
permissive · top 15,000 on PyPI
dbt-snowflakedbt-snowflake is the Snowflake adapter for dbt,…
permissive · top 5,000 on PyPI
ubiquergUbiquerg provides a collection of low-level…
permissive · top 15,000 on PyPI
cube_dbtIntegrates dbt models with Cube's semantic…
permissive · top 15,000 on PyPI
dbt-core-interfaceProvides a lightweight Python interface to…
permissive · top 15,000 on PyPI
dbt-dremiodbt-dremio is a dbt adapter that enables data…
permissive · top 15,000 on PyPI
dbt-coverageMeasures documentation and test coverage of dbt…
permissive · top 15,000 on PyPI
dbt-scoredbt-score lints dbt models against configurable…
permissive · top 15,000 on PyPI
dbt-clickhouseA dbt adapter that enables data transformation…
permissive · top 5,000 on PyPI