fix(python-fastapi): update requirements for Python 3.14 support
Update the python-fastapi generator's requirements.txt template so the generated FastAPI server installs cleanly on Python 3.14.
Root cause: the template pins typing-extensions==4.13.2. Modern pydantic (2.13.x) requires typing-extensions>=4.14.1, so pip is forced to resolve an older pydantic, whose pydantic-core has no CPython 3.14 wheel — pip then tries to build it from source with an old PyO3 (0.24.1) that rejects Python 3.14, failing the pip install in Docker.
Changes (5 lines):
typing-extensions4.13.2→4.16.0— unlocks pydantic ≥ 2.13 (itspydantic-coreships a cp314 wheel)httptoolsupper bound<0.7.0→<0.9.0— 0.7.1+/0.8.0 ship cp314 wheels (0.6.x has none)uvloop0.21.0→0.22.1— first release with cp314 wheelsMarkupSafe2.0.1→3.0.3— first with cp314 wheels (2.0.1 has none)orjson3.11.6→3.12.0— newer wheel coverage (3.11.6 already has cp314)
All upgraded packages still provide CPython 3.10 wheels (the sample CI matrix), verified via pip dry-run against the 3.10 and 3.14 manylinux targets; the local install + import smoke test on 3.11 passes (fastapi TestClient, pydantic 2.13.4, jinja2/markupsafe, httptools/orjson/uvloop).
Fixes #24788.
Summary by cubic
Updates the python-fastapi generator's requirements.mustache and sample requirements.txt so the generated FastAPI server installs cleanly on Python 3.14. The old pins forced pip to resolve an older pydantic whose pydantic-core has no CPython 3.14 wheel, so pip tried to build it from source and failed.
- Bumping
typing-extensionsto 4.16.0 unlockspydantic≥ 2.13, which ships CPython 3.14 wheels. - Also bumps
httptools,uvloop,MarkupSafe, andorjsonto versions with CPython 3.14 wheels. - All upgraded packages still provide CPython 3.10 wheels, verified against the sample CI matrix; the install and import smoke test passes on 3.11. Fixes #24788.