dbt-loom

0.9.4 · active · verified Thu Apr 16

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.

Common errors

Warnings

Install

Imports

Quickstart

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

view raw JSON →