Products · Product
mypy
Raised as a usability problem by 20 people on Hacker News over 10 years (2017–2026), in 28 threads.
No issue was raised by at least 3 people in 3 threads this year.
Every issue, all time, most people first
Type annotation syntax becomes painful once code is moderately complexUnreviewed
20172026- Type inference is so limited that developers must annotate trivial variables explicitly2025-04-23
- Type annotation syntax is painful and unintuitive once code gets even moderately complex2022-12-30
- Must import many common typing names; annotation overhead makes it a meh experience2022-08-23
Type checking is slow and cumbersomeUnreviewed
20172026- Mypy is slow, making type checking cumbersome in Python2023-05-21
- Can't tell whether mypy actually checks a given line or silently ignores it2019-11-01
- Must know magic command line flags to stop mypy complaining about imports; verbose typing syntax and imports are cumbersome2019-06-12
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 29 complaints
- Too slow, and misses many mistakes, so it's weak at its job2026-06-08
- Type checking becomes very slow on large codebases2026-05-21
- Output is non-deterministic and unparseable, so developers can't isolate new errors from 80k existing ones2025-08-27
- Type inference is so limited that developers must annotate trivial variables explicitly2025-04-23
- Mypy has weird defaults and is painful to add to existing codebases2025-01-31
- Hard to adopt typing gradually; blanket mypy run floods errors, CI step gets ignored2024-01-29
- CLI args poorly documented; unclear how they map to config files2023-10-17
- Mypy is slow, making type checking cumbersome in Python2023-05-21
- Upgrade broke builds and type hints are not reliably verified2022-12-30
- Type annotation syntax is painful and unintuitive once code gets even moderately complex2022-12-30
- Must import many common typing names; annotation overhead makes it a meh experience2022-08-23
- Type hinting is awkward, and mypy emits error messages the user cannot understand or fix2022-01-05
- Type errors are vague and unhelpful, like 'expected List[T] got List[<nothing>]'2021-06-05
- Error messages are inactionable and imports of third-party packages fail silently2021-05-10
- Type-checking is awkward, slow, and error messages give unhelpful debugging guidance2021-03-18
- Third-party definitions sometimes fail to load, and troubleshooting tips don't help2021-01-26
- Checking numeric ranges with mypy literal unions has a horrible user experience2021-01-04
- Certain class decorators can't be expressed in MyPy's type system, making packages unusable2020-04-15
- Fails with unhelpful "couldn't find package" errors and unhelpful docs when finding installed packages2020-03-30
- Generics are extremely confusing, more so than in other typed languages2019-12-08
- Can't tell whether mypy actually checks a given line or silently ignores it2019-11-01
- Must know magic command line flags to stop mypy complaining about imports; verbose typing syntax and imports are cumbersome2019-06-12
- Typing syntax bolted onto Python makes declaring type variables and callables awkward2019-03-24
- Typing syntax is horrible; lots of effort for almost no gain2019-03-24
- Unclear whether a shared TypeVar unifies types across methods; syntax feels shoehorned in2019-01-15
- Hard to figure out how to scope type variables to one function2018-09-26
- Inference fails where it shouldn't and error messages are extremely unhelpful2018-07-11
- Was practically unusable for years until saner defaults and fixes arrived2018-05-11
- Users report MyPy is much more painful to use than TypeScript's typing2017-12-14