[Numpy-discussion] Proposal of timeline for dropping Python 2.7 support

Peter Cock p.j.a.cock at googlemail.com
Fri Nov 17 07:35:49 EST 2017

Since Konrad Hinsen no longer follows the NumPy discussion list
for lack of time, he has not posted here - but he has commented
about this on Twitter and written up a good blog post:


In a field where scientific code is expected to last and be developed
on a timescale of decades, the change of pace with Python 2 and 3
is harder to handle.



On Wed, Nov 15, 2017 at 2:19 AM, Nathaniel Smith <njs at pobox.com> wrote:
> Apparently this is actually uncontroversial, the discussion's died
> down (see also the comments on Chuck's PR [1]), and anyone who wanted
> to object has had more than a week to do so, so... I guess we can say
> this is what's happening and start publicizing it to our users!
> A direct link to the rendered NEP in the repo is:
> https://github.com/numpy/numpy/blob/master/doc/neps/dropping-python2.7-proposal.rst
> (I guess that at some point it will also show up on docs.scipy.org.)
> -n
> [1] https://github.com/numpy/numpy/pull/10006
> On Thu, Nov 9, 2017 at 5:52 PM, Nathaniel Smith <njs at pobox.com> wrote:
>> Fortunately we can wait until we're a bit closer before we have to
>> make any final decision on the version numbering :-)
>> Right now though it would be good to start communicating to
>> users/downstreams about whatever our plans our though, so they can
>> make plans. Here's a first attempt at some text we can put in the
>> documentation and point people to -- any thoughts, on either the plan
>> or the wording?
>> The Python core team plans to stop supporting Python 2 in 2020. The
>> NumPy project has supported both Python 2 and Python 3 in parallel
>> since 2010, and has found that supporting Python 2 is an increasing
>> burden on our limited resources; thus, we plan to eventually drop
>> Python 2 support as well. Now that we're entering the final years of
>> community-supported Python 2, the NumPy project wants to clarify our
>> plans, with the goal of to helping our downstream ecosystem make plans
>> and accomplish the transition with as little disruption as possible.
>> Our current plan is as follows:
>> Until **December 31, 2018**, all NumPy releases will fully support
>> both Python 2 and Python 3.
>> Starting on **January 1, 2019**, any new feature releases will support
>> only Python 3.
>> The last Python-2-supporting release will be designated as a long-term
>> support (LTS) release, meaning that we will continue to merge
>> bug-fixes and make bug-fix releases for a longer period than usual.
>> Specifically, it will be supported by the community until **December
>> 31, 2019**.
>> On **January 1, 2020** we will raise a toast to Python 2, and
>> community support for the last Python-2-supporting release will come
>> to an end. However, it will continue to be available on PyPI
>> indefinitely, and if any commercial vendors wish to extend the LTS
>> support past this point then we are open to letting them use the LTS
>> branch in the official NumPy repository to coordinate that.
>> If you are a NumPy user who requires ongoing Python 2 support in 2020
>> or later, then please contact your vendor. If you are a vendor who
>> wishes to continue to support NumPy on Python 2 in 2020+, please get
>> in touch; ideally we'd like you to get involved in maintaining the LTS
>> before it actually hits end-of-life, so we can make a clean handoff.
>> To minimize disruption, running 'pip install numpy' on Python 2 will
>> continue to give the last working release in perpetuity; but after
>> January 1, 2019 it may not contain the latest features, and after
>> January 1, 2020 it may not contain the latest bug fixes.
>> For more information on the scientific Python ecosystem's transition
>> to Python-3-only, see: http://www.python3statement.org/
>> For more information on porting your code to run on Python 3, see:
>> https://docs.python.org/3/howto/pyporting.html
>> ----
>> Thoughts?
>> -n
>> On Thu, Nov 9, 2017 at 12:53 PM, Marten van Kerkwijk
>> <m.h.vankerkwijk at gmail.com> wrote:
>>> In astropy we had a similar discussion about version numbers, and
>>> decided to make 2.0 the LTS that still supports python 2.7 and 3.0 the
>>> first that does not.  If we're discussing jumping a major number, we
>>> could do the same for numpy.  (Admittedly, it made a bit more sense
>>> with the numbering scheme astropy had adopted anyway.) -- Marten
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion at python.org
>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>> --
>> Nathaniel J. Smith -- https://vorpus.org
> --
> Nathaniel J. Smith -- https://vorpus.org
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion

More information about the NumPy-Discussion mailing list