Skip to content

Build CPython 3.13 by default - #1950

Merged
henryiii merged 5 commits into
pypa:mainfrom
EwoutH:cpython_313
Aug 3, 2024
Merged

henryiii merged 5 commits into
pypa:mainfrom
EwoutH:cpython_313

Conversation

@EwoutH

@EwoutH EwoutH commented Aug 1, 2024

Copy link
Copy Markdown
Contributor

Enable building with CPython 3.13 by default, no longer requiring prerelease_pythons flag to be set true.

Merge after #1949 is merged.

Builds upon last-year PRs: #1226 and #1565.

Comment thread README.md Resolved
@EwoutH

EwoutH commented Aug 3, 2024

Copy link
Copy Markdown
Contributor Author

I see some CI failing. I think one error is the free_threaded 3.13 now being expected to build, but doesn't, so I need to update that test.

The other errors I don't understand directly, so some help with them is appreciated!

Maintainers, feel free to directly modify this PR (push to this branch) by the way.

Comment thread unit_test/linux_build_steps_test.py Resolved
Comment thread unit_test/option_prepare_test.py Resolved
EwoutH and others added 2 commits August 3, 2024 18:33
Even with 3.13 being enabled by default, cp313t is still behind a flag for now.

This commit updates the test accordingly.
@EwoutH

EwoutH commented Aug 3, 2024

Copy link
Copy Markdown
Contributor Author

Ah I missed that one, thanks! So far it all looks green.

@EwoutH

EwoutH commented Aug 3, 2024

Copy link
Copy Markdown
Contributor Author

There we go, all green!

@EwoutH

EwoutH commented Aug 3, 2024

Copy link
Copy Markdown
Contributor Author

Thanks for merging!

In what timeframe do you think a new release would be possible?

@henryiii

henryiii commented Aug 3, 2024

Copy link
Copy Markdown
Contributor

If it depends on me, tonight.

@rgommers

Copy link
Copy Markdown

I found that on macOS and Windows it is still necessary to add CIBW_PRERELEASE_PYTHONS: True. Just thought I'd ask here - was that intended?

@henryiii

Copy link
Copy Markdown
Contributor

No, it shouldn’t be

@henryiii

henryiii commented Aug 11, 2024 •

Copy link
Copy Markdown
Contributor

Boost-histogram is building 3.13 windows wheels (and macOS both flavors) without the flag, just checked. Is this 3.13 in general or maybe 3.13t? We will be releasing a new patch release of pybind11 with PyMutex, then I’ll be trying that (3.13t) in boost-histogram.

@joerick

joerick commented Aug 11, 2024

Copy link
Copy Markdown
Contributor

Pyinstrument is building 3.13 without the flag, too.

@rgommers

Copy link
Copy Markdown

Okay, never mind then, it's probably something else (even if adding the env var fixed it for me). And it was regular cp313. For the record:

@joerick

joerick commented Aug 11, 2024 •

Copy link
Copy Markdown
Contributor

You'll need v2.20.0 , you're on 2.19.0 :)

(Or, at least you were in the failing run)

@henryiii

Copy link
Copy Markdown
Contributor

(2.20 is also the one with the ABI stable Python 3.13rc1)

@rgommers

Copy link
Copy Markdown

Argh, made the updates to 2.20 but missed one indeed, for Windows. And the macOS ones were free-threaded. Sorry for the noise.

@EwoutH

EwoutH commented Oct 24, 2024

Copy link
Copy Markdown
Contributor Author

Now that everyone had about 3 months to get their Python 3.13 wheels building, and 3.13 was released as stable, would this be a good time to talk about building Python 3.13 free-threaded (cp313t) wheels by default?

@neutrinoceros

Copy link
Copy Markdown
Contributor

Just my two cents but I don't think free-threading wheels should be built by default as long as the feature is considered experimental by CPython developers.

@henryiii

Copy link
Copy Markdown
Contributor

One thing that might have improved the experience would be if we could detect and enable automatically if the free-threaded classifiers were present. However, the free-threaded classifiers discussion devolved into bike-shedding and died. pypa/trove-classifiers#177 & https://discuss.python.org/t/free-threading-trove-classifier/62406

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.

6 participants