新闻

发布 NumPy 2.4.0#

2025年12月20日 – NumPy 2.4.0 版本继续致力于改进免费线程 Python 支持、用户 dtype 实现和注解。此外,还有许多已过期的弃用项和 bug 修复。主要亮点包括:

  • 大量注解改进。特别是,运行时签名自省。
  • 新增 casting 关键字参数 'same_value',用于按值进行类型转换。
  • 新增 PyUFunc_AddLoopsFromSpec 函数,可用于使用 ArrayMethod API 添加用户排序循环。
  • 新增 __numpy_dtype__ 协议。

此版本支持 Python 3.11-3.14。

发布 NumPy 2.3.0#

2025年6月7日 – NumPy 2.3.0 版本改进了免费线程 Python 支持和注解,并包含通常的 bug 修复。该版本在过期的弃用项、代码现代化和样式清理方面数量异常多。后者可能对用户不可见,但对长期代码维护至关重要。请注意,我们已从 manylinux2014 升级到 manylinux_2_28。主要亮点包括:

  • NumPy 文档中的交互式示例。
  • 使用 OpenMP 并行化构建 NumPy。
  • 初步支持 ARM 架构上的 Windows。
  • 改进了免费线程 Python 的支持。
  • 改进了注解。

此版本支持 Python 3.11-3.13。当 Python 3.14 发布后,也将支持该版本。

发布 NumPy 2.2.0#

2024年12月8日 – NumPy 2.2.0 版本是一个快速发布版本,使我们能恢复到通常的每年两次的发布周期。对 StringDType 进行了一些小的清理和改进,并加强了对免费线程 Python 的支持。主要亮点包括:

  • 新增函数 matvecvecmat
  • 许多改进的注解;
  • 改进了对新的 StringDType 的支持;
  • 改进了对免费线程 Python 的支持;
  • 修复了 f2py。

此版本支持 Python 3.10-3.13。

发布 NumPy 2.1.0#

2024年8月18日 – NumPy 2.1.0 支持 Python 3.13,并放弃了对 Python 3.9 的支持。除了常规的 bug 修复和更新的 Python 支持外,它有助于 NumPy 在 2.0 版本漫长的开发之后恢复其正常的发布周期。此版本的主要亮点包括:

  • 支持 Python 3.13。
  • 初步支持 Python 3.13 的免费线程。
  • 支持 array-api 2023.12 标准。

此版本支持 Python 3.10-3.13。

发布 NumPy 2.0.0#

2024年6月16日 – NumPy 2.0.0 是自 2006 年以来的第一个主要版本。它是自上次功能发布以来 11 个月开发的成果,由 212 位贡献者通过 1078 个 pull request 完成。它包含大量激动人心的新功能,以及对 Python 和 C API 的更改。它包含在常规次要版本中无法实现的重大更改——包括 ABI 破坏、类型提升规则的更改以及可能未在 1.26.x 中发出弃用警告的 API 更改。有关如何适应 NumPy 2.0 更改的关键文档包括:

博客文章 “NumPy 2.0:一次进化的里程碑” 讲述了此版本如何实现的故事。

NumPy 2.0 发布日期:6 月 16 日#

2024年5月23日 – 我们很高兴地宣布,NumPy 2.0 计划于 2024 年 6 月 16 日发布。此版本已酝酿一年多,是自 2006 年以来的第一个主要版本。重要的是,除了许多新功能和性能改进外,它还包含 **ABI 上的重大更改** 以及 Python 和 C API 的更改。下游软件包和最终用户代码可能需要进行调整——如果可能,请验证您的代码是否与 NumPy 2.0.0rc2 兼容。**请参阅以下内容了解更多详细信息:**

NumFOCUS 年终筹款活动#

2023年12月19日 – NumFOCUS 在其年终活动期间与 PyCharm 合作,为首次购买 PyCharm 许可证提供 30% 的折扣。从即日起至 2023 年 12 月 23 日,所有首次购买 PyCharm 产生的年收入将直接用于 NumFOCUS 项目。

使用此唯一 URL 进行购买跟踪:https://lp.jetbrains.com/support-data-science/ 或优惠码 ISUPPORTDATASCIENCE 

发布 NumPy 1.26.0#

2023年9月16日NumPy 1.24.0 现已发布。此版本的主要亮点包括:

  • 支持 Python 3.12.0。
  • 与 Cython 3.0.0 兼容。
  • 使用 Meson 构建系统
  • 更新的 SIMD 支持
  • f2py 修复、meson 和 bind(x) 支持
  • 支持更新的 Accelerate BLAS/LAPACK 库

NumPy 1.26.0 版本是 1.25.x 系列的延续,标志着向 Meson 构建系统的过渡,并提供了对 Cython 3.0.0 的支持。共有 20 人为此版本做出了贡献,合并了 59 个 pull request。

