Python Array API Standard: Toward Array Interoperability in the Scientific Python Ecosystem

Aaron Meurer, Athan Reines, Ralf Gommers, Yao-Lung L. Fang, John Kirkham, Matthew Barber, Stephan Hoyer, Andreas Christian Müller, Sheng Zha, Saul Shanabrook, Stephannie Jimenz Gacha, Mario Lezcano-Casado, Thomas Fan, Tyler J. Reddy, Alexandre Passos, Hyukjin Kwon, Travis E. Oliphant · Proceedings of the Python in Science Conferences · 2023

The Python array API standard specifies standardized application programming interfaces (APIs) and behaviors for array and tensor objects and operations as commonly found in libraries such as NumPy [1], CuPy [2], PyTorch [3], JAX [4], TensorFlow [5], Dask [6], and MXNet [7]. The establishment and subsequent adoption of the standard aims to reduce ecosystem fragmentation and facilitate array library interoperability in user code and among array-consuming libraries, such as scikit-learn [8] and SciPy [9].A key benefit of array interoperability for downstream consumers of the standard is device agnosticism, whereby previously CPU-bound implementations can more readily leverage hardware acceleration via graphics processing units (GPUs), tensor processing units (TPUs), and other accelerator devices.In this paper, we first introduce the Consortium for Python Data API Standards and define the scope of the array API standard.We then discuss the current status of standardization and associated tooling (including a test suite and compatibility layer).We conclude by outlining plans for future work.

Read the paper · More papers on PaperTik