For a bit of necessary context: The NEP 29 drop schedule is much faster 
than the EOL schedule of Python itself. Python 3.8 is supported until 
2024-10, but NEP 29 already drops it 2023-04.

NEP 29 is intended to improve interoperability of fast-moving scientific 
software. It is quite relevant where in the dependency streams a project 
is. NumPy, SciPy are *upstream* of many projects and *downstream* of 
nothing. In contrast, Sage is *downstream* of lots and lots of projects, 
and currently *upstream* of nothing except for some user packages.

Effectively I don't think we need to make any commitment to a particular 
schedule at a time, as the upgrades of major dependencies (mostly NumPy, 
SciPy, NetworkX, SymPy) just force us to drop support for a particular 
Python version.
For example, a SciPy upgrade to the 1.10 series is due for 10.0 (and 
already positively reviewed 
in https://github.com/sagemath/sage/pull/35082); it still supports Python 
3.8. The following SciPy release 1.11 (which will drop Python 3.8) is not 
coming out before 2023-07. So we would gain nothing by dropping Python 3.8 
already in a Sage 10.0 release some this spring.

Of course, another argument for dropping support for a Python version (such 
as Python 3.8) would be that it is missing critical features that hold us 
back in the development of the Sage library. 
Issue https://github.com/sagemath/sage/issues/29756 has a bit of this 
discussion.


On Friday, February 24, 2023 at 7:10:07 PM UTC-8 Tobias Diez wrote:

> Hi all, 
>
> I propose to follow the NumPy enhancement proposal 29: "Recommend Python 
> and Numpy version support as a community policy standard" available at: 
> https://numpy.org/neps/nep-0029-deprecation_policy.html
>
> In essence it specifies when it's okay to drop support for old Python 
> version. Namely, a release should support "all minor versions of Python 
> released 42 months prior to the project, and at minimum the two latest 
> minor versions. ". In particular, this means:
> - On Apr 14, 2023 drop support for Python 3.8 (initially released on Oct 
> 14, 2019) 
> - On Apr 05, 2024 drop support for Python 3.9 (initially released on Oct 
> 05, 2020)
>
> The main idea of NEP 29 is to have a community-wide standard to prevent 
> issues with e.g. dependencies dropping support for older Python versions to 
> early. It is followed by many scientific packages such as Scipy, 
> Matplotlib, and IPython, among others. Sage itself is also roughly 
> following it (based on the past drops, e.g. Python 3.7 support was dropped 
> 9 months ago and NEP recommends Dec 26, 2021). But as far as I'm aware 
> there is not yet a clear policy for when to drop support for older versions.
>
> Of course, the dates in the NEP 29 are only a guideline and not set in 
> stone, e.g. you don't want to drop support at the end of the release cycle 
> just because the NEP says so. But for example, Sage 10 will be most likely 
> released after Apr 14 2023, so we can now already drop support for Python 
> 3.8.
>
> Relevant issue: https://github.com/sagemath/sage/issues/30384
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/a232c964-b216-4e4f-86f0-b987c1455fc6n%40googlegroups.com.

Reply via email to