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

Support Python 3.10 to 3.13 #1623

Merged
merged 1 commit into from
Nov 23, 2024
Merged

Support Python 3.10 to 3.13 #1623

merged 1 commit into from
Nov 23, 2024

Conversation

gbolmier
Copy link
Member

@gbolmier gbolmier commented Oct 17, 2024

Changes

  • Drop support for 3.9
  • Add support for 3.13
  • Fix unit-tests workflow to use matrix for Python versions

Notes

Recent PyO3=0.23.0 release added support for python 3.13 but bumping it to 0.23.1 leads to rust_src compilation errors (cc @AdilZouitine).

CI builds river and run unit-tests successfully with the current PyO3=0.18.3 so it should be fine to merge as it is.

@gbolmier gbolmier linked an issue Oct 17, 2024 that may be closed by this pull request
@agriyakhetarpal
Copy link
Contributor

https://github.com/PyO3/pyo3/releases/tag/v0.23.0 and https://github.com/PyO3/pyo3/releases/tag/v0.23.1 are now available with support for building Python 3.13 wheels.

@agriyakhetarpal
Copy link
Contributor

I've created #1646 just now to see if this is possible now without much issues as suggested by @MaxHalford. That PR targets this branch instead of the main branch.

@agriyakhetarpal
Copy link
Contributor

I can't see the failures in #1646, but I do see them after I try to build wheels locally. I have no experience with writing code in Rust whatsoever, so I'm not sure if I can help with this too much beyond reading the PyO3 docs, bumping the version gradually, one by one, and trying to figure out how to fix the code 😅 So I'd rather leave this for someone else who is more experienced than I am at this.

- Drop support for 3.9
- Add support for 3.13
- Fix unit-tests workflow to use matrix for Python versions
@gbolmier gbolmier changed the title Add support for Python 3.13 Support Python 3.10 to 3.13 Nov 23, 2024
@gbolmier gbolmier marked this pull request as ready for review November 23, 2024 00:02
@gbolmier gbolmier merged commit 5d55c18 into main Nov 23, 2024
5 checks passed
@gbolmier gbolmier deleted the add-py313-support branch November 23, 2024 15:55
@agriyakhetarpal
Copy link
Contributor

Thanks, @gbolmier! I think the difference was that PyO3 can build Python 3.13 wheels already, but not Python 3.13t free-threaded wheels – support for which was brought forward in the recent version 0.23.1 that I was trying to upgrade to. But then, that does make me think how PyO3 version 0.18 is able to compile for Python 3.13 here, since support for Python 3.13 itself was brought in https://github.com/PyO3/pyo3/releases/tag/v0.22.0 – but everything passes, so no complaints! 😁

@gbolmier
Copy link
Member Author

Hey @agriyakhetarpal, @AdilZouitine is atm looking into bumping PyO3 to 0.23.1. If everything goes well I'm hoping to make a new River release with these changes today 🤞

@agriyakhetarpal
Copy link
Contributor

Yes, I'm glad to hear that, @gbolmier! I had backported the necessary changes by re-doing them on top of 0.21.0 momentarily; it's much nicer for us to rely on a released version. 😁✌️

@AdilZouitine
Copy link
Member

Hey @agriyakhetarpal, we bump the version #1648 on this pull request 😄

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.

Python 3.13 wheel distribution
4 participants