不和版本帝争,16 年后这个库的 1.0 版终于发布

(点击上方公众号,可快速关注)

来源:技术最前线(TopITNews)

【技术最前线导读】:10 月 25 日,SciPy 团队成员 Ralf Gommers 在 Python 官方邮件组发文宣布 SciPy 1.0 终于发布了。

不和版本帝争,16 年后这个库的 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 函数;

  • 更多信息,请参见:http://mail.python.org/pipermail/scipy-user/2017-October/037357.html

  • 1.0 版的参与贡献人数达到 121 位。

    下载:http://www.scipy.org/scipylib/download.html

    觉得这条资讯有帮助?请转发给更多人

    关注 技术最前线 看 IT 要闻

    不和版本帝争,16 年后这个库的 1.0 版终于发布