GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — add free-threading support by kumaraditya303 · Pull Request #693 · MagicStack/uvloop

Conversation

@kumaraditya303

@kumaraditya303 kumaraditya303 commented Oct 11, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

This adds free-threading support by adding freethreading_compatible=True in loop.pyx and also enables CI and wheels for 3.14t.

cc @fantix

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

fantix and Vizonex reacted with heart emoji achimnol, Vizonex, Ahajha, doronz88, fukutu, and EDM115 reacted with eyes emoji
All reactions
  • ❤️ 2 reactions
  • 👀 6 reactions
@kumaraditya303
add free-threading support
2a6cd13
@kumaraditya303
kumaraditya303 force-pushed the master branch from 0060018 to 2a6cd13 Compare October 11, 2025 14:33
kumaraditya303
kumaraditya303 commented Oct 11, 2025
View reviewed changes
Comment thread tests/test_tcp.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

@kumaraditya303
kumaraditya303 force-pushed the master branch from 26da437 to 155374c Compare October 11, 2025 14:48
@kumaraditya303 kumaraditya303 mentioned this pull request Oct 11, 2025
uvloop 0.22.0 #692
Merged
@kumaraditya303
fix test
9168e62
@kumaraditya303
kumaraditya303 force-pushed the master branch from 155374c to 9168e62 Compare October 11, 2025 16:00
@Vizonex

Vizonex commented Oct 11, 2025

Copy link
Copy Markdown

Don’t mind by me asking but do you have the time to look into winloop as well? Or will I have to mirror everything and guess with blind faith?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@achimnol

achimnol commented Oct 12, 2025

Copy link
Copy Markdown
Contributor

👀 Also looking forward to MagicStack/asyncpg having free-threading support...

Vizonex and grillazz reacted with heart emoji
All reactions
  • ❤️ 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Vizonex

Vizonex commented Oct 12, 2025

Copy link
Copy Markdown

👀 Also looking forward to MagicStack/asyncpg having free-threading support...

Same

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kumaraditya303

kumaraditya303 commented Oct 12, 2025

Copy link
Copy Markdown
Contributor Author

Don’t mind by me asking but do you have the time to look into winloop as well? Or will I have to mirror everything and guess with blind faith?

There isn't anything to guess with blind faith here, you can follow the guide at https://py-free-threading.github.io/ci/ to add free-threading CI to projects you wish. I have never looked at winloop before so I'll not have time for that atm.

Vizonex and doronz88 reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@1st1

1st1 commented Oct 14, 2025

Copy link
Copy Markdown
Member

Would be nice to add a test (should be possible with uv) that it does actually work cc @fantix

Vizonex reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kumaraditya303

kumaraditya303 commented Oct 14, 2025

Copy link
Copy Markdown
Contributor Author

Would be nice to add a test (should be possible with uv) that it does actually work cc

The existing tests pass on free-threading 3.14t CI which I added as part of this PR (the failing one test is a flaky test), do you want a test where uvloops are run in parallel threads?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

fantix
fantix approved these changes Oct 14, 2025
View reviewed changes
@fantix
Add test
ae2029f
@fantix

fantix commented Oct 14, 2025

Copy link
Copy Markdown
Member

I added a race-condition test, which is confirmed to fail without freethreading_compatible=True. @1st1

Many thanks to @kumaraditya303 for putting this altogether!

Vizonex reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fantix
Bump Cython version
0509ee4
@Vizonex Vizonex mentioned this pull request Oct 15, 2025
add 3.14 free-threading support Vizonex/Winloop#83
Merged
3 tasks done
@Vizonex

Vizonex commented Oct 15, 2025

Copy link
Copy Markdown

@kumaraditya303 I'm going to start mirroring these changes going on. No promises of when I'll finish unless It gets done in a rational amount of time. If needed I will open a uv virtual environment with the free-threading settings and version 3.14 set and testing locally.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Vizonex

Vizonex commented Oct 15, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Good News: I have successfully mirrored the changes from here, winloop 0.3.0 will release soon since I now obey how version numbers actually work and since the __init__.py script for winloop significantly changed. Thanks for your help again.

Bad News: uvloop also seems there's some rounding bugs with macos from the tests that I've seen I am also question why my library has the same problem. But maybe if we find a way to fix it I'll try doing the same with winloop's end. Rounding has always been a bit of a problem for a while (not sure why exactly).

