About this project

Mypy is a static type checker for Python. By adding type hints (PEP 484) to a Python program, mypy reports incorrect use of variables and functions before the code is executed, since it analyzes programs statically rather than at runtime. Key characteristics described in the README: - Gradual typing: type hints can be introduced slowly, and code can always fall back to dynamic typing where static typing is inconvenient. Type hints do not change how the program runs. - Type system features: type inference, generics, callable types, tuple types, union types, and structural subtyping. - Installation via pip (`python3 -m pip install -U mypy`) or directly from the repository. - Command-line usage: `mypy PROGRAM` to type-check, and `dmypy run -- PROGRAM` for daemon mode, which provides faster incremental updates for large code bases. - An online playground is available for trying mypy. - Editor and tool integrations: VS Code, Vim (Syntastic, ALE), Emacs (Flycheck), Sublime Text, PyCharm, IDLE, and pre-commit. - Documentation, a type hints cheat sheet, a getting-started guide, and a list of error codes are provided. - Mypyc compiles Python modules to C extensions using type hints; mypy itself is compiled with mypyc, which the README states makes it approximately four times faster than interpreted execution. An interpreted installation is possible with `--no-binary mypy`. The project welcomes contributions in testing, development, documentation and other areas, with tasks for contributors of all experience levels.