Python周刊2026W30 | Python 3.15 Beta 4、Polars 分布式基准、CPython ABI、PyData 2026 征稿

24 阅读10分钟

Python 3.15 Beta 4 发布,带来惰性导入、frozendict 和 Tachyon 分析器;Polars 分布式引擎在 TB 级数据上超越单节点;CPython ABI 深度解析与 PEP 840 修正类命名空间名称解析不一致;PyData Global 2026 征稿启动,PyData PyCon 重返亚美尼亚。

🔥 头条

每位开发者都应了解的 CPython ABI 知识

Python 开发者可以多年只写高层代码而不接触 CPython ABI——直到某个 wheel 拒绝安装或函数调用导致段错误。ABI 实现了 Python 与原生 C/Rust/Fortran 代码之间的无缝调用,对大多数开发者来说是个黑盒,直到他们发布包或遇到兼容性问题;3.13 的自由线程解释器引入了新的 ABI 问题,将在 3.15 中修复。本文解码了 wheel 文件名标签,解释了 ABI 与 API 的区别,并展示了 C API 在自由线程时代的演变过程。

如何为 Claude Code 编写 CLAUDE.md 文件

测验:如何为 Claude Code 编写 CLAUDE.md 文件

Itertools 速查表

逐行记忆 itertools 函数是错误的方法——可视化图表能让它们的行为一目了然。accumulateproductchain 等函数是强大的单行代码,但大多数开发者退回到手动循环,仅仅是因为他们无法直观理解这些迭代器如何组合。这份速查表使用图表和类比将每个迭代器映射到其真实世界的行为,让地道的 Python 写法触手可及。

Python 3.15.0 Beta 4 发布

Python 3.15 的最终 Beta 版本带来了惰性导入以加速启动(PEP 810)、内置 frozendict、哨兵类型以及 Tachyon 分析器——对于通常只做稳定性修复的阶段来说,这个功能量令人惊讶。自 Beta 3 以来修复了 298 个 bug,ABI 现已冻结,在 8 月 4 日发布候选版本之前,社区测试的窗口期很紧,而每增加一个新功能,未捕获回归的风险就越大。发布说明逐条介绍了每个 PEP,从 UTF-8 默认编码到帧指针可观测性,并为第三方维护者提供了明确的指导。

PEP 840:类命名空间中的名称解析(已采纳)

Python 类体内部 x 的值会静默地取决于同一类中后面是否出现了 x = 42——这是一个已存在数十年的名称解析不一致问题。在类块中,赋值前引用的变量会查找全局变量而非函数参数,造成了局部变量与自由变量语义之间的微妙不匹配,这在 Python 中不同于任何其他作用域。PEP 840 分析了这一长期存在的不一致性,并讨论了多种解决方案。

PyData Global 2026 征稿启事

PyData Global 2026 现已接受演讲提案——但 AI 数据栈的演进速度比以往任何时候都快,要从数百份投稿中脱颖而出,就需要确切知道评审委员会看重什么。本文涵盖了提交截止日期、演讲形式、评审标准以及撰写能引起全球 PyData 社区共鸣的提案的技巧。

📖 文章与教程

数据科学家的 Git 入门指南

一次糟糕的实验可能毁掉数周的工作——在脱离版本控制的情况下回滚失败的数据处理流程,会成为梳理无文档变更的噩梦。数据科学家们要应对协作代码合并、担心实验性调整破坏生产模型,还可能因笔记本电脑崩溃而丢失一切。Git 解决了这三个问题:追踪变更、无惧分支、无缝合并,远程仓库让你安心入眠。

为不完全理解代码库辩护

不完全理解自己的代码库可能恰恰是正确的做法。“完全理解”的理想在网络讨论中占据主导地位,但对于大型系统来说,你能做到的最好程度是局部认知——而 Peter Naur 极具影响力的理论将这一理想推到了极端,主张你应该废弃并重建,而不是阅读现有代码。本文为将部分理解作为大型代码库的合理工程策略辩护,探讨了为什么小型系统视角在讨论中被过度代表,并认为接受局限性比追逐不可能的全知更富有成效。

Polars:单节点与分布式基准测试对比

Polars 以让单节点快到你无限期推迟分布式计算而闻名——但在 TB 级 TPC-H 基准测试中,分布式引擎有时能在同等价格的 AWS 机器上击败单节点。业界“单节点总是更快更便宜”的口号被证明过于简化了一个由网络 I/O、数据量和查询特征共同塑造的问题。本文对两种引擎在大规模下进行了正面基准测试,揭示了各自架构的胜出交叉点。

Django 网站的浏览器推送通知

一位 Django 开发者为了规避服务器成本和收件箱垃圾邮件而放弃了邮件通知,但定期检查数据库意味着反馈往往发现得太晚。Web Push 通知解决了这个问题——即使管理标签页已关闭,它们也能发送原生操作系统级提醒,且无需邮件服务器。本教程从头开始讲解如何在 Django 中使用 VAPID 密钥、Service Worker 和 Huey 后台任务实现 Web Push。

来自 NASA 阿尔忒弥斯 II 任务的 12,000+ 张 JPEG 图像