fantix reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fantix

fantix commented Oct 15, 2025

Copy link
Copy Markdown
Member

Yeah, it's definitely getting more flaky to run tests, and there're a few warnings to take care of. Let's release for Python 3.14 first, and get back to those as follow-ups.

Vizonex reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Vizonex

Vizonex commented Oct 15, 2025

Copy link
Copy Markdown

Yeah, it's definitely getting more flaky to run tests, and there're a few warnings to take care of. Let's release for Python 3.14 first, and get back to those as follow-ups.

Good idea.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fantix
fantix merged commit 286b370 into MagicStack:master Oct 15, 2025
fantix added a commit that referenced this pull request Oct 15, 2025
@fantix
uvloop 0.22.0
c660c77
Changes
=======

* Fixes for Python 3.14 (#638)
  (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637)

* Add free-threading support (#693)
  (by @kumaraditya303 in 286b370 for #642)

Fixes
=====

* Use Cython `enum` for `__PREALLOCED_BUFS` (#634)
  (by @jakirkham in 7bb12a1 for #634)

* test: fix getaddrinfo test (#663)
  (by @fantix in 5680792 for #663)

* test: fix task name for Python 3.13.3/3.14 (#662)
  (by @cjwatson in 96b7ed3 for #662)
@fantix fantix mentioned this pull request Oct 15, 2025
Add support for free-threaded (nogil) 3.13 Python #642
Closed
fantix added a commit that referenced this pull request Oct 15, 2025
@fantix
uvloop 0.22.0
4106f7f
Changes
=======

* Fixes for Python 3.14 (#638)
  (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637)

* Add free-threading support (#693)
  (by @kumaraditya303 in 286b370 for #642)

Fixes
=====

* Use Cython `enum` for `__PREALLOCED_BUFS` (#634)
  (by @jakirkham in 7bb12a1 for #634)

* test: fix getaddrinfo test (#663)
  (by @fantix in 5680792 for #663)

* test: fix task name for Python 3.13.3/3.14 (#662)
  (by @cjwatson in 96b7ed3 for #662)
@fantix fantix mentioned this pull request Oct 16, 2025
Upgraded Upload artifact to 4.6.2 #694
Closed
fantix added a commit that referenced this pull request Oct 16, 2025
@fantix
uvloop 0.22.0
5229115
Changes
=======

* Fixes for Python 3.14 (#638)
  (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637)

* Add free-threading support (#693)
  (by @kumaraditya303 in 286b370 for #642)

Fixes
=====

* Use Cython `enum` for `__PREALLOCED_BUFS` (#634)
  (by @jakirkham in 7bb12a1 for #634)

* test: fix getaddrinfo test (#663)
  (by @fantix in 5680792 d9fa054 for #663)

* test: fix task name for Python 3.13.3/3.14 (#662)
  (by @cjwatson in 96b7ed3 for #662)
fantix added a commit that referenced this pull request Oct 16, 2025
@fantix
uvloop 0.22.0
3cf6b44
Changes
=======

* Fixes for Python 3.14 (#638)
  (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637)

* Add free-threading support (#693)
  (by @kumaraditya303 in 286b370 for #642)

Fixes
=====

* Use Cython `enum` for `__PREALLOCED_BUFS` (#634)
  (by @jakirkham in 7bb12a1 for #634)

* test: fix getaddrinfo test (#663)
  (by @fantix in 5680792 d9fa054 for #663)

* test: fix task name for Python 3.13.3/3.14 (#662)
  (by @cjwatson in 96b7ed3 for #662)
@samypr100 samypr100 mentioned this pull request Apr 3, 2026
fix(build): use packaging instead of relying on pkg_resources from setuptools #742
Merged
@rgommers rgommers mentioned this pull request May 15, 2026
[Feature] Free-Threaded Python (3.14t / nogil) Support for SGLang sgl-project/sglang#22889
Open
@maartenbreddels maartenbreddels mentioned this pull request Nov 8, 2026
Segfault in call_soon_threadsafe() when another thread closes the loop (free-threaded Python) #788
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@fantix fantix fantix approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

5 participants

@kumaraditya303 @Vizonex @achimnol @1st1 @fantix
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.