Continuing where I left off prior to the 5.1 release, this series touches up a few odds and ends and introduces mypy hints.
What's new: - Using isort to solidify import order - Patches adding small corrections and typing for console_socket - A few error class changes for qmp.py Like my QAPI series, this requires: - pylint >= 2.6.0 - flake8 >= 3.8.0 - mypy >= 0.770 - isort >= 4.3.0 (Presumably...) What this series doesn't do: - Create a proper python package - Establish a CI test to prevent regressions - Fix the docstring conventions in the library Those are coming soon! (and in the order mentioned.) Changes against the last version of this series that was sent prior to 5.1: 001/20:[down] 'python/qemu: use isort to lay out imports' 002/20:[0005] [FC] 'python/machine.py: Fix monitor address typing' 003/20:[0015] [FC] 'python/machine.py: reorder __init__' 004/20:[0009] [FC] 'python/machine.py: Don't modify state in _base_args()' 005/20:[0002] [FC] 'python/machine.py: Handle None events in events_wait' 006/20:[0006] [FC] 'python/machine.py: use qmp.command' 007/20:[----] [-C] 'python/machine.py: Add _qmp access shim' 008/20:[----] [-C] 'python/machine.py: fix _popen access' 009/20:[0006] [FC] 'python/qemu: make 'args' style arguments immutable' 010/20:[----] [--] 'iotests.py: Adjust HMP kwargs typing' 011/20:[0010] [FC] 'python/qemu: Add mypy type annotations' 012/20:[down] 'python/qemu/console_socket.py: Correct type of recv()' 013/20:[down] 'python/qemu/console_socket.py: fix typing of settimeout' 014/20:[down] 'python/qemu/console_socket.py: Clarify type of drain_thread' 015/20:[down] 'python/qemu/console_socket.py: Add type hint annotations' 016/20:[down] 'python/console_socket: avoid encoding to/from string' 017/20:[down] 'python/qemu/qmp.py: Preserve error context on re-raise' 018/20:[down] 'python/qemu/qmp.py: re-raise OSError when encountered' 019/20:[down] 'python/qemu/qmp.py: Straighten out exception hierarchy' 020/20:[down] 'python: add mypy config' 02: import order differences, context changes from console_socket.py 03: (minor) changes for console_socket, RB-s dropped just in case 04: import order differences 05: import order differences 06: import order differences 09: import order differences 11: import order differences, small changes for console_socket John Snow (20): python/qemu: use isort to lay out imports python/machine.py: Fix monitor address typing python/machine.py: reorder __init__ python/machine.py: Don't modify state in _base_args() python/machine.py: Handle None events in events_wait python/machine.py: use qmp.command python/machine.py: Add _qmp access shim python/machine.py: fix _popen access python/qemu: make 'args' style arguments immutable iotests.py: Adjust HMP kwargs typing python/qemu: Add mypy type annotations python/qemu/console_socket.py: Correct type of recv() python/qemu/console_socket.py: fix typing of settimeout python/qemu/console_socket.py: Clarify type of drain_thread python/qemu/console_socket.py: Add type hint annotations python/console_socket: avoid encoding to/from string python/qemu/qmp.py: Preserve error context on re-raise python/qemu/qmp.py: re-raise OSError when encountered python/qemu/qmp.py: Straighten out exception hierarchy python: add mypy config python/mypy.ini | 4 + python/qemu/.isort.cfg | 7 + python/qemu/accel.py | 9 +- python/qemu/console_socket.py | 54 +++--- python/qemu/machine.py | 306 +++++++++++++++++++++------------- python/qemu/qmp.py | 114 ++++++++----- python/qemu/qtest.py | 55 +++--- tests/qemu-iotests/iotests.py | 2 +- 8 files changed, 331 insertions(+), 220 deletions(-) create mode 100644 python/mypy.ini create mode 100644 python/qemu/.isort.cfg -- 2.26.2