We’ve just uploaded mypy 0.580 to the Python Package Index (PyPI). This release includes new features, bug fixes and library stub (typeshed) updates. You can install it as follows:
python3 -m pip install -U mypy
You can read the documentation for this release on ReadTheDocs.
New Features
- Add support for multiple packages on the command line alongside modules (Eric Wieser, PR 4733). Now you can run mypy with several packages on the command line, for example:
mypy --package p.a --package p.b --module c
- Set python_version to default to sys.version_info (Ethan Smith, PR 4686). This makes the implementation match docs and makes it easier to implement PEP 561.
Notable Bugs Fixed
- Fix issues related to indirect imports in import cycles (PR 4695)
- Fix frozen subclass and callable issues in attrs plugin (David Euresti, PR 4755)
- stubgenc: Generate PEP 526 style variable annotations (gclinch, PR 4716)
- Fix XML report generation (PR 4745)
Improved Error Messages
- Helpful error message when strict is found in configuration file, which is unsupported (gclinch, PR 4706)
Other Changes
- Refuse to run under Python 3.5.0 or anything before Python 3.4 (PR 4721). This is caused by the fact that the version of typing module shipped with Python 3.5.0 has several bugs and incompatible/old API.
Acknowledgments
First of all, we’d like to thank our employer, Dropbox, for funding the mypy core team.
Thanks to all mypy contributors who contributed to this release:
- David Euresti
- Eric Wieser
- Ethan Smith
- gclinch
- Jelle Zijlstra
Additional thanks to all contributors to typeshed:
- Dan Sully
- David Euresti
- Ethan Smith
- Josh Holland
- Kenny Do
- Martin DeMello
- Matthias Kramm
- Miguel Gaiowski
- Nipunn Koorapati
- rchen152
- Rob Day
- Roy Williams
- Salvo 'LtWorf' Tomaselli
- Sebastian Rittau
- Sergey Passichenko
- Svyatoslav Ilinskiy
- Takuya Akiba
- yed podtrzitko
— Ivan Levkivskyi, on behalf of the mypy team