On Sat, Dec 2, 2017 at 7:03 AM, Chris Barker <chris.barker@noaa.gov> wrote:
On Thu, Nov 30, 2017 at 11:58 AM, Marten van Kerkwijk <m.h.vankerkwijk@gmail.com> wrote:
Your point about not doing things in the python 2->3 move makes sense;

But this is NOT the 2->3 move -- numpy as been py3 compatible for years. At some point, it is a really good idea to deprecate some things.

Deprecating can be done whenever (at least from this point of view, not from the scipy.sparse situation), the original proposal and my reply were about removal in 1.17. Effective what will happen is that users want to upgrade to the release that drops py2 (for whatever reason), and at that point are forced to upgrade to py3. So it would be good if that release did not have other API breaks.


Personally, I think Matrix should have been deprecated a good while ago -- it never really worked well, and folks have been advised not to use it for years. But anyway, once we can count on having @ then there really is no reason to have Matrix, so it happens that dropping py2 support is the first time we can count on that. But this is really deprecating something when we stop support for py < 3.5, not the py2 to py3 transition.

Remember that deprecating is different than dropping. If we want to keep Matrix around for one release after py2 is dropped, so that people can use it once they are "forced" to move to py3, OK, but let's get clear deprecation plan in place.

Also -- we aren't requiring people to move to py3 -- we are only requiring people to move to py3 if they want the latest numpy features.

One last note: Guido's suggestion that libraries not take py3 as an opportunity to change APIs was a good one, but it was also predicated on the fact that py2+p3 support was going to be needed for a good while. So this is really a different case. It's really a regular old deprecation -- you aren't going to have this feature in future numpy releases -- py2/3 has nothing to do with it.

I think you're massively underestimating how many people are still on py2, are going to have to upgrade when we drop it, and how painful that is.

Ralf