... 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.
Spec 0 of the Scientific Python https://scientific-python.org/specs/ recommends...
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
Which I agree with.