when to drop numpy 1.5.x/1.6.x support?

Hi all, During the last week there were 3 PRs that failed because they used features not available in numpy 1.5.x or 1.6.x: https://github.com/scipy/scipy/pull/4238 (copy kw to astype method) https://github.com/scipy/scipy/pull/4256 (out kw to ufuncs) https://github.com/scipy/scipy/pull/4260 (use of np.random.choice) All those issues were/are fixable, but it looks like the balance of gain from keeping support for those numpy versions to development effort of supporting them is slowly shifting the wrong way. So questions: 1. Is anyone still relying on numpy 1.5.x or 1.6.x support for the next scipy releases? 2. Is it time to drop support for those versions, or if not then when? Cheers, Ralf

2014-12-13 13:05 GMT+01:00 Ralf Gommers <ralf.gommers@gmail.com>:
1. Is anyone still relying on numpy 1.5.x or 1.6.x support for the next scipy releases?
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4]. I take this to mean that almost nobody has NumPy 1.5, so there's no great benefit to supporting it. 1.6 might be more common. [1] http://packages.ubuntu.com/search?keywords=numpy&searchon=names&suite=all§ion=all [2] https://packages.debian.org/search?keywords=numpy&searchon=names&suite=all§ion=all [3] http://mirror.centos.org/centos/6/os/x86_64/Packages/ [4] http://mirror.centos.org/centos/7/os/x86_64/Packages/

On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
If you are using your OS's Numpy, you are likely to grab Scipy from there too. As far as I know, the only reason why someone would not upgrade Numpy is because they can't touch their systems, in which case the existence of a newer version of Scipy is equally irrelevant. Furthermore, compiling Numpy is easier than Scipy, so if you can update the later, you should be able to upgrade both. I think never versions of Scipy should just target maintained versions of Numpy, for some definition of "maintained". /David.

On Sat, Dec 13, 2014 at 10:22 PM, Daπid <davidmenhur@gmail.com> wrote:
On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
Thanks for checking. The most recent Ubuntu LTS and CentOS releases are good data points in general I'd say. In this case Ubuntu (and Debian stable) are on 1.6.x, so keep that but drop 1.5.x then? If you are using your OS's Numpy, you are likely to grab Scipy from there
too.
As far as I know, the only reason why someone would not upgrade Numpy is because they can't touch their systems, in which case the existence of a newer version of Scipy is equally irrelevant. Furthermore, compiling Numpy is easier than Scipy, so if you can update the later, you should be able to upgrade both.
A lot more packages depend on numpy than on scipy, so upgrading numpy can have way more impact. And there may be institutes/companies that ship a fixed version of numpy that needs to be supported for a long time.
I think never versions of Scipy should just target maintained versions of Numpy, for some definition of "maintained".
In principle only the last released numpy version gets new bugfix point releases, in exceptional cases maybe one version further back. So there's a good chance we'll get a numpy 1.9.2, little chance for a 1.8.3 and close to zero chance for a 1.7.3. I don't think that we can consider dropping numpy 1.7.x or 1.8.x support. Ralf

2014-12-14 11:02 GMT+01:00 Ralf Gommers <ralf.gommers@gmail.com>:
On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
Thanks for checking. The most recent Ubuntu LTS and CentOS releases are good data points in general I'd say. In this case Ubuntu (and Debian stable) are on 1.6.x, so keep that but drop 1.5.x then?
I'd say so.
On Sat, Dec 13, 2014 at 10:22 PM, Daπid <davidmenhur@gmail.com> wrote:
I think never versions of Scipy should just target maintained versions of Numpy, for some definition of "maintained".
In principle only the last released numpy version gets new bugfix point releases, in exceptional cases maybe one version further back. So there's a good chance we'll get a numpy 1.9.2, little chance for a 1.8.3 and close to zero chance for a 1.7.3. I don't think that we can consider dropping numpy 1.7.x or 1.8.x support.
NumPy releases are not always backwards compatible. Supporting an earlier version makes it easier for users to migrate their code. It's also easier for buildbots (Travis) if they can fetch a prepackaged NumPy.

