Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
Review
. 2020 Mar;17(3):261-272.
doi: 10.1038/s41592-019-0686-2. Epub 2020 Feb 3.

SciPy 1.0: fundamental algorithms for scientific computing in Python

Collaborators, Affiliations
Review

SciPy 1.0: fundamental algorithms for scientific computing in Python

Pauli Virtanen et al. Nat Methods. 2020 Mar.

Erratum in

  • Author Correction: SciPy 1.0: fundamental algorithms for scientific computing in Python.
    Virtanen P, Gommers R, Oliphant TE, Haberland M, Reddy T, Cournapeau D, Burovski E, Peterson P, Weckesser W, Bright J, van der Walt SJ, Brett M, Wilson J, Millman KJ, Mayorov N, Nelson ARJ, Jones E, Kern R, Larson E, Carey CJ, Polat İ, Feng Y, Moore EW, VanderPlas J, Laxalde D, Perktold J, Cimrman R, Henriksen I, Quintero EA, Harris CR, Archibald AM, Ribeiro AH, Pedregosa F, van Mulbregt P; SciPy 1.0 Contributors. Virtanen P, et al. Nat Methods. 2020 Mar;17(3):352. doi: 10.1038/s41592-020-0772-5. Nat Methods. 2020. PMID: 32094914 Free PMC article.

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.

PubMed Disclaimer

Conflict of interest statement

The following statements indicate industry affiliations for authors in the main author list, but not for authors in the SciPy 1.0 Contributor group beyond that. These affiliations may have since changed. R.G. was employed by Quansight LLC. T.E.O., E.J. and R.K. were employed by Enthought, Inc. T.E.O. and I.H. were employed by Anaconda Inc. N.M. was employed by WayRay LLC. E.W.M. was employed by Bruker Biospin Corp. F.P. and P.v.M. were employed by Google LLC.

Figures

Fig. 1
Fig. 1. Major milestones from SciPy’s initial release in 2001 to the release of SciPy 1.0 in 2017.
Note that SciKits and GitHub have been introduced in the Background section; more information about Cython and SciPy subpackages (for example, scipy.sparse) is available in the ‘Architecture and implementation choices’ section, BLAS/LAPACK support is detailed in the ‘Key technical improvements’ section, and continuous integration is discussed in the ‘Test and benchmark suite’ section.
Fig. 2
Fig. 2
Python and compiled code volume in SciPy over time.
Fig. 3
Fig. 3. Results of the scipy.spatial.cKDTree.query benchmark from the introduction of cKDTree to the release of SciPy 1.0.
The benchmark generates a k-d tree from uniformly distributed points in an m-dimensional unit hypercube, then finds the nearest (Euclidean) neighbor in the tree for each of 1,000 query points. Each marker in the figure indicates the execution time of the benchmark for a commit in the master branch of SciPy.

Similar articles

Cited by

References

    1. Oliphant, T.E. Guide to NumPy 1st edn (Trelgol Publishing USA, 2006).
    1. van der Walt S, Colbert SC, Varoquaux G. The NumPy array: a structure for efficient numerical computation. Comput. Sci. Eng. 2011;13:22–30.
    1. Pedregosa F, et al. Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 2011;12:2825–2830.
    1. van der Walt S, et al. scikit-image: image processing in Python. Peer J. 2014;2:e453. - PMC - PubMed
    1. Nitz, A. et al. gwastro/pycbc: PyCBC v1.13.2 release, 10.5281/zenodo.1596771 (27 November 2018).
-