Pyrefly is a type checker and language server for Python, which provides lightning-fast type checking along with IDE features such as code navigation, semantic highlighting, and code completion. It is available as a command-line tool and an extension for popular IDEs and editors such as VSCode, Neovim, Zed, and more.
See the Pyrefly website for full documentation and how to add Pyrefly to your editor of choice.
Currently under active development with known issues. Please open an issue if you find bugs.
- Try out pyrefly in your browser: Sandbox
- Get the command-line tool:
pip install pyrefly - Get the IDE Extension: IDE installation page
- Type Inference: Pyrefly infers types in most locations, apart from function parameters. It can infer types of variables and return types.
- Flow Types: Pyrefly can understand your program's control flow to refine static types.
- Incrementality: Pyrefly aims for large-scale incrementality at the module level, with optimized checking and parallelism.
If you have questions or would like to report a bug, please create an issue.
See our contributing guide and architecture overview for information on how to contribute to Pyrefly.
Join our Discord to chat about Pyrefly and types. This is also where we hold biweekly office hours.