Hacker ApprovedDepartments

mypy

Hacker Approved

Ranked 2 of 6 Python type checkers by recommenders

Free Python type checker people run in strict mode to catch bugs and keep large or AI-written code honest; critics say it is slow and lenient by default.

28 people recommended mypy in Hacker News comments, 4 had mixed feelings and 13 criticized it, November 2025 to October 2026.

Summary written by Claude from 48 comments. It was written before the November 2026 recount, and 45 of those comments still count.

45 people gave an opinion

recommend it
28
mixed feelings
4
warn against or regret it
13

The record

Each figure is one person. RecommendsMixed feelingsCriticizes

Recommended in 7 of 12 months

In 20 different threads.

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

Why it carries the badge

  • 28 people recommend itNeeds 10 or more, met.
  • 2.2 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 7 of 12 monthsNeeds 4 or more, met.
  • Recommended in 20 threadsNeeds 5 or more, met.
  • The biggest thread supplies 18% of its recommendersNeeds half or less, met.

The same rules apply to every product, and the badge can’t be bought. Mixed feelings count toward neither side. How the badge works

What people say about it

Reasons grouped from a sample of 40 of the 53 opinions about it, picked in proportion to how many people recommend it, have mixed feelings and criticize it. Each mark is one comment in the sample. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Helps AI coding agents stay honest

    “With agents it is helpful to make them run ruff and mypy to keep them honest”

    Comment from 20 Oct 2026 in “SlopCodeBench 10/2026 – Opus 5.5, Astra wins overall, xhigh considered harmful”

    “Use Mypy in strict mode and run it in the post-turn hook of your LLM harness”

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

    “The one thing that did change anything was giving the agent a type checker.”

    Comment from 27 Oct 2026 in “Do Stronger Type Systems Make Coding Agents Better?”
  • Strict mode catches real type errors

    “mypy doesn't see a problem by default; you need to enable strict mode.”

    Comment from 16 Nov 2025 in “When did people favor composition over inheritance?”

    “let mypy beat you up until the types are sound”

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

    “Use pyright or mypy in strict mode.”

    Comment from 21 Jan 2026 in “Ask HN: Do you have any evidence that agentic coding works?”
  • Keeps large Python projects manageable

    “Typing annotations + mypy can completely help you build and understand a complex system.”

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

    “Definitely mypy keeps my sanity in a relatively large Python project I'm working on”

    Comment from 9 Jul 2026 in “TypeScript 7”

    “typing+mypy/mypyc goes a very long way”

    Comment from 11 Jul 2026 in “Scarf has moved away from Haskell”
  • Precise, strong plugin support

    “It is still the most precise type checker, supports a lot of complicated cases and has plugins that make a lot of things more type…”

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

    “For the most part I found mypy was able to infer more accurately and flexibly.”

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

What people warn about

Each mark is one comment

  • Misses bugs unless strict mode enabled

    “IDE extensions and mypy still miss some bugs which should never happen in typed languages.”

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

    “that will type check (at least with mypy) and now you lost safety”

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

    “I've seen some truly simple things check out as ok in mypy”

    Comment from 17 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”
  • Slow on large codebases

    “It is dog slow as well as being the laziest of all, not catching many mistakes.”

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

    “the native implementations (mypy) are horribly slow at any meaningful size”

    Comment from 21 May 2026 in “Python 3.15: features that didn't make the headlines”

    “mypy was taking >30s, which was not fast enough”

    Comment from 19 Dec 2025 in “Announcing the Beta release of ty”
  • Conflicts with pyright on dynamic code

    “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.

mypy compared with 4 alternatives
ProductRecommendMixedCriticizeApprovalMonthsHad forBadge
ty Python type checker60122372%11—Approved
mypyThis page2841368%7—Approved
Pyright2461463%10——
Pyrefly222873%6—Approved
basedpyright90756%7——
See all 6 Python type checkers, ranked

What people said

