Closed
Description
- Core functionality for supporting overrides:
- Initial implementation in pure Python (ENH: initial implementation of core
__array_function__
machinery #12005) - Validate dispatcher functions in array_function_dispatch (ENH: Validate dispatcher functions in array_function_dispatch #12099)
Disable validation when not testing NumPy (if there is a measurable impact on import times)(unnecessary)
- Add a
.__skip_array_function__
function attribute to allow for skipping__array_function__
dispatch. (ENH: implement__skip_array_function__
attribute for NEP-18 #13389)
- Initial implementation in pure Python (ENH: initial implementation of core
- Reimplement parts of
numpy/core/overrides.py
in C for speed (Tracking issue for implementation of NEP-18 (__array_function__) #12028):-
get_overloaded_types_and_args
-
array_function_implementation_or_override
-
ndarray.__array_function__
? -
array_function_dispatch
?
-
- Support overrides for all public NumPy functions
-
numpy.core
- the easy part (ENH:
__array_function__
support for most ofnumpy.core
#12115) -
np.core.defchararray
(ENH:__array_function__
fornp.core.defchararray
#12154) -
np.einsum
andnp.block
(ENH:__array_function__
fornp.einsum
andnp.block
#12163)
- the easy part (ENH:
-
numpy.lib
-
numpy.fft
/numpy.linalg
(ENH:__array_function__
support fornp.fft
andnp.linalg
#12117) - functions currently written entirely in C: empty_like, concatenate, inner, where, lexsort, can_cast, min_scalar_type, result_type, dot, vdot, is_busday, busday_offset, busday_count, datetime_as_string (ENH:
__array_function__
for multiarray functions #12175) - linspace
-
arange?
-
- Usability improvements
- better error message for unimplemented functions (MAINT: improved error message when no
__array_function__
implementation found #12251) -
ndarray.__repr__
should not rely on__array_function__
(MAINT:ndarray.__repr__
should not rely on__array_function__
#12212) -
stacklevel
should be increased by 1 for wrapped functions, so tracebacks point to the right place (Warnings need different stacklevel after NEP 18 overrides #13329)
- better error message for unimplemented functions (MAINT: improved error message when no
- Fix all known bugs / downstream test failures
- pandas test failures: CI: Test failures on numpydev pandas-dev/pandas#23172
- dask test failures: array_function_dispatch() breaks inspect.getargspec/getfullargspec array_function_dispatch() breaks inspect.getargspec/getfullargspec #12225
- scipy test failures: hstack and column_stack no longer accept generators
- Documentation
- Release notes (Tracking issue for implementation of NEP-18 (__array_function__) #12028)
- Narrative docs
- Revised docstrings to clarify overloaded arguments?