⬆️ Support free-threaded Python 3.14t#15149
Conversation
📝 Docs previewLast commit 4850599 at: https://ff6f4152.fastapitiangolo.pages.dev |
|
Thanks for picking this up again! |
| ujson = None # type: ignore | ||
|
|
||
|
|
||
| class _OrjsonModule(Protocol): |
There was a problem hiding this comment.
This is a bit convoluted to avoid type checker shenanigans, as they need to work with or without orjson in the env.
(and the same thing for ujson in this module)
|
Hm, now stuck on |
|
It looks like they need an update either to declare support for the free-threaded build or simply update to the latest PyO3 version, which does that automatically. I might poke at that today to help you out here. |
That would be awesome, thank you so much! |
|
I opened DoctorJohn/fastar#60. |
This comment was marked as resolved.
This comment was marked as resolved.
# Conflicts: # uv.lock
|
Looks like the Mac and Windows tests aren't picking up fastar 0.9.0. |
|
Ok cool, confirmed that bumping to Discussed this internally with Sebastián and decided that we don't want to go so far as bumping Pydantic to 2.12+, as it might create issues for users still on older versions. So, I'll remove this test configuration again and then this PR should be ready for review. |
This comment was marked as resolved.
This comment was marked as resolved.
# Conflicts: # uv.lock
Continues from #13946: adding support for free-threaded Python 3.14t
python-version: "3.14t"orjsonand/orujsonis not installed, cf also 🗑️ DeprecateORJSONResponseandUJSONResponse#14964 which deprecatedORJSONResponse&UJSONResponseorjson&ujsonas a standard test dependencyujson/orjsontests (to ensure coverage goes back to 100%)fastar0.9.0 is usedChecklist
orjson&ujsonon free-threaded runorjson&ujsontests in one specific non-free-threaded runfastarissue on free-threaded run: https://github.com/DoctorJohn/fastar/releases/tag/v0.9.0Open question
Decided not to do this:
pydantic-core&strawberry-graphql(and maybe others) to allow runninguv-resolution: lowest-directon 3.14t as well. This will negatively impact other users on older Python versions / older external lib versions.