Metadata-Version: 2.3
Name: slab-schemas
Version: 0.21.0
Summary: Pydantic request/response contract for the slab API — shared by the API and any client (CLI, third parties). Depends on pydantic only.
Author: dev_jeb
Requires-Dist: pydantic>=2.7
Requires-Python: >=3.13
Description-Content-Type: text/markdown

# slab-schemas

The pydantic **wire contract** for the [slab](https://api.slab.dev-jeb.com) trading-card API:
the request and response models (DTOs) and enums that the API serves and its clients consume.

```bash
pip install slab-schemas
```

Depends on **pydantic only** — no server, database, or ORM code — so a CLI or third-party client
can import it to build typed requests and parse responses without pulling in the API.

```python
from slab_schemas.cards import CardSearchQuery
from slab_schemas.collection import CollectionSearchQuery

query = CardSearchQuery(subject="Connor Bedard", year=2023)
# ... POST query.model_dump() to /cards/search, parse the JSON back into the typed result model
```

This is the single source of truth for the API's over-the-wire shape: the API produces these
models and clients (e.g. [`slab-cli`](https://pypi.org/project/slab-cli/)) consume them, so the
two can never drift. Every entity identifier on the wire is a UUID; integer database keys are never
exposed here.

Requires Python 3.13+.
