pytroll / pyresample

Geospatial image resampling in Python
http://pyresample.readthedocs.org
GNU Lesser General Public License v3.0
346 stars 94 forks source link

Drop Python 3.8 support #499

Closed djhoese closed 1 year ago

djhoese commented 1 year ago

It's what all the cool kids are doing.

djhoese commented 1 year ago

Note I also removed some old multiprocessing import code in setup.py that said it could be removed when Python 2 support was dropped.

codecov[bot] commented 1 year ago

Codecov Report

Merging #499 (0cc31d4) into main (b8ecc71) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #499   +/-   ##
=======================================
  Coverage   94.33%   94.33%           
=======================================
  Files          74       74           
  Lines       12947    12947           
=======================================
  Hits        12214    12214           
  Misses        733      733           
Flag Coverage Δ
unittests 94.33% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

pnuu commented 1 year ago

Gnaah. Don't know what I did there. But LGTM.

One thought I had was that maybe the python_requires shouldn't be so strict, most of the code will work fine with earlier versions. Though even in that case we should state that only the tested Python versions are actually supported.

djhoese commented 1 year ago

I'm noticing codecov is complaining of lost coverage in the multiprocessing parts (_spatial_mp.py) for modules that haven't been changed, even in #498 which doesn't have these python version changes. Makes me wonder if something has changed in some package (numpy? pyproj?) that is no longer accessing the __iter__ or other parts of these modules.

djhoese commented 1 year ago

Though even in that case we should state that only the tested Python versions are actually supported.

The problem is that python_requires can control what versions of the library PyPI returns. So if we make a release that supports Python 3.7 and then make a bug fix release that introduces syntax that is 3.8+ only then we'd have to remember to drop support in a bug fix version (or release a new minor release just for a bug fix). My point is I think CI needs to stay in sync with what we advertise as supported and it might be better to do it sooner rather than later. :man_shrugging:

pnuu commented 1 year ago

Ah, right. That'd get complicated and confusing quickly. So yeah, lets stay in sync with the CI.

coveralls commented 1 year ago

Coverage Status

Coverage: 93.862%. Remained the same when pulling 0cc31d4a9a7784ab814625736ce281a8c3f58453 on djhoese:drop-py38 into b8ecc7104cf132f10dee5438eb3049f526199013 on pytroll:main.