pangeo-data / xESMF

Universal Regridder for Geospatial Data
http://xesmf.readthedocs.io/
MIT License
183 stars 32 forks source link

Failure to import on Python 3.6 due to cf-xarray #189

Closed zmoon closed 1 year ago

zmoon commented 1 year ago

I don't mean to suggest that people should still be using Python 3.6, but I noticed this issue in https://github.com/noaa-oar-arl/monet/pull/114.

Basically, up until and including v0.7.2, cf-xarray still purported to support Python 3.6, but they started using from __future__ import annotations in v0.7.0. So on Python 3.6, cf-xarray v0.7.2 gets installed for xESMF and then xesmf fails to import due to cf_xarray failing to import.

aulemahal commented 1 year ago

For python and numpy dependencies, xESMF follows the rest of the "xarray" ecosystem (xarray, numpy ). So using python 3.6 and python 3.7 with latest versions is indeed risky.

However, we haven't update the minimum versions, so it should be feasible to use python 3.6 with cf_xarray < 0.7.2. Do I understand that this is rather a bug from cf_xarray? Maybe the minimum python version should have been pinned in 0.7.2? I see that this has been fixed in the latest release.

I guess a solution would be to remove 0.7.2 from the conda archive? @dcherian ?

zmoon commented 1 year ago

Do I understand that this is rather a bug from cf_xarray?

Yes, from my brief investigation it looks like they should have set minimum Python to 3.7 for their v0.7.0 release.

zmoon commented 1 year ago

I guess a solution would be to remove 0.7.2 from the conda archive?

Note that 0.7.0 is affected as well and they are noarch builds, so can't just remove py36 ones.

xESMF could add upper bound cf_xarray < 0.7 using ; python_version < '3.7' in setuptools and # [py<37] in conda-forge (but I guess xESMF couldn't be noarch then?)?

dcherian commented 1 year ago

Ooops what should I do?

zmoon commented 1 year ago

Perhaps removing 0.7.2 and 0.7.0 from conda-forge archive as was suggested by @aulemahal could be a good partial solution. That shouldn't affect anyone adversely since there are newer v0.7s out. Unless they have an exported env that has one of those I guess.

huard commented 1 year ago

@aulemahal Ok to close this and let cf-xarray devs deal with this ?

huard commented 1 year ago

Will close this as there is no obvious action to take on our end. Let us know if I misunderstood.