2025 年的 PyPI:年度回顾
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 的安全事件进行透明、及时的沟通。已为多起事件发布了详细的事件报告,包括:
- 组织团队中权限持续存在 – Read the report
- 针对 PyPI 用户的广泛网络钓鱼攻击 – Read the report
- 通过 GitHub Actions 工作流的令牌外泄活动 – Read the report
- “Shai‑Hulud” 攻击对 npm 生态系统的潜在影响 – Read the report
我们相信透明度对于建立和维护社区信任至关重要,并且我们将继续根据需要发布事件报告。
安全与支持请求
我们的安全 & 支持团队和管理员在今年努力处理用户请求并对抗恶意软件,保持生态系统健康。以下是我们的关键成就概述。
恶意软件响应
- > 2,000 起恶意软件报告已处理——这体现了社区的警惕性和管理员的奉献精神。
- 响应时间
- 66 % 的报告在 4 小时 内处理完毕。
- 92 % 在 24 小时 内解决。
- 仅有少数复杂案件需要最长 4 天 才能完成修复。
支持请求
- 成功解决 2,221 起个人账户恢复请求。
- 处理了 > 500 起项目名称保留请求(PEP 541)
- 平均首次分流时间:不到 1 周。
- 之前的 9 个月积压已清除,队列截至 12 月 已保持最新。
组织增长
我们在往年最大的公告之一是 组织在 PyPI 上的正式可用。组织为公司和社区项目提供了一个集中管理其包、团队和计费的场所。
最近的采用
- 7,742 个组织已在 PyPI 上创建。
- 9,059 个项目现在由组织管理。
新功能
我们一直在努力为组织添加功能,包括:
- 团队管理
- 项目转移
- 完备的管理员界面
我们很高兴看到组织利用这些功能,更高效地使用 PyPI。
更好的 PyPI 为所有人
我们对 PyPI 上的整体维护者体验做了许多改进,包括:
-
项目生命周期管理 – 您现在可以归档您的项目以表明它们不再积极维护。这是标准化项目状态标记 (PEP 792)更大努力的一部分。
-
新服务条款 – 我们推出了新的服务条款,以正式化我们的政策并启用诸如组织等新功能。
展望 2026
我们为2025年取得的进展感到自豪,但我们知道还有更多工作要做。2026年,我们将继续专注于提升 PyPI 的安全性、稳定性和可用性,以惠及整个 Python 社区。
致谢
对我们的 赞助商 表示衷心感谢,正是他们的支持让 PyPI 的规模和可靠性得以实现。特别感谢 Fastly,这位关键的基础设施捐助者。
我们还想表彰今年做出杰出贡献的几位个人:
- William Woodruff – 可信发布、声明以及安全增强
- Facundo Tuesca – 项目归档和 zip 文件缓解
- Seth Michael Larson – 额外的安全功能和工具
最后,没有社区无数小时的贡献,PyPI 不会有今天的成就。感谢所有编写代码、提交问题、改进文档或提供反馈的朋友们。你们的努力让 PyPI 生机勃勃。
祝 2026 年精彩纷呈!
— Dustin Ingram,代表 PyPI 团队