SciPy—a NumFOCUS Affiliated Project—recently crossed a major milestone for any open source project: version 1.0! NumFOCUS extends our hearty congratulations to all of the SciPy contributors and community members who helped get the project to this point.
“SciPy the library has been a cornerstone for the scientific Python community. By providing a consistent interface to the best scientific libraries, it has helped millions of researchers, analysts, engineers, data scientists, and more. Crossing the 1.0 milestone is an event that signals to the community to trust and use our tools.”
~Andy Terrel, NumFOCUS Board President
Some of the highlights of the SciPy 1.0 release are:
- Major build improvements. Windows wheels are available on PyPI for the first time, and continuous integration has been set up on Windows and OS X in addition to Linux.
- A set of new ODE solvers and a unified interface to them (scipy.integrate.solve_ivp).
- Two new trust region optimizers and a new linear programming method, with improved performance compared to what scipy.optimize offered previously.
- Many new BLAS and LAPACK functions were wrapped. The BLAS wrappers are now complete.
The SciPy Community is Large and Growing
Impressively, 74 out of 121 contributors to the 1.0 release were first-time contributors. (That’s 61%!) The SciPy community is large and strong: GitHub counts 550 contributors. In the last month, 29 authors have pushed 95 commits to master and 115 commits to all branches. On master, 229 files have changed and there have been 4,056 additions and 1,635 deletions (see here).
Ilhan Polat, one of the SciPy devs, says, “I think the strength of SciPy can also be seen from the mainstream Q&A sites StackOverflow/reddit-python/..
16 years to 1.0
SciPy Development Timeline:
- 2001: the first SciPy release
- 2005: transition to NumPy
- 2007: creation of scikits
- 2008: scipy.spatial module and first Cython code added
- 2010: moving to a 6-monthly release cycle
- 2011: SciPy development moves to GitHub
- 2011: Python 3 support
- 2012: adding a sparse graph module and unified optimization interface
- 2012: removal of scipy.maxentropy
- 2013: continuous integration with Tr