-
Notifications
You must be signed in to change notification settings - Fork 38
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
Conversation
an absolute fail so far, only Codacy passed 🤣 Give it another couple of months 😁 |
Codecov Report
@@ Coverage Diff @@
## main #1832 +/- ##
=======================================
Coverage 92.80% 92.80%
=======================================
Files 236 236
Lines 12446 12446
=======================================
Hits 11550 11550
Misses 896 896 |
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? |
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 |
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 |
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:
|
tests/integration/preprocessor/_regrid/test_extract_location.py
Outdated
Show resolved
Hide resolved
@bouweandela @zklaus heads up I've started working on this, to bump |
OK folks here's how things stand now (April 20, 2023) wrt to
|
That's turning into a nice bit of yak shaving you're doing there V! Much appreciated! |
"yak shaving" 🤣 A fairly furry yak too, bud 😁 |
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 😁 |
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 😁 |
@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 🍻 |
There was a problem hiding this 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!
Description
This is THERE 😁
Steps I took:
esmpy
- complicated, see Rebuild for python311 conda-forge/esmpy-feedstock#57iris
(vianetCDF4
repo patch) - this will take a while to be unpatched, depends how fast theiris
folk will understand and fix the issues fromnetCDF4 > 1.6.0
iris-esmf-regrid
(needsesmpy
)As of 10 May, 2023: we have support for Python=3.11:
prospector
still not supporting Py=3.11 - this is work in progress by me, see [Python] Add support for Python=3.11 #1832 (comment)sphinx
needs to be unpinned so 5.0 gets pulled, 6+ has issues with the rtd theme,see example env file below; the issue is a pin on- it looks like it'll have to stay like this for a while:docutils
the sphinx_rtd_theme has in their meta file, see Relax docutils pin to allow build to support sphinx>=6 and python>=3.11 conda-forge/sphinx_rtd_theme-feedstock#28sphinx >=6
can not be installed becausesphinx_rtd_theme
are pinningdocutils<0.19
which is the only practical version that supportspython=3.11
; see Support for docutils 0.19.x readthedocs/sphinx_rtd_theme#1323 and github.com/Relax docutils pin to allow build to support sphinx>=6 and python>=3.11 conda-forge/sphinx_rtd_theme-feedstock#28RTD build fails related to this New behaviour for esmfmkfile in v8.4.0 conda-forge/esmf-feedstock#91 since the RTD mechanism does not activate an env, but rather, uses theneatly sorted out by @zklaus with a bit of magic 🪄 but the RTD interface is still obtuse, at least docs build now(base)
env (silly!)the tests fail massively due to geopy's geoextractor known HTTP request timeout; this should be fixed by Add custom pytest marker: skip extract location tests in case of RequestTimeoutError from geolocator Nominatim #2002 - @zklaus found out that Nominatim (the locator engine) should not be used in CIs - a bit of a letdown (not Klaus' work, which is great, but the robustness of Nominatim), for now I am pytest-skippingfixed by mergingtests/integration/preprocessor/_regrid/test_extract_location.py
main
that now contains @schlunma 's mockingbird from Use mockedgeopy.geocoders.Nominatim
to avoidReadTimeoutError
#2005Apart from that above, all goes spiffy!
Closes #1776 and #2001