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
muslpy 3.10–3.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 270.6MB
glibcpy 3.10–3.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.fixMonitor 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.fixBe 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.fixUpgrade 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.fixEnsure 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.