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

feat: add CPython 3.13 --disable-gil build #1564

Merged
merged 4 commits into from
May 13, 2024
Merged

Conversation

mayeut
Copy link
Member

@mayeut mayeut commented Dec 29, 2023

fix #1548

draft while blocked by:

@mayeut mayeut mentioned this pull request May 9, 2024
@mayeut mayeut changed the title Add CPython 3.13 (with & without --disable-gil) feat: add CPython 3.13 --disable-gil build May 9, 2024
@mayeut mayeut changed the title feat: add CPython 3.13 --disable-gil build feat: add CPython 3.13 --disable-gil build May 9, 2024
@mayeut mayeut force-pushed the cpython-3.13 branch 2 times, most recently from 7444855 to 2dafd58 Compare May 10, 2024 07:09
@mayeut
Copy link
Member Author

mayeut commented May 12, 2024

@pradyunsg,

follow-up on your request to add support for free-threaded builds to cibuildwheel:
I was kind of hoping that the release of pip would be any day now.
I see there are a couple of issues blocking a release for now and, if the release can't be planned in the near future, then the option proposed by @henryiii to use the pip beta on python 3.13 (or maybe python 3.13 free-threaded only) could be implemented here.

@henryiii
Copy link
Contributor

I think it would be pretty reasonable to use the beta on 3.13 only. I don't think there's an environment selector for free threaded? I'd prefer not to differentiate on free threaded if there's no environment selector for it.

@henryiii
Copy link
Contributor

Why is setuptools/wheel on 3.12, actually?

@mayeut
Copy link
Member Author

mayeut commented May 13, 2024

As mentioned in the commit message, it shouldn't be there & perhaps especially for python 3.12 where it's not part of ensurepip / venv. Keeping it only as a precaution not to introduce regressions downstream.

@henryiii
Copy link
Contributor

henryiii commented May 13, 2024

I didn't see the description, good. I expect after 3.13 is out for a while, it probably can be removed safely from 3.12 too.

We should probably remove this on other python versions but since it's been there for quite some time, keep them to prevent regressions downstream.
@pradyunsg
Copy link
Member

I was kind of hoping that the release of pip would be any day now.

I'd have liked that too but we also have the other part of the packaging upgrade affecting us in this release: https://pradyunsg.me/blog/2024/05/13/pip-24-1-betas/. Due to some non-public health issues on my part, the actual process and comms around this haven't gone through as smoothly/effectively as I'd like. 😅

@mayeut
Copy link
Member Author

mayeut commented May 13, 2024

Thanks for the feedback @pradyunsg !

I'll merge without waiting for the final release then.

FYI, pip 24.1b1 can install properly free-threaded wheels now (there's a minimal build / install test here). It also fixes issues with graalpy (c.f. #1520) but this one will have to wait for the final release.

@mayeut mayeut marked this pull request as ready for review May 13, 2024 17:59
@mayeut mayeut merged commit 0983f6f into pypa:main May 13, 2024
9 checks passed
@mayeut mayeut deleted the cpython-3.13 branch May 13, 2024 18:19
@henryiii
Copy link
Contributor

henryiii commented May 13, 2024

In case people are trying this out, python3.13t -m venv ... still installs pip 24.0, something to watch for when testing this! Remember to upgrade pip in venvs.

@henryiii
Copy link
Contributor

henryiii commented May 13, 2024

Ouch, this may include isolated builds. Edit: most cases seem okay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for an experimental version of free-threaded (no-gil) Python 3.13
3 participants