https://github.com/ashita-ai/tessera
Data contract coordination for data warehouses. Producers publish schemas, consumers register dependencies, breaking changes require acknowledgment.
https://github.com/ashita-ai/tessera
ai database distributed-systems metadata
Last synced: 6 months ago
JSON representation
Data contract coordination for data warehouses. Producers publish schemas, consumers register dependencies, breaking changes require acknowledgment.
- Host: GitHub
- URL: https://github.com/ashita-ai/tessera
- Owner: ashita-ai
- License: mit
- Created: 2025-12-20T06:23:10.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-01-11T02:01:49.000Z (6 months ago)
- Last Synced: 2026-01-11T10:08:57.983Z (6 months ago)
- Topics: ai, database, distributed-systems, metadata
- Language: Python
- Homepage: https://ashita-ai.github.io/tessera/
- Size: 1.99 MB
- Stars: 12
- Watchers: 0
- Forks: 6
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
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
```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, 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:
```bash
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](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