On Fri, Dec 28, 2018, at 3:40 AM, Sebastian Berg wrote:
> > It’s consistent with np.newaxis in spelling (modulo the _)
> > If mistyped, it can be caught easily by IDEs.
> > It’s typeable with mypy, unlike constant string literals which
> > currently aren’t
> > If code written against new numpy is run on old numpy, it will error
> > rather than doing the wrong thing
> 
> I am not sure I think that the above are too strong arguments, since it
> is not what is typically done for keywords (nobody suggests np.CLIP
> instead of "clip"). Unless you feel this is different because it is a
> mix of strings and bools here?

:+1: to Eric's list. I don't think it's different because of the mix, I think 
it's different because deprecating things is painful. But now that we have good 
typing in Python, I think of string literals as an anti-pattern going forward.

But, for me, the biggest reason is the silent different behaviour in old vs new 
NumPy. As a package maintainer this is just a nightmare.

I have a lot of sympathy for the ugliness argument, but I don't think 
`np.never_copy` (or e.g. `np.modes.never`) is that much worse than a string.
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to