Metadata-Version: 2.4
Name: tessera-contracts
Version: 0.1.2
Summary: Data contract coordination for warehouses
Project-URL: Documentation, https://ashita-ai.github.io/tessera
Project-URL: Repository, https://github.com/ashita-ai/tessera
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: alembic<2.0.0,>=1.14.0
Requires-Dist: argon2-cffi<24.0.0,>=23.0.0
Requires-Dist: asyncpg<1.0.0,>=0.30.0
Requires-Dist: email-validator<3.0.0,>=2.3.0
Requires-Dist: fastapi<1.0.0,>=0.115.0
Requires-Dist: greenlet<4.0.0,>=3.3.0
Requires-Dist: httpx<1.0.0,>=0.28.0
Requires-Dist: itsdangerous<3.0.0,>=2.0.0
Requires-Dist: jinja2<4.0.0,>=3.1.0
Requires-Dist: jsonschema<5.0.0,>=4.20.0
Requires-Dist: prometheus-client<1.0.0,>=0.21.0
Requires-Dist: pydantic-settings<3.0.0,>=2.6.0
Requires-Dist: pydantic<3.0.0,>=2.10.0
Requires-Dist: python-dotenv<2.0.0,>=1.0.0
Requires-Dist: python-multipart<1.0.0,>=0.0.12
Requires-Dist: pyyaml<7.0.0,>=6.0.0
Requires-Dist: redis<6.0.0,>=5.0.0
Requires-Dist: rich<14.0.0,>=13.0.0
Requires-Dist: slowapi<1.0.0,>=0.1.9
Requires-Dist: sqlalchemy<3.0.0,>=2.0.0
Requires-Dist: typer<1.0.0,>=0.15.0
Requires-Dist: uvicorn<1.0.0,>=0.32.0
Provides-Extra: bigquery
Requires-Dist: google-cloud-bigquery<4.0.0,>=3.25.0; extra == 'bigquery'
Provides-Extra: demo
Requires-Dist: dbt-duckdb>=1.10.0; extra == 'demo'
Provides-Extra: dev
Requires-Dist: mypy<2.0.0,>=1.13.0; extra == 'dev'
Requires-Dist: pytest-asyncio<1.0.0,>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov<7.0.0,>=6.0.0; extra == 'dev'
Requires-Dist: pytest<9.0.0,>=8.0.0; extra == 'dev'
Requires-Dist: ruff<1.0.0,>=0.8.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-gen-files<1.0.0,>=0.5.0; extra == 'docs'
Requires-Dist: mkdocs-literate-nav<1.0.0,>=0.6.0; extra == 'docs'
Requires-Dist: mkdocs-material<10.0.0,>=9.5.0; extra == 'docs'
Requires-Dist: mkdocs<2.0.0,>=1.6.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]<1.0.0,>=0.27.0; extra == 'docs'
Provides-Extra: duckdb
Requires-Dist: duckdb<2.0.0,>=1.0.0; extra == 'duckdb'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/ashita-ai/tessera/main/assets/logo.png" alt="Tessera" width="300">
</p>

<h3 align="center">Data contract coordination for warehouses</h3>

<p align="center">
  <a href="https://ashita-ai.github.io/tessera">Docs</a> |
  <a href="#quick-start">Quick Start</a> |
  <a href="https://github.com/ashita-ai/tessera/issues">Issues</a>
</p>

---

**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

```bash
# 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 definitions with semantic versioning
- **Breaking change detection** - Auto-detect incompatible changes
- **Consumer registration** - Track who depends on what
- **Proposal workflow** - Coordinate changes across teams
- **dbt integration** - Sync contracts from your dbt manifest
- **Web UI** - Visual interface for managing contracts

## 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](https://ashita-ai.github.io/tessera):

- [Quickstart Guide](https://ashita-ai.github.io/tessera/getting-started/quickstart/)
- [Python SDK](https://ashita-ai.github.io/tessera/guides/python-sdk/) | [PyPI](https://pypi.org/project/tessera-sdk/)
- [dbt Integration](https://ashita-ai.github.io/tessera/guides/dbt-integration/)
- [API Reference](https://ashita-ai.github.io/tessera/api/overview/)

## License

MIT
