AI Seminar

NumPy: A look at the past, present, and future of array computation

Ross BarnowskiPostdoctoral Scholar
3725 Beyster BuildingMap


November 2019 marked the 13th anniversary of the release of NumPy 1.0. What started as humble project to bring efficient array computation to Python driven by a dedicated core of user-developers has since transformed into a foundational component of the widely-adopted scientific Python ecosystem, even displacing commercially-developed software across many STEM disciplines. The recent explosion of interest in data science and machine learning has further accelerated its pace of adoption, resulting in an estimated 10-15 million users from a wide range of fields.

Since its inception, NumPy’s n-dimensional array object has been the standard exchange object for data within the scientific Python ecosystem. Recent years have seen the rapid development of numerous libraries that improve the speed, flexibility, and scalability of array computation. Among them, NumPy’s API emerged as a common language for expressing array operations. Mitigating the risk of ecosystem fragmentation, while encouraging development of a diverse ecosystem of libraries and technologies, is one of the central goals of the NumPy developers.

This talk presents the development arc of the NumPy library, starting with a brief look at the history and philosophy of the project and tracing its evolution to the present day. We will present the core features of the NumPy library and take a look at some recent ground-breaking scientific discoveries that depend on NumPy and the scientific Python ecosystem. We conclude with a look at the future of NumPy, including proposed and actively developed enhancements. NumPy has always been a community-driven project: we hope to inspire you to join the community and help steer array computation (and the tens of millions of users who depend on it) to a bright future!


Ross Barnowski is a postdoctoral scholar working towards the development of open, interactive tools for learning and teaching NumPy. Ross has been involved in open source software for reproducible, collaborative science since 2015, primarily in his role as an educator. He holds a PhD in nuclear engineering from UC Berkeley and previously served as an assistant research scientist and lecturer in the department of nuclear engineering, teaching the graduate-level lab in nuclear instrumentation ( His post-graduate research focused on systems integration and software for 3D gamma-ray imaging systems including high-resolution instruments for applications in nuclear security and molecular imaging. He has also worked on hand-portable radiation imaging systems for real-time 3D radiation mapping with applications in environmental monitoring and nuclear contamination remediation. These systems have been used to investigate gamma-ray imaging for environmental monitoring in real-world scenarios, including the area around the Fukushima Daiichi nuclear power plant as well as Chernobyl, Ukraine.


Stephen Reger(734) 764-2132

Faculty Host

David FouheyAssistant ProfessorEECS - CSE Division