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

· · 406 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

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

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

关注本站微信公众号(和以上内容无关)InfraPub ,扫码关注:InfraPub

406 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传