<div dir="auto"><br><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">On Nov 9, 2017 20:52, "Nathaniel Smith" <<a href="mailto:njs@pobox.com">njs@pobox.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Fortunately we can wait until we're a bit closer before we have to<br>
make any final decision on the version numbering :-)<br>
<br>
Right now though it would be good to start communicating to<br>
users/downstreams about whatever our plans our though, so they can<br>
make plans. Here's a first attempt at some text we can put in the<br>
documentation and point people to -- any thoughts, on either the plan<br>
or the wording?<br>
<br>
---- DRAFT TEXT - NOT FINAL - DO NOT POST THIS TO HACKERNEWS OK? OK ----<br>
<br>
The Python core team plans to stop supporting Python 2 in 2020. The<br>
NumPy project has supported both Python 2 and Python 3 in parallel<br>
since 2010, and has found that supporting Python 2 is an increasing<br>
burden on our limited resources; thus, we plan to eventually drop<br>
Python 2 support as well. Now that we're entering the final years of<br>
community-supported Python 2, the NumPy project wants to clarify our<br>
plans, with the goal of to helping our downstream ecosystem make plans<br>
and accomplish the transition with as little disruption as possible.<br>
<br>
Our current plan is as follows:<br>
<br>
Until **December 31, 2018**, all NumPy releases will fully support<br>
both Python 2 and Python 3.<br>
<br>
Starting on **January 1, 2019**, any new feature releases will support<br>
only Python 3.<br>
<br>
The last Python-2-supporting release will be designated as a long-term<br>
support (LTS) release, meaning that we will continue to merge<br>
bug-fixes and make bug-fix releases for a longer period than usual.<br>
Specifically, it will be supported by the community until **December<br>
31, 2019**.<br>
<br>
On **January 1, 2020** we will raise a toast to Python 2, and<br>
community support for the last Python-2-supporting release will come<br>
to an end. However, it will continue to be available on PyPI<br>
indefinitely, and if any commercial vendors wish to extend the LTS<br>
support past this point then we are open to letting them use the LTS<br>
branch in the official NumPy repository to coordinate that.<br>
<br>
If you are a NumPy user who requires ongoing Python 2 support in 2020<br>
or later, then please contact your vendor. If you are a vendor who<br>
wishes to continue to support NumPy on Python 2 in 2020+, please get<br>
in touch; ideally we'd like you to get involved in maintaining the LTS<br>
before it actually hits end-of-life, so we can make a clean handoff.<br>
<br>
To minimize disruption, running 'pip install numpy' on Python 2 will<br>
continue to give the last working release in perpetuity; but after<br>
January 1, 2019 it may not contain the latest features, and after<br>
January 1, 2020 it may not contain the latest bug fixes.<br>
<br>
For more information on the scientific Python ecosystem's transition<br>
to Python-3-only, see: <a href="http://www.python3statement.org/" rel="noreferrer" target="_blank">http://www.python3statement.<wbr>org/</a><br>
<br>
For more information on porting your code to run on Python 3, see:<br>
<a href="https://docs.python.org/3/howto/pyporting.html" rel="noreferrer" target="_blank">https://docs.python.org/3/<wbr>howto/pyporting.html</a><br>
<br>
----<br>
<br>
Thoughts?<br>
<br>
-n<br>
<div class="elided-text"><br>
On Thu, Nov 9, 2017 at 12:53 PM, Marten van Kerkwijk<br>
<<a href="mailto:m.h.vankerkwijk@gmail.com">m.h.vankerkwijk@gmail.com</a>> wrote:<br>
> In astropy we had a similar discussion about version numbers, and<br>
> decided to make 2.0 the LTS that still supports python 2.7 and 3.0 the<br>
> first that does not.  If we're discussing jumping a major number, we<br>
> could do the same for numpy.  (Admittedly, it made a bit more sense<br>
> with the numbering scheme astropy had adopted anyway.) -- Marten<br>
> ______________________________<wbr>_________________<br></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Might it make sense to do this in a synchronized manner with scipy?  So both numpy and scipy drop support for python 2 on the first release after December 31 2018, and numpy's first python3-only release comes before (or simultaneously with) scipy's. Then scipy can set is minimum supported numpy version to be the first python3-only version. </div><div dir="auto"><br></div><div dir="auto">That allows scipy to have a clean, obvious point where scipy supports only the latest numpy. This will diverge later, but it seems to be a relatively safe place to bring them back into sync.</div><div class="gmail_extra" dir="auto"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="elided-text"></div></blockquote></div></div></div>