For a typed ORM with automatic migrations in Python you need to maintain 3 sources of truth (SQLAlchemy + Pydantic + Alembic). In Fitz it's ONE type with decorators. Plus 8× RPS and 5× less memory than SQLAlchemy in a reproducible benchmark.
The double (triple) typing of the Python stack
For each entity of your DB in a modern FastAPI you have to maintain:
models.py — SQLAlchemy model (defines the schema).
schemas.py — Pydantic models (defines request/response).