此版本支持的 Python 版本为 3.9-3.12。

numpy.org 已支持日语和葡萄牙语#

2023年8月2日 – numpy.org 现在支持另外两种语言:日语和葡萄牙语。这得益于我们敬业的志愿者。

葡萄牙语

  • Melissa Weber Mendonça (melissawm)
  • Ricardo Prins (ricardoprins)
  • Getúlio Silva (getuliosilva)
  • Julio Batista Silva (jbsilva)
  • Alexandre de Siqueira (alexdesiqueira)
  • Alexandre B A Villares (villares)
  • Vini Salazar (vinisalazar)

日语

  • Atsushi Sakai (AtsushiSakai)
  • KKunai
  • Tom Kelly (TomKellyGenetics)
  • Yuji Kanagawa (kngwyu)
  • Tetsuo Koyama (tkoyama010)

翻译基础设施的建设得到了 CZI 的资助支持。

展望未来,我们希望能将网站翻译成更多语言。如果您想提供帮助,请在 Slack 上联系 NumPy 翻译团队:https://join.slack.com/t/numpy-team/shared_invite/zt-1gokbq56s-bvEpo10Ef7aHbVtVFeZv2w。(请查找 #translations 频道。)我们还在组建一个翻译团队,将致力于科学 Python 生态系统中文档和教育内容的本地化。如果这引起了您的兴趣,请加入我们的科学 Python Discord:https://discord.gg/khWtqY6RKr。(请查找 #translation 频道。)

发布 NumPy 1.25.0#

2023年6月17日NumPy 1.25.0 现已发布。此版本的主要亮点包括:

  • 支持 MUSL,现已提供 MUSL 轮子(wheels)。
  • 支持 Fujitsu C/C++ 编译器。
  • einsum 现在支持对象数组。
  • 支持原地矩阵乘法 (@=)。

NumPy 1.25.0 版本继续推进改进 dtype 的处理和提升、提高执行速度以及澄清文档的工作。此外,还为未来的 NumPy 2.0.0 进行了准备工作,导致了大量新增和过期的弃用项。

共有 148 人为此版本做出了贡献,合并了 530 个 pull request。

此版本支持的 Python 版本为 3.9-3.11。

营造包容性文化:参与号召#

2023年5月10日 – 营造包容性文化:参与号召

我们如何在多元化和包容性方面做得更好?阅读报告并了解如何参与 此处

NumPy 文档团队领导层交接#

2023年1月6日 – Mukulika Pahari 和 Ross Barnowski 被任命为新的 NumPy 文档团队领导,接替 Melissa Mendonça。我们感谢 Melissa 对 NumPy 官方文档和教育材料的贡献,并感谢 Mukulika 和 Ross 挺身而出。

发布 NumPy 1.24.0#

2022年12月18日NumPy 1.24.0 现已发布。此版本的主要亮点包括:

  • 堆叠函数新增“dtype”和“casting”关键字参数。
  • F2PY 新功能和修复。
  • 许多新的弃用项,请查阅。
  • 许多已过期的弃用项。

NumPy 1.24.0 版本继续改进 dtype 的处理和提升、提高执行速度以及澄清文档的工作。由于 dtype 提升和清理工作的变化,存在大量新增和已过期的弃用项。此版本由 177 位贡献者通过 444 个 pull request 完成。支持的 Python 版本为 3.8-3.11。

发布 NumPy 1.23.0#

2022年6月22日NumPy 1.23.0 现已发布。此版本的主要亮点包括:

  • loadtxt 在 C 中实现,大大提高了其性能。
  • 在 Python 层面公开 DLPack,以便于数据交换。
  • 对结构化 dtype 的提升和比较进行更改。
  • 改进了 f2py。

NumPy 1.23.0 版本继续改进 dtype 的处理和提升、提高执行速度、澄清文档以及废弃旧的弃用项。此版本由 151 位贡献者通过 494 个 pull request 完成。此版本支持的 Python 版本为 3.8-3.10。当 Python 3.11 到达 rc 阶段时,将提供支持。

NumFOCUS DEI 研究:参与号召#

2022年4月13日 – NumPy 正与 NumFOCUS 合作,在 Gordon & Betty Moore Foundation 资助的 研究项目 中,以了解贡献者(尤其是来自历史上代表性不足的群体)在开源软件社区中面临的参与障碍。研究团队希望与新贡献者、项目开发者和维护者以及过去有过贡献的人士交流他们加入和为 NumPy 做出贡献的经验。

有兴趣分享您的经验吗?

请填写这份简短的 “参与者兴趣”表格,其中包含有关研究目标、隐私和保密性考虑的更多信息。您的参与对于发展和维持多元化和包容性的开源软件社区至关重要。被接受的参与者将与研究团队成员进行 30 分钟的访谈。

