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] Add support for Python=3.11 #1832

Merged
merged 64 commits into from
May 11, 2023
Merged

[Python] Add support for Python=3.11 #1832

merged 64 commits into from
May 11, 2023

Conversation

valeriupredoi
Copy link
Contributor

@valeriupredoi valeriupredoi commented Nov 28, 2022

Description

This is THERE 😁

Steps I took:

  • esmpy - complicated, see Rebuild for python311 conda-forge/esmpy-feedstock#57
  • iris (via netCDF4 repo patch) - this will take a while to be unpatched, depends how fast the iris folk will understand and fix the issues from netCDF4 > 1.6.0
  • iris-esmf-regrid (needs esmpy)

As of 10 May, 2023: we have support for Python=3.11:

Apart from that above, all goes spiffy!

Closes #1776 and #2001

@valeriupredoi valeriupredoi added installation Installation problem testing labels Nov 28, 2022
@valeriupredoi valeriupredoi changed the title [Python] Add support for Python=3.11 [Python][**not** functional yet] Add support for Python=3.11 Nov 28, 2022
@valeriupredoi
Copy link
Contributor Author

an absolute fail so far, only Codacy passed 🤣 Give it another couple of months 😁

@codecov
Copy link

codecov bot commented Dec 6, 2022

Codecov Report

Merging #1832 (2d63d99) into main (bd76eb1) will not change coverage.
The diff coverage is n/a.

❗ Current head 2d63d99 differs from pull request most recent head 18668e7. Consider uploading reports for the commit 18668e7 to get more accurate results

@@           Coverage Diff           @@
##             main    #1832   +/-   ##
=======================================
  Coverage   92.80%   92.80%           
=======================================
  Files         236      236           
  Lines       12446    12446           
=======================================
  Hits        11550    11550           
  Misses        896      896           

@valeriupredoi
Copy link
Contributor Author

OK current roadblock is esmpy which is an old package (by Python age). If I recall correctly but @zklaus or @bouweandela can correct me - this is not maintained anymore, or it's been transferred someplace else?

@bouweandela
Copy link
Member

bouweandela commented Dec 7, 2022

I don't know about that, but indeed it looks like it's over a year old.

@valeriupredoi
Copy link
Contributor Author

valeriupredoi commented Dec 7, 2022

I don't know about that, but indeed it looks like it's over a year old.

yeah the ESMPY itself is one year old but xESMF is actually not maintained anymore (there was that guy that went under a bus), so am not sure how to ping these folks - am gonna try and open a PR in their feedstock update the build for 3.11

@valeriupredoi
Copy link
Contributor Author

actually there is a PR awaiting for exactly that (albeit not in good shape) conda-forge/esmpy-feedstock#57 - I asked if we can get done linux64-only PR to start supporting 3.11

@valeriupredoi valeriupredoi requested a review from zklaus December 7, 2022 13:27
@valeriupredoi
Copy link
Contributor Author

valeriupredoi commented Feb 23, 2023

OK I've managed to get more work done on this, with the new iris 3.4.1 now (indirectly supporting 3.11, via the unpin of netCDF4), the only two issues in the environment are:

  • the pin on esmpy <8.4 (I'll investigate the associated issue)
  • and, as always, prospector - I might just go open a PR on prospector's feedstock

environment.yml Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
@valeriupredoi
Copy link
Contributor Author

@bouweandela @zklaus heads up I've started working on this, to bump prospector to a modern version on conda, and hopefully get support for Py311 working there, feel free to visit conda-forge/prospector-feedstock#39

@valeriupredoi
Copy link
Contributor Author

OK folks here's how things stand now (April 20, 2023) wrt to prospector:

@bouweandela
Copy link
Member

That's turning into a nice bit of yak shaving you're doing there V! Much appreciated!

@valeriupredoi
Copy link
Contributor Author

"yak shaving" 🤣 A fairly furry yak too, bud 😁

@bouweandela
Copy link
Member

https://www.youtube.com/watch?v=AbSehcT19u0

@valeriupredoi
Copy link
Contributor Author

https://www.youtube.com/watch?v=AbSehcT19u0

hahaha - excellent analogy! So this is the last missing piece, the WD40 being purchased, as per the vid conda-forge/prospector-feedstock#39 - seems the hardware store is a bit closed though 😁

@valeriupredoi
Copy link
Contributor Author

OK - conda-forge/prospector-feedstock#39 has now been merged and that means we should be fine for Py311 here - let's see how it goes that WD40 😁

@valeriupredoi
Copy link
Contributor Author

@bouweandela @zklaus looky-look! We have us full support for Python 3.11, gents, no corners cut, no prospectors left behind 😁 I'll now clean up this and we are ready to plug it in 🍻

Copy link
Member

@bouweandela bouweandela left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@bouweandela bouweandela merged commit 3b53f2a into main May 11, 2023
@bouweandela bouweandela deleted the python311 branch May 11, 2023 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
installation Installation problem testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Python=3.11 is now out and about
4 participants