On Tue, Nov 6, 2018 at 8:09 PM Stephan Hoyer <shoyer@gmail.com> wrote:
On Tue, Nov 6, 2018 at 6:08 PM Stefan van der Walt <stefanv@berkeley.edu> wrote:
On Sun, 04 Nov 2018 17:16:12 -0800, Stephan Hoyer wrote:
> On Sun, Nov 4, 2018 at 10:32 AM Marten van Kerkwijk <
> m.h.vankerkwijk@gmail.com> wrote:
>
> > For `__array_function__`, there was some discussion in
> > https://github.com/numpy/numpy/issues/12225 that for 1.16 we might want
> > to follow after all Nathaniel's suggestion of using an environment variable
> > or so to opt in (since introspection breaks on python2 with our wrapped
> > implementations).  Given also the possibly significant hit in performance,
> > this may be the best option.
> > All the best,
>
> I am also leaning towards this right now, depending on how long we plan to
> wait for releasing 1.16. It will take us at least a little while to sort
> out performance issues for __array_function__, I'd guess at least a few
> weeks. Then a blocker still might turn up during the release candidate
> process (though I think we've found most of the major bugs / downstream
> issues already through tests on NumPy's dev branch).

Just to make sure I understand correctly: the suggestion is to use an
environment variable to temporarily toggle the feature, but the plan in
the long run will be to have it enabled all the time, correct?

Yes, exactly. __array_function__ would be opt-in only for 1.16 but enabled by default for 1.17. 

I've gone ahead and made a pull request making __array_function__ opt-in only for now:
https://github.com/numpy/numpy/pull/12362