Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.13 free-threading compatibility #8199

Closed
14 tasks done
lysnikolaou opened this issue Jul 4, 2024 · 10 comments
Closed
14 tasks done

Python 3.13 free-threading compatibility #8199

lysnikolaou opened this issue Jul 4, 2024 · 10 comments
Labels
Free-threading PEP 703 support

Comments

@lysnikolaou
Copy link
Contributor

lysnikolaou commented Jul 4, 2024

Hey all! 👋

This aims to be a tracking issue for all work necessary to support the free-threaded build of Python 3.13. A very high-level list of steps is (more details to follow as I investigate more issues):

@hugovk
Copy link
Member

hugovk commented Jul 4, 2024

Thanks for opening this issue!

As some background, the acceptance of PEP 703 lays out the three phases for disabling the GIL. Python 3.13 is the first in the experimental phase I, where a free-threaded build is available as an option in the Windows and macOS installers, and can be built for Linux (and the other platforms) using an extra flag.

So now is a good time to start testing on free-threaded builds, and getting the code ready. It will be good to produce wheels at some point, to help others test and integrate. These will be experimental and not for production.

I've made a start on the first two steps, I'll open a PR for the CI first.

Some handy references:

@hugovk
Copy link
Member

hugovk commented Jul 4, 2024

Please see PR #8200 to set up CI for free-threading.

@hugovk
Copy link
Member

hugovk commented Jul 13, 2024

I'm working on this today with @lysnikolaou at the EuroPython sprints.

It would help the ecosystem if we also upload nightly wheels so others can test the current code without needing to wait for quarterly releases.

@lysnikolaou has requested access at scientific-python/upload-nightly-action#84 for us to upload to the Scientific Python Nightly Wheels index, where other projects like SciPy are uploading.

See also https://labs.quansight.org/blog/free-threaded-python-rollout and https://py-free-threading.github.io/.

@radarhere
Copy link
Member

If anyone would like wheels generated after #8216, here you go - Linux.zip, macOS.zip, Windows.zip

@lysnikolaou
Copy link
Contributor Author

lysnikolaou commented Jul 18, 2024

Nightly wheels for Linux, macOS and Windows are now available on https://anaconda.org/scientific-python-nightly-wheels/pillow/.

@rgommers
Copy link

https://anaconda.org/scientific-python-nightly-wheels/pillow rather than pandas. And, yay thank you both! 🎉

@radarhere
Copy link
Member

Every task in this issue has been completed - is this just open now as a tracking issue until Python 3.13 is finalized?

@lysnikolaou
Copy link
Contributor Author

is this just open now as a tracking issue until Python 3.13 is finalized?

Yes, I'd leave it open until at least the final release of 3.13 and see how it goes from there.

radarhere added a commit to radarhere/Pillow that referenced this issue Sep 10, 2024
radarhere added a commit to radarhere/Pillow that referenced this issue Sep 10, 2024
radarhere added a commit to radarhere/Pillow that referenced this issue Sep 10, 2024
@radarhere
Copy link
Member

Python 3.13 has now been released - https://www.python.org/downloads/release/python-3130/

@radarhere
Copy link
Member

Pillow 11.0.0 has now been released, with 3.13t wheels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Free-threading PEP 703 support
Projects
None yet
Development

No branches or pull requests

4 participants