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.

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.24.4b1

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.24.4b1
File Size Uploaded Provenance Actions
trellis_datamodel-0.24.4b1.tar.gz 1.1 MB With provenance Details for trellis_datamodel-0.24.4b1.tar.gz

Built distribution (wheel)

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

Total release size: 2.3 MB

Release files / trellis_datamodel-0.24.4b1.tar.gz

Download URL trellis_datamodel-0.24.4b1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
8b1393b5185d515fbd13e7521ddd989b838830a31f0141eb8420002068c315e9
BLAKE2b-256 checksum
How to use checksums
9bea11ec6545a4034129088062274103b709170a48240113332c52e7a10768c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 16, 2026.

Transparency log

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

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

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 16, 2026.

Transparency log

Security for trellis-datamodel 0.24.4b1

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.24.4b1.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 16, 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