SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
10月25日,SciPy 团队成员 Ralf Gommers 在 Python 官方邮件组发文宣布 SciPy 1.0 终于发布了。
Ralf 称,很高兴宣布 SciPy 1.0 的发布,自从 0.1 版面世 16 年后,1.0 版姗姗来迟。这是一次漫长而富有成效的旅程,期待在未来有更多令人激动的特性。
为什么现在才发布 1.0 版呢?
Ralf 认为版本号应当体现出项目的成熟程度,SciPy 是一个成熟且稳定的库,已经在生产环境长期大量使用很久了。从这个角度来说,1.0 版来晚了。
最近已经达成一些重要的项目目的,技术上方面比如:Windows wheels 和持续集成。组织方面有管理结构、代码准则和路线图。
我们中很多人都有点完美主义,所以不情愿称某东西是 1.0 了,因为这样或许就暗示「已做完」或「我们对此 100% 满意」。虽然很多开源项目都这样,但我们承认自己项目并不完美,总有些边边角角有灰尘的。
虽然我们有如此想法,但对用户来说,SciPy 极为实用,有着高于平均水平的高质量代码和文档,稳定性和向后兼容性均很好。
SciPy 的重要里程碑
- 2001 年:第一版 SciPy 发布;
- 2005 年:过渡到 NumPy;
- 2007 年:scikits 的诞生;
- 2008 年:scipy.spatial 模块以及首个 Cython 代码的增加;
- 2010 年:进入 6 个月发布周期模式;
- 2011 年:SciPy 迁移到 GitHub;
- 2011 年:支持 Python 3;
- 2012 年:新增稀疏图(sparse graph)模块,以及统一优化接口;
- 2012 年:移除 scipy.maxentropy;
- 2013 年:支持用 TravisCI 做持续集成;
- 2015 年:新增用于 BLAS/LAPACK 的 Cython 接口,以及一个基准套装;
- 2017 年:新增一个统一的 C API:scipy.LowLevelCallable; 移除 scipy.weave;
- 2017 年(10月):SciPy 1.0 发布;
1.0 版部分新亮点
- 首次可用于 PyPI,持续集成已在 Windows 和 OS X 平台可用了,Linux 暂不行;
- 一套新的 ODE 求解器(solver),以及统一的接口:scipy.integrate.solve_ivp;
- 两个新的信赖域(trust region)优化器,一个新的线性编程方法,对比先前的 scipy.optimize,性能有了大改进;
- 诸多新的 BLAS 和 LAPACK 函数;
- 更多信息,请参见:https://mail.python.org/pipermail/scipy-user/2017-October/037357.html
1.0 版的参与贡献人数达到 121 位。下载:https://www.scipy.org/scipylib/download.html
128 次点击
加入收藏