[SciPy-Dev] dropping python 2.7 and numpy <1.13.3

Paul van Mulbregt p.vanmulbregt at comcast.net
Sun Nov 11 13:23:07 EST 2018


Py 2.7 means more than just "Python2.7".  We have tool chains for the various versions of Python, with (perhaps hidden) dependencies. In particular, I’m thinking of Python2.7 on Windows, which is built with MSVisualC++ v9.  Since MSVC9 isn’t fully C99 compliant,  SciPy has had to forgo many features of C99 to stay compatible, let alone C11 or C18.

Perhaps now would be a good time to list our dependencies explicitly and think about the toolchain roadmap in general?

BTW, Py3.5 and 3.6 are built with VisualC++ v14.0. See
https://wiki.python.org/moin/WindowsCompilers#Which_Microsoft_Visual_C.2B-.2B-_compiler_to_use_with_a_specific_Python_version_.3F <https://wiki.python.org/moin/WindowsCompilers#Which_Microsoft_Visual_C.2B-.2B-_compiler_to_use_with_a_specific_Python_version_.3F>

-Paul


> On Nov 11, 2018, at 5:07 AM, Evgeni Burovski <evgeny.burovskiy at gmail.com> wrote:
> 
> Hi,
> 
> 
> 
> Let's follow NumPy's timeline [1], which says that from 1 Jan 2019 onwards new releases will be Python 3 only, and the last release before that date will be an LTS release. That means SciPy 1.2.0 will be the LTS release, and 1.3.0 will be >= py3.5.
> 
> +1
> 
> We should also think a bit about the timeline for cleanups and removals of py2/py3 workarounds. 
> Maybe it's useful to postpone large-scale cleanups a bit.
> For example, how about we state that we allow new code to be py3-only, but we do not remove existing py2 constructs puntil scipy 1.14? Or for the duration of the LTS support.
> 
> 
> 
> Also, we haven't changed the minimum numpy version we support in quite a while, we're still at 1.8.2. And that will have to change anyway after dropping Python 2.7. The current minimum numpy versions we require are:
> - py27: 1.8.2
> - py35: 1.9.3
> - py36: 1.12.1
> - py37: 1.13.1
> We have always aimed to support at least 4 numpy versions (i.e. 2 year old versions). The differences per Python version in minimum numpy version are annoying (we don't consistently check that in our main __init__.py or in setup.py even), so I propose that for SciPy 1.3.0 we raise the minimum required NumPy version to 1.13.3. That'll still be 4 supported releases, 1.13.3-1.16.x.
> 
> +1 in general.
> 
> However numpy 1.13.0 has been released in July 2017, so it makes it less then two full years. I don't have a firm opinion on what is the optimum time from the last supported numpy version though. 
> 
> 
> Cheers,
> Ralf
> 
> [1] http://www.numpy.org/neps/nep-0014-dropping-python2.7-proposal.html <http://www.numpy.org/neps/nep-0014-dropping-python2.7-proposal.html>
> [2] NumPy thread on dropping py27: https://mail.python.org/pipermail/numpy-discussion/2017-November/077341.html <https://mail.python.org/pipermail/numpy-discussion/2017-November/077341.html>
> 
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at python.org <mailto:SciPy-Dev at python.org>
> https://mail.python.org/mailman/listinfo/scipy-dev <https://mail.python.org/mailman/listinfo/scipy-dev>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at python.org
> https://mail.python.org/mailman/listinfo/scipy-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20181111/5373f442/attachment.html>


More information about the SciPy-Dev mailing list