40 of the 53 opinions about it, picked in proportion to the three counts, newest first. Each links to the original comment.

“The one thing that did change anything was giving the agent a type checker.”

RecommendsComment from 27 Oct 2026 in “Do Stronger Type Systems Make Coding Agents Better?”

“If you want support for dynamic libraries, mypy is king.”

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

“With agents it is helpful to make them run ruff and mypy to keep them honest”

RecommendsComment from 20 Oct 2026 in “SlopCodeBench 10/2026 – Opus 5.5, Astra wins overall, xhigh considered harmful”

“I can't imagine relying on the results for anything serious”

CriticizesComment from 13 Oct 2026 in “11 year old unsoundness bugs found in Rust borrow checker”

“the benefits are so abundantly obvious that it's been shoehorned into Python via Pydantic and MyPy/Ty”

RecommendsComment from 10 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

“I prefer to run MyPy at my own convenience”

RecommendsComment from 20 Jul 2026 in “Stop Using OpenCode”

“typing+mypy/mypyc goes a very long way”

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

“Definitely mypy keeps my sanity in a relatively large Python project I'm working on”

RecommendsComment from 9 Jul 2026 in “TypeScript 7”

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

“they make function signatures usable as documentation, so they're generally a win”

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

“It is dog slow as well as being the laziest of all, not catching many mistakes.”

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

“the native implementations (mypy) are horribly slow at any meaningful size”

CriticizesComment from 21 May 2026 in “Python 3.15: features that didn't make the headlines”

“after tightening up Pydantic + strict mypy + pytest”

RecommendsComment from 18 May 2026 in “Ask HN: Is Java the ideal language for LLM-assisted coding?”

“Typing annotations + mypy can completely help you build and understand a complex system.”

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

“Use Mypy in strict mode and run it in the post-turn hook of your LLM harness”

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?”

“a mess of bugs around their caching”

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

“I've seen some truly simple things check out as ok in mypy”

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

“For "normal" Python code, I find mypy does pretty good.”

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

“The fact that Mypy fails so badly matches my experience.”

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

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

“that will type check (at least with mypy) and now you lost safety”

MixedComment 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?”

“much faster that what we used before”

CriticizesComment from 20 Jan 2026 in “Ask HN: What non-LLM tools have meaningfully improved your dev productivity?”

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

“let mypy beat you up until the types are sound”

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

“So add mypy to your pre-commit”

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

“mypy is the simplest/oldest option”

RecommendsComment from 23 Dec 2025 in “Test, don't just verify”

“mypy was taking >30s, which was not fast enough”

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

“It is still the most precise type checker, supports a lot of complicated cases and has plugins that make a lot of things more type…”

RecommendsComment from 18 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”

“mypy's been good to us over the years.”

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

“For the most part I found mypy was able to infer more accurately and flexibly.”

RecommendsComment from 17 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”

“I make use of mypy and ruff extensively”

RecommendsComment from 16 Dec 2025 in “Ask HN: What's stopping us from having full static validation of Python code?”

“I've had the most success running Claude iteratively with mypy and pytest.”

RecommendsComment from 10 Dec 2025 in “If you're going to vibe code, why not do it in C?”

“the MyPy LSP ecosystem is somewhere between crumbling and deprecated at this point”

CriticizesComment from 30 Nov 2025 in “Ty – A fast Python type checker, written in Rust”

“mypy doesn't see a problem by default; you need to enable strict mode.”

MixedComment from 16 Nov 2025 in “When did people favor composition over inheritance?”

“IDE extensions and mypy still miss some bugs which should never happen in typed languages.”

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

“In fairness that's because Mypy is shit.”

CriticizesComment from 5 Nov 2025 in “SPy: An interpreter and compiler for a fast statically typed variant of Python”

Counts come from 1,791,911 Hacker News comments labeled by Claude, November 2025 to October 2026, with data through October 31, 2026. Counts updated 2 Nov 2026. How we count. Report a mistake.