mypy
Hacker ApprovedRanked 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
Recommended in 7 of 12 months
In 20 different threads.
- November 2025: not recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: not recommended
- March 2026: recommended
- April 2026: not recommended
- May 2026: recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: not recommended
- 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?” - Comment from 10 Dec 2025 in “If you're going to vibe code, why not do it in C?”
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” - Comment from 16 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.
| Product | Recommend | Mixed | Criticize | Approval | Months | Had for | Badge |
|---|---|---|---|---|---|---|---|
| ty Python type checker | 60 | 12 | 23 | 72% | 11 | — | Approved |
| mypyThis page | 28 | 4 | 13 | 68% | 7 | — | Approved |
| Pyright | 24 | 6 | 14 | 63% | 10 | — | — |
| Pyrefly | 22 | 2 | 8 | 73% | 6 | — | Approved |
| basedpyright | 9 | 0 | 7 | 56% | 7 | — | — |
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.”
“If you want support for dynamic libraries, mypy is king.”
“With agents it is helpful to make them run ruff and mypy to keep them honest”
“I can't imagine relying on the results for anything serious”
“the benefits are so abundantly obvious that it's been shoehorned into Python via Pydantic and MyPy/Ty”
“I prefer to run MyPy at my own convenience”
“typing+mypy/mypyc goes a very long way”
“Definitely mypy keeps my sanity in a relatively large Python project I'm working on”
“there's still often (not always) fighting with typing, mypy, pyright because of the dynamic nature you mention”
“they make function signatures usable as documentation, so they're generally a win”
“It is dog slow as well as being the laziest of all, not catching many mistakes.”
“the native implementations (mypy) are horribly slow at any meaningful size”
“after tightening up Pydantic + strict mypy + pytest”
“Typing annotations + mypy can completely help you build and understand a complex system.”
“Use Mypy in strict mode and run it in the post-turn hook of your LLM harness”
“can emulate static type checking pretty well”
“a mess of bugs around their caching”
“I've seen some truly simple things check out as ok in mypy”
“For "normal" Python code, I find mypy does pretty good.”
“The fact that Mypy fails so badly matches my experience.”
“If you're starting a new project, there's no reason you shouldn't.”
“that will type check (at least with mypy) and now you lost safety”
“Use pyright or mypy in strict mode.”
“much faster that what we used before”
“it's very reliable, and it makes those kinds of tests unnecessary”
“let mypy beat you up until the types are sound”
“So add mypy to your pre-commit”
“mypy is the simplest/oldest option”
“mypy was taking >30s, which was not fast enough”
“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…”
“This for example works both in mypy and pyright.”
“mypy's been good to us over the years.”
“For the most part I found mypy was able to infer more accurately and flexibly.”
“If you need Django support, it is better to stick to mypy or pyright for the time being.”
“I make use of mypy and ruff extensively”
“I've had the most success running Claude iteratively with mypy and pytest.”
“the MyPy LSP ecosystem is somewhere between crumbling and deprecated at this point”
“mypy doesn't see a problem by default; you need to enable strict mode.”
“IDE extensions and mypy still miss some bugs which should never happen in typed languages.”
“In fairness that's because Mypy is shit.”
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.