Hacker ApprovedDepartments

Pyright

Ranked 3 of 6 Python type checkers by recommenders

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

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

47 people gave an opinion

recommend it
31
criticize it
16
approval share
66%
Each figure is one person. RecommendsCriticizes

Recommended in 11 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 31 people recommend itNeeds 10 or more, met.
  • 1.9 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 11 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Reliable, catches real errors

    “It's been so reliable to me I wouldn't be 100% surprised if these are deliberate deviations from the spec”

    Comment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “it's very reliable, and it makes those kinds of tests unnecessary”

    Comment from 14 Jan 2026 in “Anthropic has made a large contribution to the Python Software Foundation”

    “Pyright catches this mistake.”

    Comment from 5 Nov 2025 on Hacker News
  • Strict mode is pleasant

    “type checking code you've written yourself with Pyright in strict mode is quite a pleasant experience”

    Comment from 1 Mar 2026 in “Python Type Checker Comparison: Empty Container Inference”

    “They're really not that bad with Pyright in strict mode.”

    Comment from 2 Mar 2026 in “Python Type Checker Comparison: Empty Container Inference”

    “Decentish if you use uv & strict Pyright... sure.”

    Comment from 8 May 2026 in “Mojo 1.0 Beta”
  • Strong static checking for Python

    “If you run a type checker like ty or pyright they're not decorative”

    Comment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “Mypy and pyright are good enough for type checking real projects.”

    Comment from 6 Nov 2025 in “Why we migrated from Python to Node.js”

    “It gets you 99% of the benefits of traditional static typing”

    Comment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”
  • Praised by its maintainers

    “Eric Traut has done a marvellous job working on pyright”

    Comment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “the legends who created Pyright”

    Comment from 19 Mar 2026 in “Astral to Join OpenAI”

What people warn about

Each mark is one comment

  • Slow on large codebases

    “Pyright has been great. But it's slow.”

    Comment from 16 Dec 2025 in “Announcing the Beta release of ty”

    “For big codebases pyright can be pretty slow and memory hungry”

    Comment from 17 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “I was trying to find out why pyright keep spinning on startup”

    Comment from 5 Aug 2026 in “Zed DeltaDB”
  • Unknown types and false positives

    “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"”

    Comment from 2 Feb 2026 in “My (very) fast zero-allocation webserver using OxCaml”

    “At various times I had to turn pyright off entirely because of false positives.”

    Comment from 17 Dec 2025 in “Announcing the Beta release of ty”
  • Disagrees with other type checkers

    “the minute mypy, pyright, and Pyre disagree on metaprogramming or runtime patching you get three incompatible stories”

    Comment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “there's still often (not always) fighting with typing, mypy, pyright because of the dynamic nature you mention”

    Comment from 8 Jul 2026 in “TypeScript 7”

Other Python type checkers people recommend

The four most recommended other Python type checkers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Pyright compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
ty Python type checker742674%11—Approved
mypy341471%10—Approved
PyrightThis page311666%11——
Pyrefly28878%81 mo3 ownersApproved
basedpyright9756%7——
See all 6 Python type checkers, ranked

What people said

40 of the 60 comments that mention it, newest first. Each links to the original comment.

“I think only Pyright compares in this regard”

RecommendsComment from 25 Oct 2026 in “Bringing uv and ty together”

“it works very well to keep it in the rails”

RecommendsComment from 11 Aug 2026 in “What's the best programming language for coding agents?”

“This looks useful. However, for the release action, it might be better to use tool such as git-cliff”

MixedComment from 11 Aug 2026 in “Show HN: Pyrig – A tool that automates project setup and maintenance”

“or strict pyright if performance isn't too bad”

RecommendsComment from 11 Aug 2026 in “What's the best programming language for coding agents?”

“I was trying to find out why pyright keep spinning on startup”

CriticizesComment from 5 Aug 2026 in “Zed DeltaDB”

“you need all the static checking machinery like Ruff, Pyright”

RecommendsComment from 11 Jul 2026 in “Scarf has moved away from Haskell”

“At the very least you need all the static checking machinery like Ruff, Pyright”

