Pyrefly Blog

Pyrefly 博客。

文章

pyrefly.org

演讲:将张量形状纳入类型系统

探讨如何将张量形状信息引入Python类型系统,使用Pyrefly进行静态分析,解决深度学习框架中常见的类型推断难题。

pyrefly.org

现在要同时跑五个 Python 类型检查器了吗?

Python 类型检查器已扩展到 Mypy、Pyrefly、Pyright、ty、Zuban 五个主流工具,库维护者不可能在每个版本都对所有工具跑源码。本文给出一个反直觉但实操性极强的建议:优先在测试套件上运行多个类型检查器,而非在源码上。作者以 Polars 库为实例,展示了 DataType.eq 方法为兼容四个检查器需要写 4 种不同的 type-i…

pyrefly.org

在Dify的CI中让类型覆盖率可视化

Dify团队案例研究,展示如何在大型Python代码库的CI流程中集成Pyrefly报告、诊断差异和后端覆盖率信号,提升类型检查可见性。

pyrefly.org

Pyrefly v1.0 正式发布

Pyrefly 宣布达到稳定版 1.0 状态的标准版本发布公告,介绍了新功能和入门方式。内容为典型的工具发布通稿,缺乏深度见解或一手经验细节,信息密度低。

pyrefly.org

Pyrefly 张量形状追踪与静态类型检查

PyTorch 模型中最难追踪的张量形状错误可导致静默错误而不崩溃。Pyrefly 1.1.0 推出 Tensor Shapes 功能,基于符号整数算术(Dim[X] 泛型参数支持类型级加减乘除)和形状变换 DSL,在编辑器中自动推断并展示所有中间张量的形状(如 Tensor[B,T,NEmbedding]),只需在类和函数边界标注少量类型,局部变量全自动…

pyrefly.org

类型正确但代码出错:类型检查器能捕获的五个意外 Bug

Pyrefly 类型检查器能发现的远不止类型不匹配。文章列出了五个真实 Python 错误示例——从忘记 await 到重命名参数——这些错误你的类型检查器可以在用户发现之前提前捕获。每个例子都是实际开发中容易踩坑的高频 Bug 模式,对于 Python 开发者来说是直接可用的避坑参考。

pyrefly.org

将 Pyrefly 类型检查集成到你的 AI Agent 工作流中

教程性质的操作指南,介绍如何通过 skills 和 hooks 将 Pyrefly 类型检查集成到 AI agent 工作流中,实现自动验证生成的 Python 代码。有具体的集成步骤和实用操作方法,对使用 AI 编码工具链的开发者有实用价值。

pyrefly.org

Python 类型检查器速度与内存占用对比

对 Pyrefly、Ty、Pyright、Mypy 等主流 Python 类型检查器进行速度和内存占用的基准测试对比。适合正在选型类型检查工具的 Python 项目参考,但本质是项目方自家发布的性能对比,缺少第三方独立视角,可作数据参考但需注意立场偏差。

pyrefly.org

如何在语言服务器中支持 Notebook

Pyrefly 团队分享了将 Jupyter notebook 支持集成到语言服务器(Pyrefly)中的工程实践。文章不仅介绍了他们自己怎么做的,还提炼出可供其他语言服务器借鉴的通用思路。对于做 IDE 工具、语言协议或 Python 开发体验的读者,这是一份来自一线的技术决策笔记,有具体实现路径和可迁移的方法论,不是空泛的最佳实践。

pyrefly.org

通过删除未标注类型的代码达到 100% 类型覆盖率

Pyrefly 团队讲了一个反直觉的真实故事:他们最终解决"类型覆盖率 100%"这个老大难问题,方法不是把所有代码补上类型注解,而是直接删掉了没有注解的代码。这个思路本身就很有讨论价值——覆盖率指标到底是在衡量什么?文章短但有明确的观点和真实工程决策,比空洞的"最佳实践"文章更值得一读,也更容易引发同行讨论。

pyrefly.org

塑造 Pyrefly 的 Pyre 经验教训

作者分享了在开发 Pyre(另一 Python 类型检查器)过程中积累的经验教训,以及这些教训如何影响 Pyrefly 的设计决策。有实际的工程反思和一手经验,对类型系统开发者有启发,但整体偏向自家产品的宣传叙述。