发布 NumPy 1.22.0#

2021年12月31日NumPy 1.22.0 现已发布。此版本的主要亮点包括:

  • 主命名空间中的类型注解基本完成。上游是不断变化的目标,因此可能会有进一步的改进,但主要工作已经完成。这可能是此版本中最受用户关注的增强功能。
  • 提供了拟议的 数组 API 标准 的初步版本(参见 NEP 47)。这是创建可用于 CuPy 和 JAX 等库的标准函数集合的一步。
  • NumPy 现在拥有 DLPack 后端。DLPack 提供了数组(张量)数据的通用交换格式。
  • quantilepercentile 及其相关函数的**新方法**。新方法提供了文献中常见的完整方法集。
  • 通用函数已重构,以实现 NEP 43 的大部分内容。这还使得能够试验未来的 DType API。
  • 一个用于下游项目使用的新可配置内存分配器。

NumPy 1.22.0 是一个重大版本,由 153 位贡献者通过 609 个 pull request 完成。此版本支持的 Python 版本为 3.8-3.10。

推进科学 Python 生态系统的包容性文化#

2021年8月31日 – 我们很高兴地宣布,Chan Zuckerberg Initiative 已 授予一笔赠款,以支持在科学 Python 项目中吸纳、包容和留住来自历史上被边缘化群体的人员,并为 NumPy、SciPy、Matplotlib 和 Pandas 的社区动态进行结构性改进。

作为 CZI 的科学开源基础软件计划 的一部分,这笔 多元化与包容性补充赠款 将支持创建专门的贡献者体验负责人职位,以识别、记录和实施旨在促进包容性开源社区的实践。该项目将由 Melissa Mendonça(NumPy)领导,Ralf Gommers(NumPy,SciPy)、Hannah Aizenman 和 Thomas Caswell(Matplotlib)、Matt Haberland(SciPy)以及 Joris Van den Bossche(Pandas)提供指导和建议。

这是一个雄心勃勃的项目,旨在发现并实施应能结构性地改善我们项目社区动态的活动。通过建立这些新的跨项目角色,我们希望为科学 Python 社区引入一种新的协作模式,使生态系统内的社区建设工作能够更有效率地完成并取得更好的成果。我们还预计将更清晰地了解在哪些项目上,我们能够吸引和留住新贡献者,尤其是来自历史上代表性不足的群体。最后,我们计划发布关于已执行行动的详细报告,解释它们如何通过代表性和与我们社区的互动来影响我们的项目。

该为期两年的项目预计将于 2021 年 11 月开始,我们期待看到这项工作的成果!您可以在此处阅读完整提案

2021 NumPy 调查#

2021年7月12日 – 在 NumPy,我们相信我们社区的力量。去年,来自 75 个国家的 1,236 名 NumPy 用户参加了我们首届调查。调查结果让我们对未来 12 个月的重点工作有了非常好的了解。

现在是时候进行另一次调查了,我们再次依靠您的参与。大约需要 15 分钟。除了英语,调查问卷还有 8 种其他语言:孟加拉语、法语、印地语、日语、普通话、葡萄牙语、俄语和西班牙语。

请点击链接开始:https://berkeley.qualtrics.com/jfe/form/SV_aaOONjgcBXDSl4q

发布 NumPy 1.21.0#

2021年6月23日NumPy 1.21.0 现已发布。此版本的主要亮点包括:

  • 持续的 SIMD 工作,涵盖更多功能和平台;
  • 对新 dtype 基础设施和类型转换的初步工作;
  • Mac 上的 Python 3.8 和 Python 3.9 的 universal2 wheels;
  • 改进的文档;
  • 改进的注解;
  • 用于随机数的新的 PCG64DXSM bitgenerator。

本次 NumPy 版本是 175 人贡献的 581 个合并 pull request 的成果。此版本支持的 Python 版本为 3.7-3.9,在 Python 3.10 发布后将添加对它的支持。

2020 NumPy 调查结果#

2021年6月22日 – 2020 年,NumPy 调查团队与密歇根大学和马里兰大学的学生及教职人员合作,进行了首次官方 NumPy 社区调查。调查结果可在以下网址找到:https://numpy.com.cn/user-survey-2020/

发布 NumPy 1.20.0#

2021年1月30日NumPy 1.20.0 现已发布。这是迄今为止最大的 NumPy 版本,归功于 180 多位贡献者。两个最令人兴奋的新功能是:

  • NumPy 大部分的类型注解,以及新的 numpy.typing 子模块,其中包含 ArrayLikeDtypeLike 别名,用户和下游库可以在其自己的代码中添加类型注解时使用。
  • 多平台 SIMD 编译器优化,支持 x86 (SSE, AVX)、ARM64 (Neon) 和 PowerPC (VSX) 指令。这为许多函数带来了显著的性能改进(示例:sin/coseinsum)。

