Python developers are experiencing a renaissance in development tools, with three new Rust-based type checkers—Pyrefly, Ty, and Zuban—promising lightning-fast performance. However, as the community puts these tools through their paces, a complex picture emerges where raw speed must be balanced against accuracy, feature completeness, and integration with existing Python ecosystems.
The Need for Speed Drives Innovation
The Python development landscape has been transformed by the arrival of three Rust-powered type checkers within the past year. Pyrefly claims impressive performance metrics, type checking over 1.85 million lines of code per second and completing PyTorch codebase analysis in just 2.4 seconds compared to Pyright's 4.7 seconds. This speed advantage represents a fundamental shift in how developers can work with type checking enabled during active development rather than as a separate linting step. The community response reflects both excitement and caution, with developers testing these tools against their real-world projects to see if the performance gains come at the cost of reliability.
If ruff & uv have proved anything, it's that a tool that's effortless, a net-positive and fast will get adopted. New typecheckers don't need to be perfect. They need to be good enough, easy to integrate and have low false positives.
Performance Comparison on PyTorch Codebase
- Pyrefly: 2.4 seconds
- Pyright: 4.7 seconds
- MyPy: 4.7 seconds
Real-World Testing Reveals Feature Gaps
Community testing has uncovered significant differences between these new tools and established solutions. Users report that Pyrefly struggles with imported packages lacking type annotations, producing numerous has no attribute warnings. The tool also appears conservative in its type inferences, sometimes refusing valid code patterns that other checkers accept. One user noted that Pyrefly failed to catch unreachable code where Pyright succeeded, while another found autocomplete for modules returned generic type names rather than actual module contents. These limitations highlight the challenge of balancing speed with comprehensive language understanding.
Common Community-Reported Issues
- Conservative type inferences blocking valid code
- Missing IDE features (auto-imports, proper goto declaration)
- Slow language server initialization despite fast type checking
- Limited support for dynamic Python patterns and EAFP idioms
The IDE Feature Battle Heats Up
Beyond pure type checking, developers are evaluating these tools based on their language server capabilities. The community has identified varying levels of support for essential IDE features like auto-imports, signature documentation in autocomplete, and the distinction between goto definition versus goto declaration. Some users report that despite the speed claims, Pyrefly can be surprisingly slow to load and initialize language server features. The competition between tools extends to their approach to Python idioms, with some checkers favoring stricter type enforcement over Python's traditional easier to ask for forgiveness than permission (EAFP) philosophy.
Current Rust-Based Type Checkers
- Pyrefly (from Meta)
- Ty (from Astral - Ruff/UV team)
- Zuban (from Jedi author)
The Road to Maturity
Despite the current limitations, the community remains optimistic about the future of Python type checking. Many developers are taking a wait-and-see approach, planning to reevaluate these tools in 2026 as they mature. The rapid iteration and active development of all three options suggest that the current feature gaps may be temporary. The success of tools like Ruff and UV from Astral (developers of Ty) has created confidence that these teams can deliver production-ready solutions. For now, developers are enjoying the unprecedented choice in fast type checking solutions while acknowledging that the ecosystem is still in its early stages.
The explosion of new Python tooling mirrors JavaScript's transformative period a decade ago, but with important differences. Today's tools are being built with specific design philosophies and clear performance goals. While the current landscape may feel fragmented, this competition drives innovation that ultimately benefits the entire Python community. As these tools evolve, developers can look forward to faster, more accurate type checking that integrates seamlessly into their workflows without compromising on the features that make Python development productive and enjoyable.
Reference: Pyrefly