RecommendsComment from 11 Jul 2026 in “Scarf has moved away from Haskell”

“there's still often (not always) fighting with typing, mypy, pyright because of the dynamic nature you mention”

CriticizesComment from 8 Jul 2026 in “TypeScript 7”

“I haven't really had problems.”

RecommendsComment from 8 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“With pyright you can even analyze code that is not annotated.”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“It gets you 99% of the benefits of traditional static typing”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“can emulate static type checking pretty well”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“Decentish if you use uv & strict Pyright... sure.”

RecommendsComment from 8 May 2026 in “Mojo 1.0 Beta”

“the output space is constrained enough that you can get pretty consistent Python code”

RecommendsComment from 17 Apr 2026 in “Codex for Almost Everything”

“the legends who created Pyright”

RecommendsComment from 19 Mar 2026 in “Astral to Join OpenAI”

“For big codebases pyright can be pretty slow and memory hungry”

CriticizesComment from 17 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“Eric Traut has done a marvellous job working on pyright”

RecommendsComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“It's been so reliable to me I wouldn't be 100% surprised if these are deliberate deviations from the spec”

RecommendsComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“the minute mypy, pyright, and Pyre disagree on metaprogramming or runtime patching you get three incompatible stories”

CriticizesComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“If you run a type checker like ty or pyright they're not decorative”

RecommendsComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“If you care about correctness, unless you pick pyright, don't bother at the moment.”

RecommendsComment from 16 Mar 2026 on Hacker News

“If you're starting a new project, there's no reason you shouldn't.”

RecommendsComment from 16 Mar 2026 in “Type systems are leaky abstractions: the case of Map.take!/2”

“They're really not that bad with Pyright in strict mode.”

RecommendsComment from 2 Mar 2026 in “Python Type Checker Comparison: Empty Container Inference”

“type checking code you've written yourself with Pyright in strict mode is quite a pleasant experience”

RecommendsComment from 1 Mar 2026 in “Python Type Checker Comparison: Empty Container Inference”

“Occasionally mildly annoying but IMO it's clearly the best option.”

RecommendsComment from 1 Mar 2026 in “Python Type Checker Comparison: Empty Container Inference”

“This sometimes requires some awkwardness, such as declaring a variable for an expression I would otherwise just write inline”

MixedComment from 3 Feb 2026 in “My (very) fast zero-allocation webserver using OxCaml”

“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"”

CriticizesComment from 2 Feb 2026 in “My (very) fast zero-allocation webserver using OxCaml”

“Use pyright or mypy in strict mode.”

RecommendsComment from 21 Jan 2026 in “Ask HN: Do you have any evidence that agentic coding works?”

“it's very reliable, and it makes those kinds of tests unnecessary”

RecommendsComment from 14 Jan 2026 in “Anthropic has made a large contribution to the Python Software Foundation”

“show up as build failures, not incidents.”

RecommendsComment from 29 Dec 2025 in “Why Reliability Demands Functional Programming”

“I feel like I'm missing nothing compared to Python with type hints and pyright”

MixedComment from 26 Dec 2025 in “Ruby 4.0.0 Released”

“they still have rough edges and will fail from time to time”

MixedComment from 18 Dec 2025 in “Announcing the Beta release of ty”

“I think it is way to slow too.”

CriticizesComment from 17 Dec 2025 in “Announcing the Beta release of ty”

“This for example works both in mypy and pyright.”

RecommendsComment from 17 Dec 2025 in “Announcing the Beta release of ty”

“At various times I had to turn pyright off entirely because of false positives.”

CriticizesComment from 17 Dec 2025 in “Announcing the Beta release of ty”

“they catch different errors so we've kept both”

MixedComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“If you need Django support, it is better to stick to mypy or pyright for the time being.”

RecommendsComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“Pyright has been great. But it's slow.”

MixedComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“Mypy and pyright are good enough for type checking real projects.”

RecommendsComment from 6 Nov 2025 in “Why we migrated from Python to Node.js”

“Pyright catches this mistake.”

RecommendsComment from 5 Nov 2025 on Hacker News

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.