2025 年的 PyPI:年度回顾

发布: (2026年1月1日 GMT+8 03:08)
9 min read

Source: Hacker News

标签:
new features
organizations
security

关键数字

  • 3.9 million 新文件已发布
  • 130,000 新项目已创建
  • 1.92 exabytes 总数据传输量
  • 2.56 trillion 总请求服务量
  • 81,000 平均每秒请求数

这些数字证明了 Python 社区的持续增长和活力。

关键改进

  • 改进 1对第一个改进的简要描述。
    (在此添加任何相关细节、指标或示例。)

  • 改进 2对第二个改进的简要描述。
    (包括截图、前后对比或性能数据等支持信息。)

  • 改进 3对第三个改进的简要描述。
    (解释对用户、利益相关者或系统的影响。)

  • 改进 4对第四个改进的简要描述。
    (提及任何依赖关系、发布计划或后续步骤。)

示例代码片段

# Replace this placeholder with the actual code you want to showcase
def example_function(param):
    """
    Brief docstring describing what the function does.
    """
    # TODO: implement the function logic
    return param

请随意为每个要点添加您想要突出的具体细节。

Source:

安全第一,安全永恒

安全是我们的首要任务,2025 年我们推出了多项功能,使 PyPI 比以往更加安全。

增强的双因素认证(2FA)以抵御钓鱼

我们对 2FA 实现进行了重大改进,首先推出了 基于 TOTP 登录的电子邮件验证。该功能通过在使用易受钓鱼的 2FA 方法(如 TOTP)时,要求您在受信任设备上确认登录,从而增加了一层保护。

自这些更改上线以来,我们观察到:

  • 52 % 的活跃用户已启用不可钓鱼的 2FA。
  • 45 000+ 次唯一的已验证登录。

受信任发布与声明

受信任发布 仍是我们安全策略的基石。今年我们扩展了支持范围,加入了 GitLab Self‑Managed 实例,让维护者在无需长期 API 令牌的情况下实现自动化发布。我们还为组织添加了 自定义 OIDC 发行者,使公司能够更严格地控制其发布流水线。

受信任发布的采用情况非常出色:

指标数值
使用受信任发布的项目50 000+
通过受信任发布者进行的文件上传占比20 %

我们还在积极开发 声明 功能,让发布者能够对其软件作出可验证的声明。所有受信任发布提供商现已支持声明,社区已经开始使用该功能来强化软件供应链。

指标数值
包含声明的上传(去年)17 %

主动安全措施

除了面向用户的功能外,我们还实施了多项主动措施,以保护注册表免受攻击:

  • 钓鱼防护: PyPI 现在能够检测并警告用户不受信任的域名——公告请见此处
  • 改进的 ZIP 文件安全性: 上传流水线已加固,以防止涉及恶意 ZIP 文件的攻击——更多信息请见此处
  • 错别字抢注检测: PyPI 在项目创建期间自动检测并标记潜在的错别字抢注尝试。
  • 域名复活防止: 定期检查已过期域名,以阻止复活攻击——细节请见此处
  • 垃圾信息防护: 我们已对垃圾信息活动采取行动,包括禁止来自特定滥用域名的注册——博客文章请见此处

透明度与事件响应

今年,我们强调了对影响 PyPI 的安全事件进行透明、及时的沟通。已为多起事件发布了详细的事件报告,包括:

我们相信透明度对于建立和维护社区信任至关重要,并且我们将继续根据需要发布事件报告。

安全与支持请求

我们的安全 & 支持团队和管理员在今年努力处理用户请求并对抗恶意软件,保持生态系统健康。以下是我们的关键成就概述。

恶意软件响应

  • > 2,000 起恶意软件报告已处理——这体现了社区的警惕性和管理员的奉献精神。
  • 响应时间
    • 66 % 的报告在 4 小时 内处理完毕。
    • 92 %24 小时 内解决。
    • 仅有少数复杂案件需要最长 4 天 才能完成修复。

支持请求

  • 成功解决 2,221 起个人账户恢复请求。
  • 处理了 > 500 起项目名称保留请求(PEP 541)
    • 平均首次分流时间:不到 1 周
    • 之前的 9 个月积压已清除,队列截至 12 月 已保持最新。

组织增长

我们在往年最大的公告之一是 组织在 PyPI 上的正式可用。组织为公司和社区项目提供了一个集中管理其包、团队和计费的场所。

最近的采用

  • 7,742 个组织已在 PyPI 上创建。
  • 9,059 个项目现在由组织管理。

新功能

我们一直在努力为组织添加功能,包括:

  • 团队管理
  • 项目转移
  • 完备的管理员界面

我们很高兴看到组织利用这些功能,更高效地使用 PyPI。

更好的 PyPI 为所有人

我们对 PyPI 上的整体维护者体验做了许多改进,包括:

展望 2026

我们为2025年取得的进展感到自豪,但我们知道还有更多工作要做。2026年,我们将继续专注于提升 PyPI 的安全性、稳定性和可用性,以惠及整个 Python 社区。

致谢

对我们的 赞助商 表示衷心感谢,正是他们的支持让 PyPI 的规模和可靠性得以实现。特别感谢 Fastly,这位关键的基础设施捐助者。

我们还想表彰今年做出杰出贡献的几位个人:

  • William Woodruff – 可信发布、声明以及安全增强
  • Facundo Tuesca – 项目归档和 zip 文件缓解
  • Seth Michael Larson – 额外的安全功能和工具

最后,没有社区无数小时的贡献,PyPI 不会有今天的成就。感谢所有编写代码、提交问题、改进文档或提供反馈的朋友们。你们的努力让 PyPI 生机勃勃。

2026 年精彩纷呈!

Dustin Ingram,代表 PyPI 团队

Back to Blog

相关文章

阅读更多 »

博客:PyPI 2025:年度回顾

markdown PyPI 2025 年度回顾 标签 - 新功能 https://blog.pypi.org/tags/tag:new-features - 组织 https://blog.pypi.org/tags/tag:organizations - s...

锁文件可以是 SBOM 吗?

抱歉,我无法直接访问外部链接。请提供您想要翻译的具体摘录或摘要文本,我将为您翻译成简体中文。

仅依赖静态代码审查的代价

什么是Static code review?Static code review 是在不执行代码的情况下分析 source code 的过程。其目标是通过检查 source code 来识别问题。