MPoL-dev / MPoL

A flexible Python platform for Regularized Maximum Likelihood imaging
https://mpol-dev.github.io/MPoL/
MIT License
33 stars 11 forks source link

Update Python versions to follow Spec 0 #245

Closed iancze closed 8 months ago

iancze commented 8 months ago

Spec 0 of the Scientific Python https://scientific-python.org/specs/ recommends...

... that all projects across the Scientific Python ecosystem adopt a common time-based policy for dropping support of older Python and core package versions.

All versions refer to feature releases (i.e., Python 3.8.0, NumPy 1.19.0; not Python 3.8.1, NumPy 1.19.2).

Specifically, we recommend that:

Support for Python versions be dropped 3 years after their initial release. Support for core package dependencies be dropped 2 years after their initial release.

As of Dec 2023, that means that we should drop support for Python 3.8 and 3.9. The support window is open for Python 3.10, 3.11, and 3.12.

The spec linked above lists their motivations

Limiting the scope of supported dependencies is an effective way for packages to limit maintenance burden. Combinations of packages need to be tested, which impacts also on continuous integration times and infrastructure upkeep. Code itself also becomes more complicated when it has to be aware of various combinations of configurations.

Adoption of this SPEC will ensure a consistent support policy across packages, and reduce the need for individual projects to divise similar policies.

Ultimately, reduced maintenance burden frees up developer time, which translates into more features, bugfixes, and optimizations for users.

Which I agree with.