New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MAINT: drop Python 2.7 and 3.4 #9582
Conversation
b0bc68a
to
a70886d
Compare
@tylerjereddy Just a reminder that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than one idea maybe worth investigating, looks good to me
Also update minimum NumPy version required to 1.13.3 Discussed on the mailing list: https://mail.python.org/pipermail/scipy-dev/2018-November/023181.html
Silences useless build warnings, and should generate more appropriate code.
3b8db29
to
6e4fbf9
Compare
LGTM. |
@rgommers a practical question, why do we bump the NumPy requirement all the way up to 1.13+? It looks like there are 3.6 wheels for 1.12 on PyPi (but only up to 3.5 for NumPy 1.11). |
If I remember correctly that is the earliest version of NumPy that has the wheels for all platforms available. |
I see win 32/64, linux 686/x86_64, and OSX for Python 3.5 and 3.6 for NumPy 1.12.0 in the |
Matplotlib is numpy 1.11+ currently as that was the oldest numpy that supported py3.6 iirc. For Matplotlib we plan to drop py3.5 support in mpl3.1 (early next year), based on 36 months of support for a given python minor version (see https://matplotlib.org/devel/min_dep_policy.html). We should try to aligen these policies across the ecosystem if possible. |
Python 3.7 requires NumPy >= 1.13.1, and it's nicer to have the same minimum numpy version for each python version. This was in my proposal on the list. |
Makes sense to me, thanks for clarifying. |
For NumPy and SciPy, it has usually been based on what is being shipped by the major Linux distributions (typically Debian and RHEL being the laggards). That's a lowest common denominator.
Agreed, that would be useful. |
Should we also remove the |
Given the rise of user-space python I am less concerned about staying compatible with the version of python shipped by the stable linux distributions. As they are stable, I do not expect them to package new versions of the scipy stack for their main line (they tend to stay with what ever was out when they released). If users want to user newer versions of our stuff they should be using some sort of user-space enviroment management (as I like the time-based policy because it is not subjective (don't have to define a 'major' linux distribution, don't have to decide when 'enough' of them have moved, etc) and it easy to compute (well, as easy as estimating a release date and doing date-math ever is ;) ). Changing the numpy support policy to "the oldest that supports the newest python supported" is interesting. |
We decided not to do any cleanups yet, because 1.2.x is an LTS release and we want to keep the work for backports as low as possible. So I'd prefer to defer all cleanups for now rather than weigh up for each one if it would hinder backports. |
I sympathize with the argument, especially now that I like this discussion and aiming at standardizing this as much as possible. Will move it to a separate issue to not lose track of this.
We can't always do this, because we're trying to keep at least 4 supported numpy versions, to help users in their upgrade paths. So say we'll need numpy 1.17.0 for Python 3.8, then we'll go back to requiring different numpy versions for different Python versions. |
Two approving reviews and no unaddressed comments, so let's get this in. Thanks all. |
Thanks @rgommers |
@rgommers This broke the wheels builds on linux, see https://travis-ci.org/MacPython/scipy-wheels/jobs/471425652. NumPy handles the EDIT: Works on Windows. NVM, the 2.7 wheels are still being built on |
I'm trying to update scipy-wheels builds, currently broken. What should the minimum |
Thanks @charris. Yes for master both should be 1.13.3. For |
Looks like SciPy built against earlier NumPy versions (1.13.1) but tested with later versions (1.15.4) emits several thousands of PendingDeprecationWarnings. Not sure why that is. Fixed in scipy-wheels by specifying 1.13.3 so the first version bigger than 1.13.1 (cached?) isn't pulled in for the testing, but the problem is probably still there. Should be tested locally just to see. |
@rgommers What Mac version? Currently scipy-wheels is using 10.6, should it be 10.9? EDIT: The available Mac libraries for OpenBLAS v0.3.4+ are for 10.9. @matthew-brett Ping. |
yes 10.9 sounds right |
@rgommers OK, I'll put that in scipy-wheels master. What about the v1.2.x? Scipy 1.2.0 came out with the old OpenBLAS library, and it also has an svd bug, #9620. Let's bring @tylerjereddy in also. I'll make a PR for that and leave the decision up to others. |
Yes I think 1.2.x can also be updated to 10.9. That SVD bug isn't pretty .... |
Would it be worth adding SciPy to Python 3 Statement (as NumPy was)? |
I opened an issue for that a while ago: python3statement/python3statement.github.io#158 |
Thanks for the update. |
Updates all build files, docs, CI config files. Also adds
# cython: language_level=3
to get rid of the many warnings from Cython.Should also solve the issues with building wheels (gh-9574), but let's check that after merge.