NASA 阿尔忒弥斯 II 任务的宇航员在 9 天的绕月飞行中带回了 12,217 张 JPEG 图像——单次任务产生了惊人的图像数据量。处理并归类如此大量的原始太空摄影图像(包含嵌入式元数据)需要强大的计算能力和有条理的分析流程。本文介绍了硬件配置、图像分类技术、使用 exiftool 进行元数据提取,以及使用 Python 和 transformers 进行 AI 驱动的分析,以解读这次月球任务的视觉记录。

理解 Python 中的 Mixin 类

测验:理解 Python 中的 Mixin 类

在终端中创建演示文稿

Spiel 让你仅用 Python 代码就能在终端中创建和展示精美的幻灯片。该项目已无人维护,并锁定在旧版 Textual 上,这引发了对长期可靠性的质疑——毕竟它是一个挑战 GUI 演示软件整个前提的工具。本教程涵盖安装、现场演示和 API 示例,帮助你评估终端式演示是否适合自己的工作流程。

🛠 项目与代码

kademlia-dynamic:Kademlia 分布式哈希表

零外部依赖实现一个功能完整的分布式哈希表实属罕见——大多数实现将网络、序列化和异步框架作为独立包引入。在 Python 中构建可靠的 DHT 节点尤其棘手:UDP 通信容易受到响应伪造攻击,而同步库在重负载下会阻塞事件循环。这个以异步优先的实现内置了防伪造响应验证,同时支持 JSON 和 bencode 两种线格式,并暴露了简洁的 get/set/bootstrap API,可配置 k、alpha 和超时参数。

userharbor:框架无关的用户管理

每个 Python Web 框架都在从零重新实现用户注册、登录和邮件验证。在 FastAPI、Flask 或 Django 之间切换意味着每次都要重写认证逻辑,而大多数用户管理库都与单一框架或 ORM 紧密耦合。UserHarbor 提供了清晰的领域级 API,涵盖注册、登录、会话管理和邮件验证,并提供了 SQLAlchemy、SMTP 和 FastAPI 的官方适配器——一次安装,跨任何 Python 环境使用。

balance:处理有偏数据样本

调查数据很少像它假装的那样具有代表性——无应答偏差、抽样偏差和选择偏差经常破坏原本设计良好的研究的推断结果。如果不进行校正,从有偏样本中得出的结论可能是系统性错误的。本文介绍了 balance,一个通过使用辅助人口统计或协变量信息对观测值重新加权来减轻样本偏差的 Python 包,为研究人员提供了更可靠的人群级推断的实用工具。

fstache:快速、类型化的 Mustache 渲染器

在每月 4 美元的 VPS 上使用 Chevron 渲染完整页面需要 5-10 毫秒——fstache 以 3.3 倍的速度完成相同任务,且保持无依赖。使用 Mustache 进行服务端渲染保持了全栈应用的简洁性,但现有的 Python 渲染器在低成本基础设施上成为了瓶颈。Fstache 通过静态部分预加载和内联实现了加速,本文涵盖了其设计、基准测试方法以及与 Chevron、mstache 和 Pystache 的对比。

bounty-check:GitHub 悬赏 Issue 还能认领吗?

大多数开源悬赏平台在 Issue 关闭或仓库归档多年后,仍然将悬赏标记为“已资助”——一个 345 美元的 Opire 悬赏在 GitHub 上早已合并,但仪表板上仍显示为开放状态。寻找付费 Issue 的开发者花费数小时手动核对每个列表与 GitHub 的实际状态,而 IssueHunt 和 Opire 等平台并未同步更新。bounty-check 是一个自动化验证的 CLI 工具:它能解析任意悬赏 URL(IssueHunt、Opire 或原生 GitHub),检查 Issue 是否开放、仓库是否未归档、以及是否已有其他人提交了打开的 PR——在你投入时间阅读或编码之前。

📅 活动

每周 Real Python 答疑时间(线上)

PyData PyCon 亚美尼亚 2026

PyData PyCon 将于 2026 年重返亚美尼亚埃里温,从首届扩展到与 PyCon 合并——这是一个后苏联国家将自己定位为数据科学中心的信号。在传统科技中心之外建设世界级的 Python 和 ML 社区需要弥合基础设施、全球知名度和人才外流等方面的差距;AUA 和 NumFOCUS 押注一场国际会议能够实现这一目标。本文预览了会议主题、组织者阵容以及参与方式。

PyDelhi 用户组聚会

德里国家首都区近 15,000 名 Python 开发者正被引导至一个新平台——PyDelhi 正在从 Meetup 迁移到 Commudle 进行活动管理。这个由志愿者驱动的社区每月举办聚会、开发冲刺和研讨会,如今必须重建其成员基础——这一过渡有可能影响印度最大的 Python 用户组之一。本文分享了如何在 Commudle 上重新加入、参与即将举行的活动,以及以志愿者或赞助商身份做出贡献。

Python Sheffield

Python 西南佛罗里达 (PySWFL)

西南佛罗里达的一个社区运营的 Python 小组完全由志愿者驱动,欢迎从完全初学者到资深工程师的所有人。在没有带薪员工或企业支持的情况下建设一个蓬勃发展的本地技术社区,意味着要克服地理隔离和资源限制。本文介绍了 PySWFL 的使命、行为准则以及通过活动、演讲和赞助参与的方式。


往期精选


阅读原文


扫码关注「右耳朵猫AI」