Meta open-sourced Pyrefly, a Python type-checker and language server, and I gave it a spin in one of my side projects; tbh, it is pretty neat and fast.
The Pyrefly IDE extension handles automatic import refactoring when files are renamed or moved; also, the IDE navigation is so much better now, as it also resolves some pretty nested abstractions.
Error messages when something is off include code snippets with exact locations and detailed explanations of what went wrong. This was actually super helpful.
Pydantic and Django support work out of the box, and this is what mattered to me the most :) Pyrefly understands Django’s auto-generated ID fields and Pydantic’s strict mode configurations without any plugins or setup.
Interestingly, it infers types for empty containers on first use and handles type narrowing better, reducing false positives from isinstance checks.
By the way, Pyrefly is now the default language server and type checker for all things Python at Instagram.
Give it a spin.