# Pyright

31 Hacker News commenters recommended Pyright and 16 criticized it, November 2025 to November 2026. It was recommended in 11 of 13 months.

**Verdict:** Reliable Python type checker from Microsoft that people recommend, especially in strict mode; critics say it is slow on large codebases.

## Why people recommend it

- Reliable, catches real errors (4 comments): "It's been so reliable to me I wouldn't be 100% surprised if these are deliberate deviations from the spec" ([source](https://news.ycombinator.com/item?id=47403952)) "it's very reliable, and it makes those kinds of tests unnecessary" ([source](https://news.ycombinator.com/item?id=46615400)) "Pyright catches this mistake." ([source](https://news.ycombinator.com/item?id=45823433))
- Strict mode is pleasant (4 comments): "type checking code you've written yourself with Pyright in strict mode is quite a pleasant experience" ([source](https://news.ycombinator.com/item?id=47210091)) "They're really not that bad with Pyright in strict mode." ([source](https://news.ycombinator.com/item?id=47215293)) "Decentish if you use uv & strict Pyright... sure." ([source](https://news.ycombinator.com/item?id=48068823))
- Strong static checking for Python (4 comments): "If you run a type checker like ty or pyright they're not decorative" ([source](https://news.ycombinator.com/item?id=47400653)) "Mypy and pyright are good enough for type checking real projects." ([source](https://news.ycombinator.com/item?id=45838034)) "It gets you 99% of the benefits of traditional static typing" ([source](https://news.ycombinator.com/item?id=48110022))
- Praised by its maintainers (2 comments): "Eric Traut has done a marvellous job working on pyright" ([source](https://news.ycombinator.com/item?id=47405194)) "the legends who created Pyright" ([source](https://news.ycombinator.com/item?id=47439468))

## What people warn about

- Slow on large codebases (4 comments): "Pyright has been great. But it's slow." ([source](https://news.ycombinator.com/item?id=46295849)) "For big codebases pyright can be pretty slow and memory hungry" ([source](https://news.ycombinator.com/item?id=47414981)) "I was trying to find out why pyright keep spinning on startup" ([source](https://news.ycombinator.com/item?id=49189106))
- Unknown types and false positives (2 comments): "It just isn't good enough. Anytime Pyright gives up in type checking, which is often, it simply decays the type into one involving Any/"Unknown"" ([source](https://news.ycombinator.com/item?id=46858204)) "At various times I had to turn pyright off entirely because of false positives." ([source](https://news.ycombinator.com/item?id=46296714))
- Disagrees with other type checkers (2 comments): "the minute mypy, pyright, and Pyre disagree on metaprogramming or runtime patching you get three incompatible stories" ([source](https://news.ycombinator.com/item?id=47402493)) "there's still often (not always) fighting with typing, mypy, pyright because of the dynamic nature you mention" ([source](https://news.ycombinator.com/item?id=48838289))

## Alternatives hackers recommend

- [ty Python type checker](https://hackerapproved.com/p/ty.md): 74 recommend
- [mypy](https://hackerapproved.com/p/mypy.md): 34 recommend
- [Pyrefly](https://hackerapproved.com/p/pyrefly.md): 28 recommend
- [basedpyright](https://hackerapproved.com/p/basedpyright.md): 9 recommend
- [Zuban](https://hackerapproved.com/p/zuban.md): 8 recommend

## Cite as

Hacker Approved, "Pyright", https://hackerapproved.com/p/pyright/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