NumPy 项目中的多元化#

2020年9月20日 – 我们撰写了关于 NumPy 项目在多元化和包容性方面的现状以及社交媒体上的讨论**的声明**。

首篇官方 NumPy 论文发表在 Nature 上!#

2020年9月16日 – 我们很高兴地宣布,在 NumPy 1.0 发布 14 年后,**首篇关于 NumPy 的官方论文** 作为一篇综述文章发表在 Nature 上。该论文涵盖了数组编程的应用和基本概念,建立在 NumPy 之上的丰富的科学 Python 生态系统,以及最近添加的数组协议,以促进与 CuPy、Dask 和 JAX 等外部数组和张量库的互操作性。

Python 3.9 即将发布,NumPy 何时发布二进制轮子?#

2020年9月14日 – Python 3.9 将在几周内发布。如果您是 Python 版本的新兴用户,您可能会失望地发现 NumPy(以及 SciPy 等二进制包)在发布当天不会有二进制轮子可用。调整构建基础设施以支持新 Python 版本是一项重大的工作,通常需要几周时间才能在 PyPI 和 conda-forge 上看到这些软件包。为此,请确保

  • 将您的 pip 更新到至少 20.1 版本,以支持 manylinux2010manylinux2014
  • 使用 --only-binary=numpy--only-binary=:all:,以防止 pip 尝试从源代码构建。

发布 NumPy 1.19.2#

2020年9月10日NumPy 1.19.2 现已发布。1.19 系列的最新版本修复了多个 bug,为即将发布的 Cython 3.x 版本 做准备,并固定了 setuptools 以在上游修改进行期间保持 distutils 的工作。aarch64 轮子使用最新的 manylinux2014 版本构建,解决了不同 Linux 发行版使用的页面大小不同的问题。

首届 NumPy 调查正在进行中!#

2020年7月2日 – 此调查旨在指导和确定 NumPy 作为软件和社区发展决策的优先级。除英语外,调查问卷还有 8 种其他语言:孟加拉语、印地语、日语、普通话、葡萄牙语、俄语、西班牙语和法语。

请帮助我们改进 NumPy,并在此处参加调查:here

2020年6月24日 – NumPy 现在有了新 Logo。

NumPy logo

新 Logo 是对旧 Logo 的现代化演绎,设计更简洁。感谢 Isabela Presedo-Floyd 设计了新 Logo,也感谢 Travis Vaught 为我们服务了 15 年的旧 Logo。

发布 NumPy 1.19.0#

2020年6月20日 – NumPy 1.19.0 现已发布。这是第一个不再支持 Python 2 的版本,因此是一个“清理版本”。最低支持的 Python 版本现为 Python 3.6。一个重要的新功能是,NumPy 1.17.0 中引入的随机数生成基础设施现在可以从 Cython 访问。

Season of Docs 接受#

2020年5月11日 – NumPy 已被接受为 Google Season of Docs 项目的导师组织之一。我们很高兴有机会与一位技术作家合作,再次改进 NumPy 的文档!更多详情,请参阅 官方 Season of Docs 网站 和我们的 想法页面

发布 NumPy 1.18.0#

2019年12月22日 – NumPy 1.18.0 现已发布。在 1.17.0 版本进行重大更改之后,这是一个整合版本。这是最后一个支持 Python 3.5 的次要版本。此版本的主要亮点包括添加了链接 64 位 BLAS 和 LAPACK 库的基本基础设施,以及 numpy.random 的新 C API。

更多详情请参阅 版本说明

NumPy 收到 Chan Zuckerberg Initiative 的赠款#

2019年11月15日 – 我们很高兴地宣布,NumPy 和 OpenBLAS(NumPy 的关键依赖项之一)已通过其 科学开源基础软件计划 获得了 Chan Zuckerberg Initiative 提供的 195,000 美元联合赠款,该计划支持对科学至关重要的开源工具的软件维护、增长、开发和社区参与。

这笔赠款将用于加强 NumPy 文档改进、网站改版和社区开发方面的努力,以更好地服务我们庞大且快速增长的用户群,并确保项目的长期可持续性。OpenBLAS 团队将专注于解决关键技术问题,特别是线程安全、AVX-512 和线程局部存储 (TLS) 问题,以及 OpenBLAS 所依赖的 ReLAPACK(Recursive LAPACK)的算法改进。

有关我们提出的倡议和交付成果的更多详细信息,请参阅 完整赠款提案。工作计划于 2019 年 12 月 1 日开始,持续 12 个月。

版本#

以下是 NumPy 版本列表,附有版本说明链接。错误修复版本(仅 x.y.z 版本号中的 z 更改)不包含新功能;次要版本(y 增加)则包含新功能。

在此页面