Registry / data / dbt-loom

dbt-loom

JSON →
library0.9.4pypypiunverified

dbt-loom is a dbt-core plugin designed to facilitate multi-project deployments by enabling the injection of public model definitions from upstream dbt artifacts into downstream dbt projects. It supports various sources for these artifacts, including local files, remote HTTP(S) endpoints, dbt Cloud, and major object storage providers like S3, Google Cloud Storage, and Azure Storage. The library is currently at version 0.9.4 and is under active development, receiving regular updates to enhance features and maintain compatibility with dbt-core.

pip install dbt-loom
INSTALL
IMPORT
SIG · DBT-LOOM
D
dbt-loom
datapythonv0.9.4
Install
19.5s avg
Import
Disk
278MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.9.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 270.6MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 19.5s · import 0.000s · 267MB
278MB installed
● package 278MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

dbt-loom
dbt-loom functionality is typically configured via dbt_loom.config.yml and hooks into dbt-core's plugin system. Direct Python imports are not usually required by end-users.
dbt-loom operates as a dbt-core plugin, activated through its configuration file (dbt_loom.config.yml) rather than explicit Python imports in user code.

To quickly get started with dbt-loom, first install the package. Then, ensure your upstream dbt project has `access: public` defined for models you wish to share and generate its `manifest.json`. In your downstream dbt project, create a `dbt_loom.config.yml` file pointing to this upstream manifest. Finally, you can reference the public models using the standard `ref('upstream_project_name', 'model_name')` syntax and run your downstream dbt commands.

# 1. Install dbt-loom pip install dbt-loom # 2. Ensure your upstream dbt project has public models defined in its schema.yml # e.g., in upstream_project/models/schema.yml: # models: # - name: public_customers # access: public # 3. Run your upstream dbt project to generate its manifest.json # cd upstream_project && dbt build --target production # 4. Create a dbt_loom.config.yml file in your downstream dbt project's root directory # (replace with actual path to upstream manifest.json) # Example dbt_loom.config.yml: # manifests: # - name: upstream_project # type: file # config: # path: ../path/to/upstream_project/target/manifest.json # 5. Reference the upstream public model in your downstream dbt project # e.g., in downstream_project/models/my_downstream_model.sql: # SELECT * # FROM {{ ref('upstream_project', 'public_customers') }} # 6. Run your downstream dbt project # cd downstream_project && dbt build
Debug
Known issues
gotchadbt-core's plugin API, which dbt-loom utilizes, is still in beta. This means that future updates to dbt-core may introduce breaking changes to the plugin interface, potentially requiring updates to dbt-loom.
fix
Monitor dbt-loom and dbt-core release notes for compatibility updates. Pin dbt-loom and dbt-core versions in your `requirements.txt`.
affects: All dbt-loom versions depending on dbt-core < 1.x (stable plugin API)
gotchaDocumentation generated by `dbt docs generate` for models injected by dbt-loom may be sparse. This is because `PluginNodeArgs` (how dbt-loom injects nodes) are not fully-realized `dbt ManifestNode` objects.
fix
Be aware of this limitation when relying on dbt-generated documentation for cross-project models. Refer to the upstream project's documentation directly for full details.
affects: All versions
breakingdbt-loom requires `dbt-core` version 1.6.0-b8 or newer. For specific features, such as fetching manifest files from Snowflake Stage or Databricks Volumes/DBFS/Workspace, `dbt-core` version 1.8.0 or newer is required.
fix
Upgrade your `dbt-core` installation and compatible dbt adapter to at least 1.6.0-b8, and 1.8.0+ if using advanced warehouse storage manifest sources.
affects: <0.9.0 (and users of older dbt-core versions)
gotchaOnly dbt models explicitly marked with `access: public` in their `schema.yml` file in the upstream project will be injected into downstream projects by dbt-loom.
fix
Ensure all models intended for cross-project consumption are explicitly marked as `access: public` in the upstream dbt project's schema definition.
affects: All versions
Upgrade
Version history
0.9.4latest on PyPI · released Jan 24, 2026
Audit
Dependencies
dbt-corerequiredCore functionality relies on dbt-core's plugin API. Requires dbt-core >=1.6.0-b8, with specific features (e.g., Databricks/Snowflake warehouse manifests) requiring >=1.8.0.
boto3optionalRequired for fetching dbt manifests from AWS S3-compatible object storage.
google-cloud-storageoptionalRequired for fetching dbt manifests from Google Cloud Storage (GCS).
azure-storage-bloboptionalRequired for fetching dbt manifests from Azure Storage.
Agent activity
51 hits · last 30 days
node
45
OpenAI (training)
1
Resources
dbt-loom — pip install dbt-loom · libregistry