API, NEP: Inclusion of the experimental `like=` argument in NumPy 1.20 (we currently lean to yes)
TL;DR: Should NumPy add a `like=` to array creation functions? This is
an extension of the `__array_function__` protocol useful when working
with array-like objects other than NumPy arrays.
Including it, effectively means we preliminarily accept NEP 35.
Note that without any feedback here, the current default is to include
it in the upcoming NumPy 1.20 release.
Users who only work with NumPy arrays and no alternative array objects
are not affected by this (but will see a "useless" keyword argument).
However, dask and cupy, asked for the addition of a `like=` keyword
argument to array creation functions (list below at ) in the
proposed NEP 35:
This is an extension of the `__array_function__` protocol. I will
refer to the well written NEP for details.
It is important to note that there are alternative ideas under
consideration . This means there is a chance that the `like=`
argument will be superseded by a different solution.
My very personal angle currently is this:
* Dask/CuPy have shown that this is useful to them
* It does not seem like a big burden to me (aside from the new
API/documentation which users might get confused by)
* We could deprecate it again, even if it may be a slow process.
With a lack of a strong argument against it and no clarity when
alternatives might become available, I am fine with accepting it into
However, I can certainly be swayed if anyone has concerns.
There are also currently a few small outstanding discussion listed at:
 There is the "middle ground": We could require an environment
variable to activate it. But we discussed it briefly at the community
meeting as well, and I think the consensus was there is probably no
good argument for that. (e.g. it would mean the argument doesn't show
up in the online documentation.)