Mypy Development Roadmap

This is the outline of the current mypy development roadmap. As everything else, this is subject to change at any time.

Milestone 1: Type checker and mypy-to-Python translator [DONE]

Implement type checker for a significant subset of mypy. Support running mypy programs via translation to Python + using CPython (perhaps also PyPy, if Python 2/3 compatibility can be addressed).

The implementation will be good for early adopters and for the evaluation of the programming model.

Schedule: Nov 2012 [DONE]

Milestone 2: Switch to Python-compatible syntax [DONE]

Based on feedback, switch to a new, Python-compatible syntax. Also change the development focus to optional type checking on top of a standard Python implementation instead of on building a new compiler and VM.

Schedule: Jul 2013 [DONE]

Milestone 3: More Python and type system features [DONE]

The focus is on supporting a wider set of Python features and libraries, and on implementing new type system features.

The goal is to support (almost) all of Python 3 syntax and a large set of libraries. Also, mypy now mostly conforms to PEP 484.

Schedule: 2015 [DONE]

Milestone 4: Python 2.x support [DONE]

Add support for Python 2.7 and potentially earlier Python versions. These are still very widely used and will likely remain so for at least several years.

Schedule: 2015 [DONE]

Milestone 5: Faster, incremental type checking

Support more efficient, incremental type checking. After a code edit, mypy should only check modules affected by that change instead of the whole program. This will be useful especially for large projects.

Schedule: 2016

Milestone 6: Beta release

After this release, work harder to avoid changes that break backward compatibility in significant ways. Most critical open issues resolved.

Schedule: 2016?

Future tasks

These tasks have not been scheduled yet (in no particular order):