uarray is a developer tool, it is not meant to be used directly by end-users.


This document is meant to elicit discussion from the broader community and to help drive the direction that uarray goes towards. Examples provided here may not be immediately stable.


This page describes the overall philosophy behind uarray. For usage instructions, see the uarray API documentation page. If you are interested in an augmentation for NEP-22, please see the unumpy page.

uarray is a backend/dispatch mechanism with a focus on array computing and the needs of the wider array community, by allowing a clean way to register an implementation for any Python object (functions, classes, class methods, properties, dtypes, …), it also provides an important building block for NEP-22. It is meant to address the shortcomings of NEP-18 and NEP-13; while still holding nothing in uarray itself that’s specific to array computing or the NumPy API.

Indices and tables