Data contract coordination for warehouses
Docs | Quick Start | Issues
Tessera coordinates breaking changes between data producers and consumers.
When a producer wants to drop a column, Tessera notifies affected consumers and blocks the change until they acknowledge. No more 3am pages from broken pipelines.
Producer: "I want to drop user_email"
↓
Tessera: "3 teams depend on this. Notifying them."
↓
Consumers: "We've migrated. Approved."
↓
Producer: Ships v2.0.0 safely
Quick Start
# Docker (recommended)
docker compose up -d
open http://localhost:8000
# Or from source
uv sync --all-extras
docker compose up -d db # PostgreSQL
uv run uvicorn tessera.main:app --reload
Key Features
- Schema contracts - JSON Schema, Avro, OpenAPI, and GraphQL support
- Breaking change detection - Auto-detect incompatible changes
- Consumer registration - Track who depends on what
- Proposal workflow - Coordinate changes across teams
- Multi-source imports - dbt manifests, OpenAPI specs, GraphQL schemas, Avro registries
- Web UI - Visual interface for managing contracts
Global Search
Search across teams, users, assets, and contracts:
curl "http://localhost:8000/api/v1/search?q=payments&types=assets&types=contracts&limit=5"
Configuration
Webhook settings (optional):
WEBHOOK_URL- Destination for webhook eventsWEBHOOK_SECRET- HMAC secret for webhook signaturesWEBHOOK_ALLOWED_DOMAINS- Comma-separated domain allowlist (e.g.example.com,webhooks.mycorp.com)
How It Works
- Producers publish contracts (schema + guarantees) for their data assets
- Consumers register dependencies on contracts they use
- Breaking changes create proposals requiring consumer acknowledgment
- Non-breaking changes auto-publish with version bumps
Documentation
Full documentation at ashita-ai.github.io/tessera:
License
MIT
Metadata
Release files for tessera-contracts 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tessera_contracts-0.2.0.tar.gz | 3.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tessera_contracts-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.7 MB
Release files / tessera_contracts-0.2.0.tar.gz
| Download URL | tessera_contracts-0.2.0.tar.gz |
|---|---|
| Size | 3.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
916b87bf1880710c8cfe62105f8c8ac627c6a8d8722a7057ca9adf3c9e02791e
|
|
BLAKE2b-256 checksum How to use checksums |
d52802f5c6b64759a4730dcdd18eaa98f26e8938313d7239216a24573cdbd330
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / tessera_contracts-0.2.0-py3-none-any.whl
| Download URL | tessera_contracts-0.2.0-py3-none-any.whl |
|---|---|
| Size | 634.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4fd4becb878ad3eeb738a7b6984d09428fc44c000e8b52ae67c593a0265abc2e
|
|
BLAKE2b-256 checksum How to use checksums |
7a9d737fae8c481b2fe1aaada4c5873d4c6d0ba84a875a3c0ea110d6330e2af2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for tessera-contracts 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.