Why
The standard, section 6: the test matrix always includes the newest stable CPython minor and that minor's free-threaded build (3.14 and 3.14t today). Only modern-di, httpware, faststream-outbox and lite-bootstrap test under free-threading.
Repos
compose2pod, db-retry, eof-fixer, faststream-concurrent-aiokafka, faststream-redis-timers, modern-di-aiogram, modern-di-aiohttp, modern-di-arq, modern-di-celery, modern-di-fastapi, modern-di-faststream, modern-di-flask, modern-di-grpc, modern-di-litestar, modern-di-pytest, modern-di-starlette, modern-di-taskiq, modern-di-typer, semvertag.
Change
In .github/workflows/_checks.yml, add "3.14t" to the pytest job's python-version matrix. modern-di's workflow is the reference; it also confirms the interpreter is free-threaded with python -c "import sys; assert not sys._is_gil_enabled()" before running the suite. Add the Programming Language :: Python :: Free Threading :: 2 - Beta classifier where the repo wants to advertise it.
A suite that fails under 3.14t is a real finding, not a reason to drop the entry: fix or record an exemption on the standard's table.
Done when
Every repo above runs its pytest job on 3.14t and is green.
Why
The standard, section 6: the test matrix always includes the newest stable CPython minor and that minor's free-threaded build (
3.14and3.14ttoday). Onlymodern-di,httpware,faststream-outboxandlite-bootstraptest under free-threading.Repos
compose2pod, db-retry, eof-fixer, faststream-concurrent-aiokafka, faststream-redis-timers, modern-di-aiogram, modern-di-aiohttp, modern-di-arq, modern-di-celery, modern-di-fastapi, modern-di-faststream, modern-di-flask, modern-di-grpc, modern-di-litestar, modern-di-pytest, modern-di-starlette, modern-di-taskiq, modern-di-typer, semvertag.
Change
In
.github/workflows/_checks.yml, add"3.14t"to thepytestjob'spython-versionmatrix.modern-di's workflow is the reference; it also confirms the interpreter is free-threaded withpython -c "import sys; assert not sys._is_gil_enabled()"before running the suite. Add theProgramming Language :: Python :: Free Threading :: 2 - Betaclassifier where the repo wants to advertise it.A suite that fails under
3.14tis a real finding, not a reason to drop the entry: fix or record an exemption on the standard's table.Done when
Every repo above runs its pytest job on
3.14tand is green.