Compiler for business invariants across data-product boundaries.
Project description
Trustline
Business systems fail at the boundaries. Trustline verifies the boundaries.
Trustline compiles YAML contracts into SQL checks and produces a measurable integrity scorecard. See Why Trustline for the seam problem and compiler model.
Quickstart
pip install trustline
trustline audit --demo
The demo audit exits 1 — seeded failures are intentional. See ACME demo.
Scaffold contracts for your product:
trustline init --preset ml-crm-boundary --non-interactive
trustline validate --contracts ./trustline/contracts
Contributors: clone the repo and run make install-dev. See Getting Started.
When to use Trustline
Use Trustline when you need to verify seams between systems — not to orchestrate pipelines or train models:
| Scenario | Init preset |
|---|---|
| ML scores must land in CRM with expected coverage | ml-crm-boundary |
| Training and scoring read from different feature tables | cohort-source-parity |
| Identity funnel retention drops across join stages | funnel-retention |
| Block merges on invalid contract YAML in CI | trustline validate (no preset) |
List presets: trustline init --list-presets. Pattern details: Patterns. Walkthroughs: Use cases.
What Trustline is not
- Not an orchestrator — integrates with Airflow and Dagster; does not replace them
- Not a transform framework — extends dbt; does not replace it
- Not a model training runtime — no training, inference, or feature store
- Not a hosted SaaS — CLI you run in CI or on a schedule
- Not auto-remediation — detects and reports; never auto-fixes
Documentation
| Document | Description |
|---|---|
| Why Trustline | Problem statement and compiler model |
| Patterns | Boundary failure catalog |
| Use cases | Common adoption walkthroughs |
| Stability | Contract and CLI semver policy |
| Getting Started | Install, quick start, CLI |
| ACME demo | Bundled fixture and --demo |
| Overview | Commands, phases, architecture |
| Contract Spec | YAML schema |
| Roadmap | Planned versions |
| Examples | Init presets and templates |
| Contributing | Development |
Development
make check # format, lint, types, tests, coverage
make test
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trustline-0.2.0.tar.gz.
File metadata
- Download URL: trustline-0.2.0.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d8ca81be9fa2317fe9835715c4449357d1c652f4e3c7684bc782804cea428d0
|
|
| MD5 |
097b2affef5a9358c3ecd051a5502bd5
|
|
| BLAKE2b-256 |
eae40eadb8af2250c212a7599f915db8d2adca0fde5309c5cd738995bc7a9844
|
Provenance
The following attestation bundles were made for trustline-0.2.0.tar.gz:
Publisher:
release.yml on OmarFarooq908/Trustline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trustline-0.2.0.tar.gz -
Subject digest:
5d8ca81be9fa2317fe9835715c4449357d1c652f4e3c7684bc782804cea428d0 - Sigstore transparency entry: 2145966538
- Sigstore integration time:
-
Permalink:
OmarFarooq908/Trustline@eec058251e2ba40adbcd1bb96f99f7220a0476e0 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/OmarFarooq908
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eec058251e2ba40adbcd1bb96f99f7220a0476e0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file trustline-0.2.0-py3-none-any.whl.
File metadata
- Download URL: trustline-0.2.0-py3-none-any.whl
- Upload date:
- Size: 64.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d50f23ef6d3a105011dfa6aa25a941a5964318ba3d4bb073f4e7d258d878ca28
|
|
| MD5 |
4da617eeeec5909c944d6125950231cc
|
|
| BLAKE2b-256 |
eef89f1cb91b8c0ecb601be31fdc23277d5c552831a9135a4af73d9d0ea23407
|
Provenance
The following attestation bundles were made for trustline-0.2.0-py3-none-any.whl:
Publisher:
release.yml on OmarFarooq908/Trustline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trustline-0.2.0-py3-none-any.whl -
Subject digest:
d50f23ef6d3a105011dfa6aa25a941a5964318ba3d4bb073f4e7d258d878ca28 - Sigstore transparency entry: 2145966542
- Sigstore integration time:
-
Permalink:
OmarFarooq908/Trustline@eec058251e2ba40adbcd1bb96f99f7220a0476e0 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/OmarFarooq908
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eec058251e2ba40adbcd1bb96f99f7220a0476e0 -
Trigger Event:
push
-
Statement type: