Open-EO / openeo-python-client

Python client API for OpenEO
https://open-eo.github.io/openeo-python-client/
Apache License 2.0
156 stars 42 forks source link

Drop support for Python 3.7 #578

Closed soxofaan closed 3 weeks ago

soxofaan commented 5 months ago

Python 3.7 reached end-of-life almost a year ago (2023-06-27)

This ticket is to collect reasons for dropping support for it.

soxofaan commented 5 months ago

PR #577 includes a sniff to skip STAC functionality on Python 3.7 and 3.8 (because it depends on pystac features that are not available there)

soxofaan commented 3 weeks ago

Python 3.8 officially reached end-of-life this month (https://devguide.python.org/versions/#unsupported-versions). I don't think we have to keep supporting two EOL'ed versions at this point

soxofaan commented 3 weeks ago

What dropping 3.7 will bring:

from https://nedbatchelder.com/text/which-py.html#h_38_october_14_2019_eol_october_2024:

  • assignment expressions (walrus operator := )
  • f-string “=” specifier
  • positional-only parameters
  • typing additions: TypedDict, Literal, Final, and Protocol
  • new module: importlib.metadata

Full list of 3.8 changes.

Quite some interesting features (f-string “=” specifier, typing.Protocol and importlib.metadata) that could streamline development and maintenance

soxofaan commented 3 weeks ago

a silly unit test failure, only on python 3.7, for #652 fix was the last drop: removed python 3.7 from the github actions unittest workflow with 10d1b1474c98e6ea5aca9f1e88ee8c9f95ca27c6

Still various todo's and cleanups left over, marked with #578, e.g. see 26bc87148c5bdeb002fa86b3408a682dc88f5f4c