ADR-002: Python 3.14 als Backend-Sprache¶
Status: Akzeptiert Datum: 2026-01-15 Entscheider: Kamerplanter Development Team
Kontext¶
Für das Backend wurde eine Sprache und ein Framework gewählt, die gut zu den Anforderungen (REST-API, Domain-Logik, Celery-Tasks, Typ-Sicherheit) passen.
Entscheidung¶
Python 3.14+ mit FastAPI >= 0.115 und Pydantic v2 für das Backend.
Begründung¶
- FastAPI bietet automatische OpenAPI-Generierung aus Python-Typ-Annotationen
- Pydantic v2 erzwingt Typ-Validierung auf Modell-Ebene
- Celery (Python-native) für Background-Tasks
- Großes Ökosystem für wissenschaftliche Berechnungen (GDD, VPD-Formeln)
Konsequenzen¶
Positiv¶
- Swagger UI und ReDoc out-of-the-box
- Typ-Sicherheit durch Pydantic v2 und Python-Typ-Hints
- mkdocstrings kann automatisch API-Docs aus Google-Style Docstrings generieren
Negativ¶
- Python ist langsamer als Go/Rust für rechenintensive Operationen
- GIL begrenzt echtes Parallelism (für I/O-bound Tasks kein Problem)