Zum Inhalt

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)