-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
RFC: Bump NumPy version requirement #5797
Comments
+1e16 |
+10 |
what version do you have on ubuntu stable? I think it's a good target.
It should work with stable linux using basic dependencies (numpy,
scipy, matplotlib)
|
FYI Ubuntu LTS support -- at least 16.04 or older -- will thus end up making us more restrictive than |
nilearn is requiring:
- Numpy >= 1.11
https://github.com/nilearn/nilearn
… |
Knowing who runs nilearn and who you hang out with, I'd bet the logic is the same :) i.e., pinning to the stable Linux release. FWIW Thomas Caswell of matplotlib makes some good points about why this is possibly an outdated view of compatibility in the Python ecosystem over on the SciPy PR, but the most relevant bits are:
Formerly I would have agreed with the old-linux pinning. But I tend to see the time-based system as a better fit nowadays. |
+1 to what @larsoner said and +1 to bumping the version. |
no interaction with debian packaging? see recent comment.
Honestly I don't think it's such a pain point to support old numpy.
I tend to write numpy code which works on very old versions but maybe I am
just old :)
|
Not that I see. Assuming the blanket policy is not to bump versions during the support window, if the Debian people are packaging NumPy 1.11 then they shouldn't be packaging MNE 0.17/0.18 but rather 0.12 with it (which was released around the same time in spring 2016). Otherwise they are bumping versions of some packages and not others. But maybe I don't understand how they freeze or upgrade versions.
Or maybe just not writing enough code :) In the last week:
And looking forward:
In the meantime, though, I'll write a wrapper that chooses what to use, just like I've done for I get the sense that you will not budge on this for now @agramfort so I'll close, but I think we should revisit this issue if the SciPy and matplotlib (and other) developers converge on a common policy. I don't see value in deviating from the scientific-community-standard policy if it gets established as being 2- or 3-years back. Would you agree on that? |
sorry to be a pain but I'd like us to move as fast as the common
denominator of our
ecosystem.
scikit-learn
- NumPy (>= 1.11.0)
- SciPy (>= 0.17.0)
it can be a trade off but I don't see a huge maintenance burden by
supporting
older numpy so i'd rather not reduce our impact if the cost is limited.
my 2c
|
I would lean towards requiring new versions. As @larsoner said, using old version holds us back and requires us to code workarounds. I don't know of a single person who has to use an ancient platform for scientific Python (but that may just be a coincidence). However, given that scientific Python runs in userland (well, that's the wrong term, what I mean is that no admin privileges are required), I don't see how anyone could not upgrade their package versions. We don't have to be on the cutting edge, but using anything older than 3 years seems a bit odd. |
I propose to resurrect this conversation in 6 months.
|
SciPy 1.2.0 is coming out now, and the next version (1.3.0) will require NumPy 1.13.3+. If we make a similar jump, we can simplify a few things in our code base, including no need to add another thing to
fixes.py
in #5754.We have a lot of places we could use
keepdims=True
instead of[:, np.newaxis, :]
, as well(though this might only require NumPy 1.10.0).NumPy 1.13 came out in June 2017. We are probably going to release 0.18 in May/June 2019, so 1.13 will be ~2 years old by then. Perhaps we should start using "about 2 years old" as a guide for how far back we need to support our dependencies?
The text was updated successfully, but these errors were encountered: