查看原文
其他

不和版本帝争,16 年后 SciPy 1.0 版终发布

2017-10-27 Python开发者

(点击上方蓝字,快速关注我们)


来源:伯乐在线

如有好文章投稿,请点击 → 这里了解详情


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 版来晚了。


最近 SciPy 已经达成一些重要的项目目的,技术上方面比如:Windows wheels 和持续集成。组织方面有管理结构、代码准则和路线图。


Ralf 还表示,


我们中很多人都有点完美主义,所以不情愿称某东西是 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


看完本文有收获?请转发分享给更多人

关注「Python开发者」,提升Python技能

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存