Danny Yang and Sam Goldman, both Software Engineers at Meta, speak with host Gregory M. Kapfhammer about the Rust-based Pyrefly type checker for Python. After a look at the foundational concepts for annotating and checking types for Python programs, Danny and Sam present a deep dive of the implementation of Pyrefly. While comparing and contrasting against various type checkers, they also describe how Pyrefly implements the language server protocol (LSP) for Python. The episode explores a range of other topics, including how to balance the features, performance, and language integrations of a type checker.
Related Episodes
- SE Radio 622: Wolf Vollprecht on Python Tooling in Rust
- SE Radio 589: Zac Hatfield-Dodds on Property-Based Testing in Pytho
- SE Radio 516: Brian Okken on Testing in Python with pytest
- SE Radio 676: Samuel Colvin on the Pydantic Ecosystem
Other References
- Pyrefly Web: Pyrefly: A Fast Python Type Checker and Language Server
- Blog Post: Introducing Pyrefly: A new type checker and IDE experience for Python
- Github – pyrefly: A fast type checker and language server for Python
- Conformance of Type Checkers: How Well Do New Python Type Checkers Conform? A Deep Dive into Ty, Pyrefly, and Zuban — Rob’s Blog | Python • Rust • Ramblings?
- Python Type Checker Comparison: Empty Container Inference
- Making Pyrefly Diagnostics 18x Faster
- Lessons from Pyre that Shaped Pyrefly



