On Fri, 2017-06-30 at 17:55 +1000, Juan Nunez-Iglesias wrote: > To reiterate my point on a previous thread, I don't think this should > happen until NumPy 2.0. This *will* break a massive number of > doctests, and what's worse, it will do so in a way that makes it > difficult to support doctesting for both 1.13 and 1.14. I don't see a > big enough benefit to these changes to justify breaking everyone's > tests before an API-breaking version bump. >
Just so we are on the same page, nobody is planning a NumPy 2.0, so insisting on not changing anything until a possible NumPy 2.0 is almost like saying it should never happen. Of course we could enmass deprecations and at some point do many at once and call it 2.0, but I am not sure that helps anyone, when compared to saying that we do deprecations for 1-2 years at least, and longer if someone complains. The question is, do you really see a big advantage in fixing a gazillion tests at once over doing a small part of the fixes one after another? The "big step" thing did not work too well for Python 3.... - Sebastian > On 30 Jun 2017, 6:42 AM +1000, Marten van Kerkwijk > <m.h.vankerkw...@gmail.com>, wrote: > > To add to Allan's message: point (2), the printing of 0-d arrays, > > is > > the one that is the most important in the sense that it rectifies a > > really strange situation, where the printing cannot be logically > > controlled by the same mechanism that controls >=1-d arrays (see > > PR). > > > > While point 3 can also be considered a bug fix, 1 & 4 are at some > > level matters of taste; my own reason for supporting their > > implementation now is that the 0-d arrays already forces me (or, > > specifically, astropy) to rewrite quite a few doctests, and I'd > > rather > > have everything in one go -- in this respect, it is a pity that > > this > > is separate from the earlier change in printing for structured > > arrays > > (which was also much for the better, but broke a lot of doctests). > > > > -- Marten > > > > > > > > On Thu, Jun 29, 2017 at 3:38 PM, Allan Haldane <allanhaldane@gmail. > > com> wrote: > > > Hello all, > > > > > > There are various updates to array printing in preparation for > > > numpy > > > 1.14. See https://github.com/numpy/numpy/pull/9139/ > > > > > > Some are quite likely to break other projects' doc-tests which > > > expect a > > > particular str or repr of arrays, so I'd like to warn the list in > > > case > > > anyone has opinions. > > > > > > The current proposed changes, from most to least painful by my > > > reckoning, are: > > > > > > 1. > > > For float arrays, an extra space previously used for the sign > > > position > > > will now be omitted in many cases. Eg, `repr(arange(4.))` will > > > now > > > return 'array([0., 1., 2., 3.])' instead of 'array([ 0., 1., 2., > > > 3.])'. > > > > > > 2. > > > The printing of 0d arrays is overhauled. This is a bit finicky to > > > describe, please see the release note in the PR. As an example of > > > the > > > effect of this, the `repr(np.array(0.))` now prints as > > > 'array(0.)` > > > instead of 'array(0.0)'. Also the repr of 0d datetime arrays is > > > now like > > > "array('2005-04-04', dtype='datetime64[D]')" instead of > > > "array(datetime.date(2005, 4, 4), dtype='datetime64[D]')". > > > > > > 3. > > > User-defined dtypes which did not properly implement their `repr` > > > (and > > > `str`) should do so now. Otherwise it now falls back to > > > `object.__repr__`, which will return something ugly like > > > `<mytype object at 0x7f37f1b4e918>`. (Previously you could depend > > > on > > > only implementing the `item` method and the repr of that would be > > > printed. But no longer, because this risks infinite recursions.). > > > > > > 4. > > > Bool arrays of size 1 with a 'True' value will now omit a space, > > > so that > > > `repr(array([True]))` is now 'array([True])' instead of > > > 'array([ True])'. > > > > > > Allan > > > _______________________________________________ > > > NumPy-Discussion mailing list > > > NumPy-Discussion@python.org > > > https://mail.python.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion@python.org > > https://mail.python.org/mailman/listinfo/numpy-discussion > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion
signature.asc
Description: This is a digitally signed message part
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion