This document is a reference manual for NumPy, a Python library used for working with arrays and matrices. It describes NumPy's core array type, the ndarray, which can represent multidimensional arrays of numeric data. The ndarray uses a data type object to specify how elements are stored and interpreted. Individual elements can be accessed as array scalars. The manual also covers NumPy universal functions, routines, and the C API for interacting with NumPy from C/C++ code.