Pyrefly
Meta开源的Python静态类型检查工具,基于Rust实现,具备高性能和跨环境一致性,支持编辑器、终端和CI流水线使用同一引擎进行类型检查
时间轴 (近 90 天)
微软发布TypeServer协议0.4.1版本,这是一个JSON-RPC协议,让编辑器就导入解析、搜索路径与代码推断类型向类型服务器提问,目标是将Pylance的编辑器功能与底层类型检查器解耦,同时宣布将Meta的Pyrefly检查器引入Pylance。
Zed 将 Pyrefly 作为可选的 Python 语言服务器加入内置列表,用户可在 Python 的 language_servers 设置中启用(PR #44262)
Pyrefly 的目标是提供比 mypy 和 Pyright 快一个数量级的检查速度,并支持完整类型推断、泛型与 PEP 695 新语法
Pyrefly 的类型检查规则与 Pyright 并不完全一致,迁移项目时可能需要处理新出现的诊断
若项目中没有任何配置文件,Pyrefly以basic模式运行,只检查最严重的类型问题;更激进的检查需添加配置文件
静态检查器要发挥作用仍需给代码添加类型注解,完全没有类型注解时Pyrefly会显示0 errors
Pyrefly是Meta将原本用OCaml编写的旧类型检查器Pyre用Rust重写而成的Python静态类型检查器
Pyrefly可通过添加CLI skill和agents.md文件集成到AI agent工作循环中,使模型每次改动后运行检查
在速度测试中,Pyrefly检查PyTorch用3.7秒而MyPy用54.92秒(约快15倍),检查NumPy用20秒而MyPy用1分49秒,检查scikit-learn约1秒而MyPy约6.3秒(约快6倍)
Pyrefly的关键特性是编辑器、终端、CI使用同一个引擎,三者结果不会相互矛盾
还有 2 条时间轴事件
全部知识事实 (11)
Pyrefly 的类型检查规则与 Pyright 并不完全一致,迁移项目时可能需要处理新出现的诊断
50%待验证Pyrefly 的目标是提供比 mypy 和 Pyright 快一个数量级的检查速度,并支持完整类型推断、泛型与 PEP 695 新语法
50%待验证可通过uv add pyrefly或pip install pyrefly安装Pyrefly,运行uv run pyrefly check可扫描整个项目
50%待验证若项目中没有任何配置文件,Pyrefly以basic模式运行,只检查最严重的类型问题;更激进的检查需添加配置文件
50%待验证静态检查器要发挥作用仍需给代码添加类型注解,完全没有类型注解时Pyrefly会显示0 errors
50%待验证在速度测试中,Pyrefly检查PyTorch用3.7秒而MyPy用54.92秒(约快15倍),检查NumPy用20秒而MyPy用1分49秒,检查scikit-learn约1秒而MyPy约6.3秒(约快6倍)
50%待验证Pyrefly可通过添加CLI skill和agents.md文件集成到AI agent工作循环中,使模型每次改动后运行检查
50%待验证Pyrefly是Meta将原本用OCaml编写的旧类型检查器Pyre用Rust重写而成的Python静态类型检查器
50%待验证Pyrefly的关键特性是编辑器、终端、CI使用同一个引擎,三者结果不会相互矛盾
50%待验证微软发布TypeServer协议0.4.1版本,这是一个JSON-RPC协议,让编辑器就导入解析、搜索路径与代码推断类型向类型服务器提问,目标是将Pylance的编辑器功能与底层类型检查器解耦,同时宣布将Meta的Pyrefly检查器引入Pylance。
50%待验证Zed 将 Pyrefly 作为可选的 Python 语言服务器加入内置列表,用户可在 Python 的 language_servers 设置中启用(PR #44262)
50%