Mypy Alternatives

Similar projects and alternatives to mypy

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better mypy alternative or higher similarity.

Suggest an alternative to mypy

Reviews and mentions

Posts with mentions or reviews of mypy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-07.
  • Do You Miss Strongly-Typed World When Coding in Python? [RE#8] | 2021-10-08
    JavaScript people are lucky to have the well-known TypeScript at hand. For Python developers a good solution is mypy which is maintained by the official Python community: python/mypy. You can simply install it via:
  • Faster Python with Guido van Rossum | 2021-10-07
    I am seeing what the GP comment says in a codebase I manage, around 47k LOC. Not massive at all, but enough where the problems mentioned above start to pop up. This is an application that runs in servers to analyze traffic data, so it has both analysis code and also a lot of code for the analysis framework. It gets hard to manage. I have unit tests and also integration tests that cover some, but not all of the code paths (it's very hard in this case to have everything covered). Most of the times, when they fail is due to something that would have been caught by static typing.

    The codebase is being slowly migrated to static typing. On one hand, as the parent says, the typing module is still immature and there are still some Python constructs (not too weird ones, see [1] for an example) that you can't type-check correctly. On the other hand, I like the fact that you can include typing slowly and not all at once, it makes the effort much easier to tackle. And, if typing works, it works well.

    Regarding performance, well. Parallelism is pretty hard to do well, and the language itself is not the fastest thing. Some parts are migrated to a C extension but that's costly in terms of development and debugging time.

    Despite all of that, I do think that Python was the best choice for our situation, and still is. Maybe from this point onwards another language would make things easier, but without Python's library support, ease and speed of development and expressiveness the cost of just getting to market would have been far higher, and probably we wouldn't have reached this point with other languages. And migrating the codebase to another language is just not worth it at all, as there are still a lot of areas we can improve quite a lot with far less effort than a full rewrite.


  • GitHub - facebookexperimental/skybison: Instagram's experimental performance oriented greenfield implementation of Python.
    I don't know where you're getting your information, they did implement it. It's possible you're thinking of this issue which would make the typing more precise and let you specify totally different types for different keys. For now though any of the 4 ways I gave works.
  • Typehinting a dictionary that maps events to event handlers
    I don't think it will be as easy as you're hoping, I think this is basically the same thing you're trying to do:
  • Typeclasses in Python
    Support for singledispatch was recently added to mypy:
  • Mypy 0.900 Released | 2021-06-09
    code that builds a set of missing stubs
  • What can you do in Haskell that you can't do in Python(for example)?
    it cannot be called "decent" until it has support for recursive structures - - in Haskell it works as just part of the basic type inference.
  • Python programmers prepare for pumped-up performance: Article describes Pyston and plans to upstream Pyston changes back into CPython, plus Facebook's Cinder: "publicly available for anyone to download and try and suggest improvements." | 2021-05-08
    A comment on 2, (It is still early days), but mypy is effectively this. Enforcing types and with mypyc, it is possible to compile all the scripts to statically typed c.
  • Writing Documentation for Python Apps | 2021-05-05
    Use static typing for bigger projects, enforce type checking with mypy. Dynamic languages like Python make object identification difficult.
  • Python Software Foundation Is Hiring a Python Packaging Project Manager | 2021-04-20
    I'm well aware. Have you seen this drama about it?

  • Experimentations on Bazel: Python & FastAPI (1) | 2021-04-18
    check/audit the code with mypy and other linters (managed by [pylama]
  • PEP 563, PEP 649 and the future of pydantic and FastAPI | 2021-04-15
    See also mypy and pyproject.toml support (, although there's currently a PR in progress that'll hopefully put that to rest.
  • Python code review checklist | 2021-03-30
    An excellent way to have add some reliability to Python is to use type hinting and static type checking that can provide hints into possible errors before runtime. Python new native support for type-hints is primarily inspired by the Mypy syntax, which can be incrementally adopted in existing projects.
  • what's the right way to debug a python module?
    I pull mypy from mypy/mypy at master · python/mypy (


Basic mypy repo stats
4 days ago

python/mypy is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

Find remote Python jobs at our new job board There are 10 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.