Is your feature request related to a problem?
No response
Describe the solution you'd like
Hey all! 👋
I took the liberty of looking into adding support for the 3.13 free-threaded build of CPython after multidict (I also plan to look at other libraries under the aio-libs organization). This aims to be a tracking issue for all work necessary to support it, for which I'm going to open a PR shortly.
Hope this all sounds good! Let me know in case there's something that doesn't seem right.
Describe alternatives you've considered
- We could say that people testing on the free-threaded build should only install the pure-Python wheels, but that doesn't seem like the best say forward, since the required changes are not that intrusive.
Additional context
No response
Code of Conduct
Is your feature request related to a problem?
No response
Describe the solution you'd like
Hey all! 👋
I took the liberty of looking into adding support for the 3.13 free-threaded build of CPython after
multidict(I also plan to look at other libraries under theaio-libsorganization). This aims to be a tracking issue for all work necessary to support it, for which I'm going to open a PR shortly.Writerstruct. That's fairly straightforward to solve.URLinstances. Instantiating aURLwith a string url for example callsencode_urlwhich uses anlru_cache. This means that multiple threads might end up sharing the same object, even if theURLobject appears to have been created locally. There's a couple possible solution to this:lru_cacheunder the free-threaded build so that object sharing between threads is more straightfoward.lru_cacheto cache theURLobject itself, it could instead cache the immutable parts that make up aURL.freethreading_compatiblein the cython directives (can be easily done throughpyproject.toml).Hope this all sounds good! Let me know in case there's something that doesn't seem right.
Describe alternatives you've considered
Additional context
No response
Code of Conduct