doc/neps/scope.rst
Here, we describe aspects of N-d array computation that are within scope for NumPy development. This is not an aspirational definition of where NumPy should aim, but instead captures the status quo—areas which we have decided to continue supporting, at least for the time being.
In-memory, N-dimensional, homogeneously typed (single pointer + strided) arrays on CPUs
Higher level APIs for N-dimensional arrays
__array_ufunc__ and __array_function__ <basics.dispatch>.Python API and a C API to the ndarray's methods and attributes.
Other specialized types or uses of N-dimensional arrays:
Historically, NumPy has included the following basic functionality in support of scientific computation. We intend to keep supporting (but not to expand) what is currently included:
NumPy provides some infrastructure for other packages in the scientific Python ecosystem:
Speed: we take performance concerns seriously and aim to execute operations on large arrays with similar performance as native C code. That said, where conflict arises, maintenance and portability take precedence over performance. We aim to prevent regressions where possible (e.g., through asv).