On 12/14/14, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Sat, Dec 13, 2014 at 10:22 PM, Daπid <davidmenhur@gmail.com> wrote:
On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
Thanks for checking. The most recent Ubuntu LTS and CentOS releases are good data points in general I'd say. In this case Ubuntu (and Debian stable) are on 1.6.x, so keep that but drop 1.5.x then?
+1 for dropping 1.5.x. (I'm neutral on 1.6 support.) Warren
If you are using your OS's Numpy, you are likely to grab Scipy from there
too.
As far as I know, the only reason why someone would not upgrade Numpy is because they can't touch their systems, in which case the existence of a newer version of Scipy is equally irrelevant. Furthermore, compiling Numpy is easier than Scipy, so if you can update the later, you should be able to upgrade both.
A lot more packages depend on numpy than on scipy, so upgrading numpy can have way more impact. And there may be institutes/companies that ship a fixed version of numpy that needs to be supported for a long time.
I think never versions of Scipy should just target maintained versions of Numpy, for some definition of "maintained".
In principle only the last released numpy version gets new bugfix point releases, in exceptional cases maybe one version further back. So there's a good chance we'll get a numpy 1.9.2, little chance for a 1.8.3 and close to zero chance for a 1.7.3. I don't think that we can consider dropping numpy 1.7.x or 1.8.x support.
Ralf

On Sun, Dec 14, 2014 at 2:02 AM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Sat, Dec 13, 2014 at 10:22 PM, Daπid <davidmenhur@gmail.com> wrote:
On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
Thanks for checking. The most recent Ubuntu LTS and CentOS releases are good data points in general I'd say. In this case Ubuntu (and Debian stable) are on 1.6.x, so keep that but drop 1.5.x then?
+1 on dropping 1.5.x. I would actually skip over 1.6 and go all the way to 1.7 and its multi-axis reduction operations. But having einsum and out kwargs is already a much welcome change. Jaime

It occurs to me that there could be many places in the scipy codebase where modernisations could be made, but for the need of backward compatibility with older versions of dependent libraries, i.e. numpy. Is there any file where those locations are recorded, so that upgrades can be facilitated when support for older dependent libraries is dropped? -- _____________________________________ Dr. Andrew Nelson _____________________________________

On Mon, Dec 15, 2014 at 1:20 PM, Andrew Nelson <andyfaff@gmail.com> wrote:
_____________________________________ It occurs to me that there could be many places in the scipy codebase where modernisations could be made, but for the need of backward compatibility with older versions of dependent libraries, i.e. numpy.
Modernisations can definitely be made in many places, but I think only a small fraction of those is coupled to improvements in the latest numpy releases.
Is there any file where those locations are recorded, so that upgrades can be facilitated when support for older dependent libraries is dropped?
Searching for NumpyVersion will reveal things that do depend on numpy version. Lars already has a PR in to clean up code that's still there to support numpy 1.5.x: https://github.com/scipy/scipy/pull/4265. For other things that need major surgery, see the still to be merged Scipy 1.0 roadmap: https://github.com/scipy/scipy/pull/2908 Ralf

On Sun, Dec 14, 2014 at 6:47 PM, Jaime Fernández del Río < jaime.frio@gmail.com> wrote:
On Sun, Dec 14, 2014 at 2:02 AM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Sat, Dec 13, 2014 at 10:22 PM, Daπid <davidmenhur@gmail.com> wrote:
On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
Thanks for checking. The most recent Ubuntu LTS and CentOS releases are good data points in general I'd say. In this case Ubuntu (and Debian stable) are on 1.6.x, so keep that but drop 1.5.x then?
+1 on dropping 1.5.x.
I would actually skip over 1.6 and go all the way to 1.7 and its multi-axis reduction operations. But having einsum and out kwargs is already a much welcome change.
Summary of this thread so far: everyone in favor of dropping 1.5.x support, on keeping 1.6.x support the opinions are a bit more mixed. So I propose that we go ahead and drop 1.5.x (let's consider it final if no one objects in the next day or two) and reconsider dropping 1.6.x in the next release cycle. I'd actually suggest only supporting 1.6.2 - no use trying to work around bugs in 1.6.0/1.6.1 that have been fixed. We did the same with 1.5.x. Ralf

On Wed, Dec 17, 2014 at 3:26 PM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Sun, Dec 14, 2014 at 6:47 PM, Jaime Fernández del Río < jaime.frio@gmail.com> wrote:
On Sun, Dec 14, 2014 at 2:02 AM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Sat, Dec 13, 2014 at 10:22 PM, Daπid <davidmenhur@gmail.com> wrote:
On 13 December 2014 at 13:34, Lars Buitinck <larsmans@gmail.com> wrote:
I don't, but I just checked the NumPy version that comes with various Linux distros so we can see what people are likely to have. There is no Ubuntu long-term support release that ships 1.5, only 1.4 (10.04) or 1.6 (12.04) [1]. Debian doesn't list 1.5 for any of its releases either [2]. CentOS 6 ships 1.4 [3], while CentOS 7 ships 1.7.1 [4].
Thanks for checking. The most recent Ubuntu LTS and CentOS releases are good data points in general I'd say. In this case Ubuntu (and Debian stable) are on 1.6.x, so keep that but drop 1.5.x then?
+1 on dropping 1.5.x.
I would actually skip over 1.6 and go all the way to 1.7 and its multi-axis reduction operations. But having einsum and out kwargs is already a much welcome change.
Summary of this thread so far: everyone in favor of dropping 1.5.x support, on keeping 1.6.x support the opinions are a bit more mixed. So I propose that we go ahead and drop 1.5.x (let's consider it final if no one objects in the next day or two) and reconsider dropping 1.6.x in the next release cycle.
I'd actually suggest only supporting 1.6.2 - no use trying to work around bugs in 1.6.0/1.6.1 that have been fixed. We did the same with 1.5.x.
+1 Warren
Ralf
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-dev
participants (6)
-
Andrew Nelson
-
Daπid
-
Jaime Fernández del Río
-
Lars Buitinck
-
Ralf Gommers
-
Warren Weckesser