From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
qemu-block@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
"Manos Pitsidianakis" <manos.pitsidianakis@linaro.org>,
qemu-rust@nongnu.org, "John Snow" <jsnow@redhat.com>,
"Maksim Davydov" <davydov-max@yandex-team.ru>,
"Cleber Rosa" <crosa@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Michael Roth" <michael.roth@amd.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Kevin Wolf" <kwolf@redhat.com>
Subject: [PATCH 0/8] Python: Fix 'make check-dev' and modernize to 3.9+
Date: Mon, 19 May 2025 14:21:44 -0400 [thread overview]
Message-ID: <20250519182153.3835722-1-jsnow@redhat.com> (raw)
This series does a couple things that I'll probably end up splitting out
into smaller series if history is any guide, but either way, here it
goes:
A) Convert qemu.git/python/ to a PEP517/pyproject.toml
package. Ultimately this means deleting setup.py and fully migrating to
newer python infrastructure. I think this should be safe to do by now,
but admittedly I am not *confident* as it relies on setuptools versions
in the wild, not python versions. My motivation for trying it is to fix
"make check-dev", which has been broken for the last two Fedora releases
under newer setuptools which have started removing support for the
pre-PEP517 packaging formats, which will only continue to get worse from
here on out.
B) Sync changes from the qemu.qmp package back over to qemu.git. I know
I need to decouple this badly, but in order to do so, I need to make
sure they're synchronized to be assured that the switch to the
standalone version won't break anything, so this is a necessary
step. It's happening here because of the 3.6+ compat crud we are still
carrying in qemu.git that has since been removed from the standalone
library.
C) Move us to 3.9+ style type hints. I know it feels like we just got
the type hints settled and we're already changing them. Sorry about
that. They are deprecated in 3.9, and *could* be removed at any time. I
figured now was a good time as any to get rid of them before they become
a problem randomly some day in the future.
D) Update the mypy configuration to check under multiple Python versions
more effectively and thoroughly.
Whew.
--js
John Snow (8):
python: convert packages to PEP517/pyproject.toml
python: update pylint ignores
python: sync changes from external qemu.qmp package
python: use 3.9+ builtin type hints
python: convert remaining deprecated type hints for 3.9+
python: clean up requirements for 3.9+
python: update mkvenv to type-check under different python versions
python: remove version restriction for mypy
docs/sphinx/compat.py | 11 +-
docs/sphinx/dbusdoc.py | 13 +-
docs/sphinx/dbusdomain.py | 32 ++--
docs/sphinx/fakedbusdoc.py | 4 +-
docs/sphinx/qapi_domain.py | 77 ++++----
docs/sphinx/qapidoc.py | 16 +-
python/README.rst | 33 ++--
python/Makefile | 18 +-
python/pyproject.toml | 8 +
python/qemu/machine/console_socket.py | 4 +-
python/qemu/machine/machine.py | 32 ++--
python/qemu/machine/qtest.py | 13 +-
python/qemu/qmp/error.py | 7 +-
python/qemu/qmp/events.py | 72 +++++--
python/qemu/qmp/legacy.py | 31 +--
python/qemu/qmp/message.py | 38 ++--
python/qemu/qmp/models.py | 26 ++-
python/qemu/qmp/protocol.py | 179 ++++++++++-------
python/qemu/qmp/qmp_client.py | 147 +++++++++-----
python/qemu/qmp/qmp_shell.py | 180 ++++++++++++------
python/qemu/qmp/qmp_tui.py | 55 +++---
python/qemu/qmp/util.py | 116 +----------
python/qemu/utils/accel.py | 4 +-
python/qemu/utils/qemu_ga_client.py | 11 +-
python/qemu/utils/qom_common.py | 17 +-
python/qemu/utils/qom_fuse.py | 12 +-
python/scripts/mkvenv.py | 38 ++--
python/setup.cfg | 7 +-
python/setup.py | 40 ----
python/tests/minreqs.txt | 4 +-
python/tests/protocol.py | 10 +-
scripts/block-coroutine-wrapper.py | 2 +-
.../codeconverter/codeconverter/patching.py | 50 ++---
.../codeconverter/codeconverter/qom_macros.py | 36 ++--
.../codeconverter/qom_type_info.py | 16 +-
scripts/compare-machine-types.py | 41 ++--
scripts/qapi/commands.py | 13 +-
scripts/qapi/common.py | 20 +-
scripts/qapi/events.py | 8 +-
scripts/qapi/expr.py | 28 ++-
scripts/qapi/features.py | 2 +-
scripts/qapi/gen.py | 13 +-
scripts/qapi/introspect.py | 44 ++---
scripts/qapi/parser.py | 42 ++--
scripts/qapi/schema.py | 117 ++++++------
scripts/qapi/source.py | 10 +-
scripts/qapi/types.py | 20 +-
scripts/qapi/visit.py | 14 +-
scripts/rust/rustc_args.py | 7 +-
scripts/u2f-setup-gen.py | 3 +-
tests/functional/qemu_test/ports.py | 3 +-
tests/functional/test_acpi_bits.py | 9 +-
tests/qemu-iotests/151 | 4 +-
tests/qemu-iotests/297 | 5 +-
tests/qemu-iotests/300 | 4 +-
tests/qemu-iotests/fat16.py | 11 +-
tests/qemu-iotests/findtests.py | 13 +-
tests/qemu-iotests/iotests.py | 38 ++--
tests/qemu-iotests/linters.py | 7 +-
tests/qemu-iotests/testenv.py | 11 +-
tests/qemu-iotests/testrunner.py | 19 +-
.../qemu-iotests/tests/stream-under-throttle | 3 +-
62 files changed, 925 insertions(+), 943 deletions(-)
create mode 100644 python/pyproject.toml
delete mode 100755 python/setup.py
--
2.48.1
next reply other threads:[~2025-05-19 19:35 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-19 18:21 John Snow [this message]
2025-05-19 18:21 ` [PATCH 1/8] python: convert packages to PEP517/pyproject.toml John Snow
2025-05-19 18:21 ` [PATCH 2/8] python: update pylint ignores John Snow
2025-05-20 7:41 ` Markus Armbruster
2025-05-22 19:10 ` John Snow
2025-05-19 18:21 ` [PATCH 3/8] python: sync changes from external qemu.qmp package John Snow
2025-05-19 18:21 ` [PATCH 4/8] python: use 3.9+ builtin type hints John Snow
2025-05-20 9:26 ` Markus Armbruster
2025-05-22 19:11 ` John Snow
2025-05-19 18:21 ` [PATCH 5/8] python: convert remaining deprecated type hints for 3.9+ John Snow
2025-05-20 9:31 ` Markus Armbruster
2025-05-22 19:13 ` John Snow
2025-05-19 18:21 ` [PATCH 6/8] python: clean up requirements " John Snow
2025-05-19 18:21 ` [PATCH 7/8] python: update mkvenv to type-check under different python versions John Snow
2025-05-19 18:21 ` [PATCH 8/8] python: remove version restriction for mypy John Snow
2025-05-20 7:53 ` [PATCH 0/8] Python: Fix 'make check-dev' and modernize to 3.9+ Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250519182153.3835722-1-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=anisinha@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=crosa@redhat.com \
--cc=davydov-max@yandex-team.ru \
--cc=eduardo@habkost.net \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=manos.pitsidianakis@linaro.org \
--cc=marcandre.lureau@redhat.com \
--cc=michael.roth@amd.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-rust@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.