An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


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

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