-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Bump numpy minimal version to 1.7.0? #7396
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
Comments
I am 👍 , but it would be very easy to talk me out of it. |
I am 👍*100, mostly 'cause it's my code that's a mess 'cause of this. |
I am assuming that this would be for v2.1? I am -1 for doing so for v2.0, On Thu, Nov 3, 2016 at 9:29 AM, hannah notifications@github.com wrote:
|
That seems like a good idea. |
(For scikit-learn the criteria is to support at least what is in the latest Ubuntu LTS, which is currently 1.8). |
Another (rather minor) plus is that we can finally enable those |
Oh, actually turns out that macro is already enabled and since there are no errors, we don't use any of the deprecated API. One less explicit benefit I guess. |
I'm happy with seeing this change for 2.1. |
What is the big argument for not bumping it to 1.7 now? Is this conservatism doing us and our users any big favor? Isn't an new major version number a good place to make such a change? |
Scipy 0.18.0: "This release requires Python 2.7 or 3.4-3.5 and NumPy 1.7.1 or greater." I don't see any reason why we should lag scipy in this respect. |
The argument against, and I'm not sure where I stand on it personally, is that bumping the numpy version gives users stuck on the old version no upgrade path for the new styles; therefore when they move, they have an even bigger change to deal with. |
And I think the counter-argument is that anyone who can install an up-to-date matplotlib can just as easily install an up-to-date numpy. Are there really any users out there for which this is not true? |
Bumping numpy leads to needing to rebuild packages which are linked to numpy's C-API. Matplotlib is usually a leaf in the graph (numpy's not), so bumping matplotlib doesn't require rebuilding other stuff. |
Two more data points: Ubuntu 14.04LTS has numpy 1.8.1. RHEL 7 has numpy 1.7.1. |
My argument stands: yes, it is possible that someone, somewhere, will be bent out of shape by not being able to install 2.x natively (that is, without Anaconda or similar) without additional updates, and will be left stuck with our old style. They will have to keep using 1.5.3, or whatever earlier version they are already using--and have probably been using happily for a long time, style and all. (On the plus side, they will not be tripping over whatever undetected bugs and glitches we have introduced with the style overhaul--and I am sure there will be some.) But I think that such cases of user pain will be so rare, if they occur at all, that they should not block us. |
My argument against bumping it for 2.0 is that the promise has been that On Thu, Nov 17, 2016 at 5:24 PM, Eric Firing notifications@github.com
|
On 2016/11/17 12:35 PM, Benjamin Root wrote:
Weak argument. Note the "mostly", and the fact that until 2.0 is Right now, for #7476, we need 1.7.1; or we need to make our own version 2.0 is the right place to make the change. It will make it easier to |
I am fine with bumping the requirement for numpy to 1.7 for 2.0. |
@dopplershift, agreed, I failed to say why I suddenly thought it mattered. But there is a more general argument for this sort of change. The larger the range of numpy versions we support, the larger the potential for running into problems with numpy bugs and behavior changes. And the greater the delay between the time a new feature is introduced and the time when we can take advantage of it. In other words, there is a real benefit to matplotlib development in moving up the minimum version, and a real cost in delaying the move. |
Agree completely--so long as we do it with an eye to the real benefits we'll see (i.e. new features) and acknowledge the cost to our users (such as those who have to have a sysadmin build their own stack on, e.g. solaris) |
I would come down on the side of bumping the minimum version over vendoring a version of |
I'm 👍 as well now. |
Ok, now that there is a concrete reason for bumping the minimum version As for the general argument about what versions of numpy to support, I have (Yes, I know, using a CI would mitigate this significantly...) On Thu, Nov 17, 2016 at 10:29 PM, Ryan May notifications@github.com wrote:
|
Closed by #7483 |
I would like to propose (purely for convenience reasons) to bump the minimal numpy version to 1.7.0. There are a couple of hacks left to support numpy 1.6 (
category.py
,tests/test_category.py
,cbook.py
(putmask vs copyto), possibly(?)colors.py
), and 1.7 also introduced the ability to pass a tuple as theaxis
kwarg to reducing ufuncs.numpy 1.7.0 was released in Feb. 2013 (3y 9m ago). As a comparison, the minimal version of numpy was bumped to 1.6.0 in Jul. 2014 (#3229), 3y 2m after its release (May 2011) (and was effective with the release of mpl1.4.0 in Aug. 2014).
Edit: I misread the release notes of 1.7.0 -- turns out that what it added was the ability to pass multiple axes as a tuple to reducing ufuncs; passing a single axis was supported since long ago (and that was one of my bigger reasons). So the issue is less pressing on my side at least.
The text was updated successfully, but these errors were encountered: