Journal Article
Machine Learning
Featured

SciPy 1.0: fundamental algorithms for scientific computing in Python

Pauli Virtanen(University of Jyväskylä), Ralf Gommers(Quansight (United States)), Travis E. Oliphant(Brigham Young University), Matt Haberland(California Polytechnic State University), Tyler Reddy(Los Alamos National Laboratory), David Cournapeau, Evgeni Burovski(National Research University Higher School of Economics), Pearu Peterson(Tallinn University of Technology), Warren Weckesser(University of California, Berkeley), Jonathan Bright, Stéfan J. van der Walt(University of California, Berkeley), Matthew Brett(University of Birmingham), Joshua Wilson(Film Independent), K. Jarrod Millman(University of California, Berkeley), Nikolay Mayorov(WayRay (Russia)), Andrew R. J. Nelson(Australian Nuclear Science and Technology Organisation), Eric Jones(Enthought (United States)), Robert Kern(Enthought (United States)), Eric Larson(University of Washington), C J Carey(Amherst College), İlhan Polat, Yu Feng(University of California, Berkeley), Eric W. Moore(Bruker (United States)), Jake VanderPlas(University of Washington), Denis Laxalde, Josef Perktold, Robert Cimrman(University of West Bohemia in Pilsen), Ian Henriksen(Brigham Young University), E. A. Quintero, Charles R. Harris(Utah State University Space Dynamics Laboratory), Anne M. Archibald, Antônio H. Ribeiro(Universidade Federal de Minas Gerais), Fabian Pedregosa(Google (Canada)), Paul van Mulbregt(Google (United States)), SciPy 1.0 Contributors, Aditya Vijaykumar(Tata Institute of Fundamental Research), Alessandro Pietro Bardelli, Alex Rothberg, Andreas Hilboll(University of Bremen), Andreas Kloeckner(University of Illinois Urbana-Champaign), Anthony Scopatz(Quansight (United States)), Antony Lee(Centre National de la Recherche Scientifique), Ariel Rokem(University of Washington), C. Nathan Woods(Los Alamos National Laboratory), Chad Fulton(Federal Reserve Board of Governors), Charles Masson, Christian Häggström(Orexplore (Sweden)), Clark Fitzgerald(University of California, Davis), David A. Nicholson(Emory University), David R. Hagen(Applied BioMath (United States)), Dmitrii V. Pasechnik(University of Oxford), Emanuele Olivetti(Fondazione Bruno Kessler), Eric Martin, Eric Wieser(University of Cambridge), Fabrice Silva(Centre National de la Recherche Scientifique), Felix Lenders(Heidelberg University), Florian Wilhelm, G. Young(Film Independent), Gavin A. Price(Lawrence Berkeley National Laboratory), Gert-Ludwig Ingold(University of Augsburg), Gregory E. Allen(Applied Research Laboratories, The University of Texas at Austin), Gregory R. Lee(Cincinnati Children's Hospital Medical Center), Hervé Audren, Irvin Probst(École nationale supérieure de techniques avancées Bretagne), Jörg P. Dietrich(Excellence Cluster Universe), Jacob Silterra(Malden Public Schools), James T Webber(Chan Zuckerberg Initiative (United States)), Janko Slavič(University of Ljubljana), Joel Nothman(The University of Sydney), Johannes Buchner(Pontificia Universidad Católica de Chile), Johannes Kulick(University of Stuttgart), Johannes L. Schönberger, José Vinícius de Miranda Cardoso(Universidade Federal de Campina Grande), Joscha Reimer(Christian-Albrechts-Universität zu Kiel), Joseph Harrington(University of Central Florida), Juan Luis Cano Rodríguez, Juan Nunez-Iglesias(Monash University), Justin Kuczynski(University of Colorado Boulder), Kevin Tritz(Johns Hopkins University), Martin Thoma, Matthew Newville(University of Chicago), Matthias Kümmerer(University of Tübingen), Maximilian Bolingbroke, Michael Tartre(Two Sigma Investments (United States)), Mikhail Pak(Technical University of Munich), Nathaniel J. Smith, Nikolai Nowaczyk, Nikolay Shebanov, Oleksandr Pavlyk(Intel (United States)), Per A. Brodtkorb(Horten Kommune), Perry Lee, Robert T. McGibbon(D. E. Shaw Research), Roman Feldbauer(University of Vienna), Sam Lewis, Sam Tygier(University of Manchester), Scott Sievert(University of Wisconsin–Madison), Sebastiano Vigna(University of Milan), Stefan Peterson, Surhud More(Kavli Institute for the Physics and Mathematics of the Universe), Tadeusz Pudlik
February 3, 2020Nature Methods38,551 citations

39k

Citations

2.2k

Influential Citations

Nature Methods

Venue

2020

Year

Abstract

SciPy is an open-source scientific computing library for the Python programming language. Since its initial release in 2001, SciPy has become a de facto standard for leveraging scientific algorithms in Python, with over 600 unique code contributors, thousands of dependent packages, over 100,000 dependent repositories and millions of downloads per year. In this work, we provide an overview of the capabilities and development practices of SciPy 1.0 and highlight some recent technical developments.

Analysis

Why This Paper Matters

SciPy 1.0 represents a landmark in scientific computing, marking the transition of a widely-used open-source library from a collection of evolving tools to a stable, versioned platform. With over 600 contributors and millions of users, SciPy has become the backbone of Python-based scientific research, including machine learning and AI. Its release in Nature Methods underscores its critical role in reproducible research and data analysis.

The paper is significant because it documents not just the software, but the community and governance structures that enabled its success. For AI practitioners, SciPy provides essential building blocks—optimization routines, linear algebra, signal processing—that underpin many machine learning pipelines. The library's stability and broad adoption make it a trusted dependency for frameworks like scikit-learn, TensorFlow, and PyTorch.

Technical Contributions

  • Comprehensive algorithm suite: Includes modules for optimization (e.g., minimize, curve_fit), integration (quad, odeint), interpolation (interp1d, griddata), signal processing (firwin, spectrogram), linear algebra (eig, svd), and statistics (ttest_ind, kstest).
  • Community-driven development: Established a formal governance model, code review process, and extensive testing infrastructure to ensure reliability.
  • Interoperability: Tight integration with NumPy arrays and compatibility with other Python scientific libraries, enabling seamless workflows.
  • Documentation and examples: Provided extensive documentation, tutorials, and examples to lower the barrier for new users.

Results

The paper reports that SciPy 1.0 has over 600 unique code contributors, thousands of dependent packages, over 100,000 dependent repositories, and millions of downloads per year. These metrics demonstrate its widespread adoption and critical role in the Python ecosystem. The library's stability and performance have made it a standard tool in academic research and industry.

Significance

SciPy 1.0 has had a profound impact on the AI and scientific computing fields by providing a free, open-source, and well-maintained set of algorithms. It has enabled researchers to focus on their domain problems rather than reimplementing basic numerical routines. The library's success has also set a benchmark for open-source scientific software, influencing how other projects approach community building, testing, and release management. For AI, SciPy's optimization and linear algebra modules are directly used in model training, feature engineering, and evaluation.