专栏名称: InfoQ
有内容的技术社区媒体。
目录
相关文章推荐
36氪  ·  「工业迪士尼」,成了京沪排队王 ·  昨天  
新浪科技  ·  【#王宁称要做世界的泡泡玛特#】#Labub ... ·  2 天前  
新浪科技  ·  【#iOS三大设计阶段哪个好看#?#回顾苹果 ... ·  2 天前  
新浪科技  ·  【#iOS三大设计阶段哪个好看#?#回顾苹果 ... ·  2 天前  
51好读  ›  专栏  ›  InfoQ

Meta 开源 Pyrefly,Rust 中的高性能 Python 类型检查器

InfoQ  · 公众号  · 科技媒体  · 2025-06-01 10:15

主要观点总结

本文介绍了Meta开发的新开源Python类型检查器Pyrefly,其使用Rust编写以实现最佳性能,旨在取代之前用于Instagram代码库的基于OCaml的Pyre类型检查器。Pyrefly具有高性能、可扩展性,并且支持响应式的IDE类型检查。其能够在大型代码库上快速进行类型检查,并计划在不久的将来进入beta阶段。

关键观点总结

关键观点1: Pyrefly的简介与性能特点

Pyrefly是Meta开发的新Python类型检查器,使用Rust编写以实现高性能。它旨在取代旧的Pyre类型检查器,并在Instagram代码库上进行了测试,显示出了卓越的性能。

关键观点2: Pyrefly的开发动机

随着Instagram类型系统的复杂性增加,Pyre类型检查器难以满足响应式的IDE类型检查需求,因此Meta决定开发新的类型检查器Pyrefly。

关键观点3: Pyfly的安全性和扩展性

Meta选择使用Rust构建Pyfly是因为其安全性、跨平台支持和编译成WebAssembly的能力,这使得浏览器体验成为可能。

关键观点4: Pyfly的功能特点

Pyfly不仅可以对带注解的Python代码库进行类型检查,还可以自动推断未带注解代码的类型,允许开发人员根据需要显式地将推断的类型插入到代码中。

关键观点5: Pyfly的未来发展

Pyfly目前处于alpha阶段,但计划在今年夏天进入beta阶段。此外,已经存在其他用Rust编写的Python类型检查器,如Ty和Astral的产品。


正文

请到「今天看啥」查看全文


除了性能之外,Meta 选择使用 Rust 来构建 Pyrefly,还因为它的安全性、跨平台支持以及能够编译成 WebAssembly 的能力,这使得基于浏览器的 游乐场(Playground)体验 成为可能。

除了对带注解的 Python 代码库进行类型检查之外,Pyrefly 还致力于对未带注解的代码也有用。为此,它可以自动推断返回值和局部变量的类型,允许开发人员根据需要显式地将推断的类型插入到他们的代码中。

Meta 已经发布了 Pyrefly 的 alpha 版本,因为存在开放的缺陷并且一些功能正在开发中,但其计划在今年夏天进入 beta 阶段。Visual Studio Code 扩展已经可以在 Visual Studio Marketplace 中找到了。

Pyrefly 并不是唯一一个用 Rust 编写的 Python 类型检查器。专门从事开发者工具的公司 Astral 最近推出了 Ty 的预览版。Ty使用一个手写的 Python 解析器,用 Rust 编写,并基于 Python 的官方规范。如果你想尝试一下,它还提供了一个游乐场(playground)。Astral 开发的其他工具还包括 Ruff 代码检查器和 uv 包管理器,它们也都是用 Rust 编写的。

原文链接:

https://www.infoq.com/news/2025/05/meta-pyrefly-python-typechecker/

声明:本文由 InfoQ 翻译,未经许可禁止转载。







请到「今天看啥」查看全文