Sixteen years after it was born, SciPy, the leading Python library for scientific and technical computing, reaches version 1.0, which marks the achievement of both technical and organizational goals.
According to Travis Oliphant, among SciPy’s creators,
This release represents a dream of many that has been patiently pursued by a stalwart group of pioneers for nearly 2 decades. Efforts have been broad and consistent over that time from many hundreds of people.
SciPy 1.0 is not so much about new features or stability as it is about a few technical and organizational details that were considered a requirement. Pauli Virtanen, current leader of the project, says:
We could have released a SciPy 1.0 a long time ago, so I’m happy we do it now at long last. The project has a long history, and during the years it has matured also as a software project. I believe it has well proved its merit to warrant a version number starting with unity.
Among the technical achievements in version 1.0 are:
- Python wheels are now available for the Windows platform. Wheels are the new standard for built and binary packaging and are intended to replace eggs.
- Continuous integration has been set up on Windows and macOS, in addition to Linux.
- New ODE solvers and a unified interface to them.
- 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 and include the new functions
*gbmv
,*hbmv
,*hpmv
,*hpr
,*hpr2
,*spmv
,*spr
,*tbmv
,*tbsv
,*tpmv
,*tpsv
,*trsm
,*trsv
,*sbmv
,*spr2
. Wrappers for the LAPACK functions*gels
,*stev
,*sytrd
,*hetrd
,*sytf2
,*hetrf
,*sytrf
,*sycon
,*hecon
,*gglse
,*stebz
,*stemr
,*sterf
, and*stein
have been added.
Additionally, SciPy has now a formal governance structure. It consists of a BDFL (benevolent dictator for life), Pauli Virtanen, and a Steering Committee.