Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

trellis Data

trellis Data

trellis is a lightweight, local-first app that connects conceptual and logical data modeling with how you actually build the warehouse today—dbt-core first, with a live canvas that stays aligned to your project.

Why trellis

Typical pain

  • ERDs live in separate tools and go stale on real projects.
  • Transformations drift from the story the business understands.
  • Stakeholders can’t see structure without wading through SQL and YAML.
  • “All-in-one” warehouse designers rarely meet teams where they are (dbt, git, the modern stack).

What you get with trellis

  • Small PyPI install, local web app — run it beside your dbt project; the canvas and model files (data_model.yml, dbt YAML) stay in version control, so names, relationships, and descriptions evolve like the rest of your code—not a one-off diagram export.
  • One place to see entities, fields, relationships, and descriptions—tied to your repo, not a dead export.
  • Conceptual view for names and meaning; Logical view for columns, types, and materialization detail—switch without losing context.
  • Greenfield: sketch entities and attributes, then push structured artifacts into dbt.
  • Brownfield: load what you already modeled in dbt, infer links from relationship tests, and push descriptions and tags back into the project.

What you can do

  • Visualize your data model — canvas layout, conceptual vs logical views, less manual “diagram maintenance.”
  • Work with your dbt project — point at manifest.json / catalog.json, keep the diagram honest, round-trip descriptions and tags, and generate relationship tests from drawn links.
  • Optional — Kimball-style modeling — classify facts and dimensions, sensible default placement, and a Bus Matrix when your team thinks in stars/snowflakes; you can stay on plain entities if you prefer.
  • Optional — business events & processes — capture events with 7W-style annotations and group them into processes; most useful for greenfield and dimensional workflows. Skip this entirely if it’s not your methodology.

Getting started

Install

pip install trellis-datamodel
# or: uv pip install trellis-datamodel

Run next to your dbt project

  1. cd /path/to/your/dbt-project
  2. trellis init — creates trellis.yml (point it at your dbt paths and artifacts).
  3. trellis run — opens http://localhost:8089 (use trellis run --help for port and config path).

Generate manifest.json and catalog.json with dbt docs generate in your dbt project so trellis can load models; without them, the UI may start but show no dbt-backed entities.

Install from source or hack on the app: see CONTRIBUTING.md.

Examples & walkthroughs

Short video walkthroughs:

Getting started Init, settings in the UI, conceptual vs logical, relationships, push to dbt.
dbt integration Link a project, mock data, bind entities to models, stay in sync with artifacts.
Documenting business processes Optional / experimental: events, 7Ws, processes—enable in config or UI first.

More narrative walkthroughs and context: full tutorial · general information.

Configuration

After trellis init, edit trellis.yml. Annotated options and defaults live in trellis.yml.example (paths, modeling style, optional lineage/exposures, entity guidance, prefixes, etc.).

You can also open /config in the app to edit settings in the browser (validated saves; see example file for field meanings).

Landing page and Canvas defaults

Choose the page shown when opening the root URL, and optionally define shared Canvas filters:

start_page: canvas  # or entity-list
canvas:
  default_filters:
    domains: []
    tags: []

start_page affects only /; explicit routes such as /canvas and /entity-list remain authoritative. Canvas defaults are project-wide settings stored in version-controlled trellis.yml, not personal preferences. They are applied once to an otherwise unfiltered Canvas session. Users can clear or change them while working; those session changes are reversible and are not written back to trellis.yml.

From Entity List, Open filtered on Canvas opens the complete current filtered result set on Canvas. An explicit Canvas URL entity filter takes precedence over project-wide domain and tag defaults.

Apache Ossie export

Trellis can also write an Apache Ossie semantic model. The feature is opt-in and beta:

ossie:
  enabled: true

The document is written to semantic_model.yml beside data_model.yml. Set ossie.file to put it somewhere else, and ossie.source.database / ossie.source.schema to override the address segments the adapter reports (those reflect whatever target last ran dbt). Only entities bound to a model are exported: draft entities, and relationships that touch them, are skipped and listed as warnings in the Push response.

Vision

trellis is built and tested around dbt-core today. The longer-term idea is to stay tool-agnostic—concepts outlive any one framework. Possible directions include dbt Fusion, Pydantic-flavored exports, or adapters for tools like SQLMesh or Bruin where it makes sense. For now, the focus is a great experience with dbt-core.

Contributing

Contributions welcome. Workflow, local dev, tests, and packaging: CONTRIBUTING.md. All contributors sign the CLA once per GitHub account—see CLA.md and the bot on your PR.

Acknowledgments

  • dbt-colibri for lineage-related capabilities that support trellis visualization.

License

trellis Datamodel is licensed under the GNU Affero General Public License v3.0. See NOTICE for a short summary of copyright and licensing.

Metadata

Release files for trellis-datamodel 0.25.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trellis-datamodel 0.25.0b1
File Size Uploaded Provenance Actions
trellis_datamodel-0.25.0b1.tar.gz 1.1 MB With provenance Details for trellis_datamodel-0.25.0b1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for trellis-datamodel 0.25.0b1
File Interpreter ABI Platform Actions
trellis_datamodel-0.25.0b1-py3-none-any.whl Python 3 none any Details for trellis_datamodel-0.25.0b1-py3-none-any.whl

Total release size: 2.3 MB

Release files / trellis_datamodel-0.25.0b1.tar.gz

Download URL trellis_datamodel-0.25.0b1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
8628620309a60f4ba4462e583a57590d2f7e90c4f02b2760be47a40cf8ae4fce
BLAKE2b-256 checksum
How to use checksums
c0771c50fb45e4b17dda0c711279161e745852fa23680766e221d31477dbdd40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / trellis_datamodel-0.25.0b1-py3-none-any.whl

Download URL trellis_datamodel-0.25.0b1-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8c88a9017cabc9047e7d6eea45611ea7acc2a9343ecbf9a693afabda000cb264
BLAKE2b-256 checksum
How to use checksums
6d5e9df812269b9066b98e58690a38c71b2bf41dcce30269679a80d1157bc948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for trellis-datamodel 0.25.0b1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for trellis_datamodel-0.25.0b1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page