Open ngoldbaum opened 3 months ago
If you'd like to help, I think the first thing would be to add a new test run to the CI, so we have some test coverage over this new approach. But, I'd assume the Cython code is likely thread-safe as it's just used for parsers.
Probably need the current 3.13 tests passing first though, which will hopefully happen next week after uvloop publish a 3.13 wheel.
I think that getting our in-org hosted deps to run CI / make builds might be another blocker. I think that aiohttp's CI should make use of those wheels rather than compiling them.
3.13 is fully tested and passing now, if anyone wants to look at adding the free-threading testing.
@Yushu2606 what's your point? That doesn't seem related to the discussion here.
@Yushu2606 you probably aren't building with a nightly cython. Right now there isn't a tagged cython version or release that supports free-threading.
Please add cython version or release that supports free-threading.
Is your feature request related to a problem?
Python 3.13 will be available as an experimental free-threaded build that has the GIL disabled. It should hopefully be possible to build aiohttp on the free-threaded build with an updated Cython. I just did so (with some makefile hacking so the build uses a prerelease cython):
Describe the solution you'd like
I don't know what thread safety issues exist in aiohttp, but assuming any C/C++ code is thread safe and the cython code is thread safe, you can declare the modules support free-threading by following https://py-free-threading.github.io/porting/.
Describe alternatives you've considered
Not supporting it?
Related component
Server, Client
Additional context
No response
Code of Conduct