Skip to main content

Data contract coordination for warehouses

Project description

Tessera

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 events
  • WEBHOOK_SECRET - HMAC secret for webhook signatures
  • WEBHOOK_ALLOWED_DOMAINS - Comma-separated domain allowlist (e.g. example.com,webhooks.mycorp.com)

How It Works

  1. Producers publish contracts (schema + guarantees) for their data assets
  2. Consumers register dependencies on contracts they use
  3. Breaking changes create proposals requiring consumer acknowledgment
  4. Non-breaking changes auto-publish with version bumps

Documentation

Full documentation at ashita-ai.github.io/tessera:

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tessera_contracts-0.2.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tessera_contracts-0.2.0-py3-none-any.whl (634.9 kB view details)

Uploaded Python 3

File details

Details for the file tessera_contracts-0.2.0.tar.gz.

File metadata

  • Download URL: tessera_contracts-0.2.0.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for tessera_contracts-0.2.0.tar.gz
Algorithm Hash digest
SHA256 916b87bf1880710c8cfe62105f8c8ac627c6a8d8722a7057ca9adf3c9e02791e
MD5 7ac6a7c0ba05a6abf12ea606ebc25b3a
BLAKE2b-256 d52802f5c6b64759a4730dcdd18eaa98f26e8938313d7239216a24573cdbd330

See more details on using hashes here.

File details

Details for the file tessera_contracts-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tessera_contracts-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 634.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for tessera_contracts-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fd4becb878ad3eeb738a7b6984d09428fc44c000e8b52ae67c593a0265abc2e
MD5 2f5a30a9f073019a3808a09a5aa5a93b
BLAKE2b-256 7a9d737fae8c481b2fe1aaada4c5873d4c6d0ba84a875a3c0ea110d6330e2af2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page