On 9/15/20 6:39 PM, John Snow wrote:
Hi, this series starts adding static type hints to the QAPI module. As
you can see, the series started getting quite a bit long, so this is
only a partial conversion that focuses on a handful of the easier files.
The tougher files -- schema.py, expr.py, parser.py -- will each receive
their own series as a follow-up to this one.
Notes:
- This requires Python 3.6+. Python 3.5 is EOL, so let's do that.
- Any patch named "add notational type hints" changes ONLY signatures,
which have no runtime impact whatsoever. These are big patches,
but fairly straightforward.
- Most other patches are as bite-sized as possible, generally fixing one
single warning.
- After patch 6, `flake8 qapi/` should pass 100% on this and every
future commit.
- After patch 7, `pylint --rcfile=qapi/pylintrc qapi/` should pass 100%
on this and every future commit.
- After patch 16, `mypy --config-file=qapi/mypy.ini qapi/` should pass
100% on this and every future commit.
Addressed today's feedback and pushed to gitlab.
Let's call it "Version 1.3".
https://gitlab.com/jsnow/qemu/-/commits/python-qapi-cleanup-pt1/
Waiting on feedback for 16-37 before re-authoring to list.
--js