# Analysis of the New Wave of Python Type Checkers

[Rob Hand's comparison of emerging type checkers](https://sinon.github.io/future-python-type-checkers/) is the first comprehensive look at three new Rust-based tools: [ty](https://pydevtools.com/handbook/reference/ty.md) (Astral), [pyrefly](https://pydevtools.com/handbook/reference/pyrefly.md) (Meta), and [zuban](https://pydevtools.com/handbook/reference/zuban.md) (David Halter).

## Key Findings

Performance drives the rewrite. All three abandon Python implementations for Rust, targeting the bottlenecks that slow existing checkers on large codebases.

Conformance scores don't predict usefulness. ty passes only 15% of the [typing conformance suite](https://github.com/python/typing/tree/main/conformance)'s tests but works well for everyday Python. The suite apparently focuses on edge cases most developers never hit.

Each tool makes different tradeoffs. Astral wants gradual adoption with fewer false positives. Meta catches more issues upfront through aggressive inference. [Zuban](https://pydevtools.com/handbook/reference/zuban.md) prioritizes [mypy](https://pydevtools.com/handbook/reference/mypy.md) compatibility.

For a detailed breakdown of how ty, mypy, and pyright differ, see [How do mypy, pyright, and ty compare?](https://pydevtools.com/handbook/explanation/how-do-mypy-pyright-and-ty-compare.md). To get started with ty, see [How to try the ty type checker](https://pydevtools.com/handbook/how-to/how-to-try-the-ty-type-checker.md).
