On Mon, 2024-05-06 at 22:39 +0000, Henry Schreiner wrote:
> This will be messier for projects building wheels and wanting to
> support non-EoL Python versions. To build a wheel with anything other
> than pybind11, you now need the oldest supported NumPy for Python <
> 3.9, the latest NumPy 1 for Python 3.9, and NumPy 2 for Python 3.10+.
> I don't know if that's important in the decision, but thought I'd
> point it out. Also, according to NEP 29, 3.10+ only became the
> requirement a couple of weeks ago, while it has been months since
> SPEC 0 dropped it. I don't think either document really details what
> to do when there's a really long development cycle that spans a
> cutoff date.


FWIW, I have heard similar opinions now.  Supporting a stack of
libraries for all non-EoL Python versions is harder if NumPy must be
different.
The biggest problem would be if you end up with full support for only
NumPy 1 or NumPy 2 (i.e. similar to what numba has to do due to
promotion).  I hope that is rare enough that it doesn't matter, but I
can't say I am sure.
(And yeah, if that happens, we might see the ask of downstream to
support 3.9 and NumPy 2 in a release.  And trying to avoid that was
part of why the discussion started I think.)

- Sebastian


> 
> If you drop 3.9 from the metadata, I don't think there's any need to
> secretly keep support. It's too hard to actually use it, and it's not
> guaranteed to work; it would be better to just tell anyone needing
> 3.9 to use a beta version when it was still supported.
> 
> (Rant below)
> 
> To be fair, I've never understood NEP 29's need to limit Python
> versions to 42 months after the 2.7 issue was resolved with official
> Python EoL. Now there's a standard (60 months, exactly 5 versions),
> and almost all the rest of the ecosystem supports it. This just
> wedges a divide in the ecosystem between "scientific" and "everyone
> else". It makes me have to think "is this a scientific Python
> project? Or a general Python project?" when I really shouldn't have
> to on every project.
> 
> I really didn't understand SPEC 0's _tightening_ it to 36 months (and
> I was at the developer summit where this was decided, and stated I
> was interested in being involved in this, but was never included in
> any discussion on it, so not sure how this was even decided).
> Dropping Python doesn't hurt projects that are mostly stable, but
> ones that are not are really hurt by it. Python 3.8 is still heavily
> used; people don't mind that NumPy dropped 3.8 support because an
> older version works fine. But if there's a major change, then it
> makes smaller or new projects have to do extra work.
> 
> Current numbers (as of May 4th) for downloads of manylinux wheels:
> * 2.7: 2%
> * 3.5: 0.3%
> * 3.6: 7.4%
> * 3.7: 20.4%
> * 3.8: 23.0%
> * 3.9: 15.3%
> * 3.10: 20.8%
> * 3.11: 8.4%
> * 3.12: 2.3%
> 
> So only 30% of users have Python 3.10+ or newer. Most smaller or
> newer projects can more than double their user base by supporting 
> 3.8+. I could even argue that 3.7+ is still helpful for a new
> project. Once a library is large and stable, then it can go higher,
> even 3.13+ and not hurt anyone unless there's a major development.
> 
> Little rant finished. :)
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: sebast...@sipsolutions.net
> 


_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to