Mypy is an experimental optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking. Mypy programs are valid Python programs; run them using a standard Python VM with no translation, no compilation and with basically no runtime overhead.
Mypy is still in development. A significant subset of Python features is supported.