[PULL 00/19] Python patches

John Snow posted 19 patches 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260223182902.739189-1-jsnow@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Ed Maste <emaste@freebsd.org>, Li-Wen Hsu <lwhsu@freebsd.org>, Yonggang Luo <luoyonggang@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Maksim Davydov <davydov-max@yandex-team.ru>, Markus Armbruster <armbru@redhat.com>, Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>
There is a newer version of this series
python/README.rst                             |   52 +-
configure                                     |    2 +-
meson.build                                   |    1 +
.gitlab-ci.d/buildtest.yml                    |   26 +-
.gitlab-ci.d/cirrus/freebsd-14.vars           |    2 +-
.gitlab-ci.d/cirrus/macos-14.vars             |    2 +-
.gitlab-ci.d/windows.yml                      |    2 +
python/qemu/qmp/__init__.py                   |   60 -
python/qemu/qmp/error.py                      |   53 -
python/qemu/qmp/events.py                     |  751 -----------
python/qemu/qmp/legacy.py                     |  339 -----
python/qemu/qmp/message.py                    |  217 ----
python/qemu/qmp/models.py                     |  146 ---
python/qemu/qmp/protocol.py                   | 1101 -----------------
python/qemu/qmp/py.typed                      |    0
python/qemu/qmp/qmp_client.py                 |  732 -----------
python/qemu/qmp/qmp_shell.py                  |  689 -----------
python/qemu/qmp/qmp_tui.py                    |  665 ----------
python/qemu/qmp/util.py                       |  150 ---
python/qemu/utils/qom_fuse.py                 |    1 -
python/scripts/mkvenv.py                      |   43 +-
python/scripts/vendor.py                      |    2 +
python/setup.cfg                              |   31 +-
python/tests/minreqs.txt                      |    8 +-
python/tests/protocol.py                      |  596 ---------
pythondeps.toml                               |   21 +-
pyvenv/meson.build                            |   27 +
scripts/compare-machine-types.py              |    7 +-
scripts/device-crash-test                     |    5 +-
scripts/qmp/qemu-ga-client                    |   13 +-
scripts/qmp/qmp-shell                         |   13 +-
scripts/qmp/qmp-shell-wrap                    |   13 +-
scripts/qmp/qom-fuse                          |   13 +-
scripts/qmp/qom-get                           |   13 +-
scripts/qmp/qom-list                          |   13 +-
scripts/qmp/qom-set                           |   13 +-
scripts/qmp/qom-tree                          |   13 +-
scripts/qmp_helper.py                         |    9 +-
scripts/render_block_graph.py                 |   10 +-
scripts/simplebench/bench_block_job.py        |   10 +-
tests/Makefile.include                        |   22 +-
tests/docker/dockerfiles/alpine.docker        |    6 +-
tests/docker/dockerfiles/centos9.docker       |  242 ++--
.../dockerfiles/fedora-rust-nightly.docker    |  262 ++--
.../dockerfiles/fedora-win64-cross.docker     |  162 +--
tests/docker/dockerfiles/fedora.docker        |  262 ++--
tests/docker/dockerfiles/opensuse-leap.docker |    1 +
tests/functional/meson.build                  |    5 +-
tests/lcitool/libvirt-ci                      |    2 +-
tests/lcitool/mappings.yml                    |    2 +-
tests/lcitool/projects/qemu.yml               |    2 +
tests/lcitool/refresh                         |    8 +-
tests/migration-stress/guestperf/engine.py    |   15 +-
tests/qemu-iotests/testenv.py                 |   25 +-
tests/vm/Makefile.include                     |   20 +-
tests/vm/generated/freebsd.json               |    2 +
tests/vm/haiku.x86_64                         |    2 +
tests/vm/netbsd                               |    1 +
tests/vm/openbsd                              |    3 +
59 files changed, 766 insertions(+), 6142 deletions(-)
delete mode 100644 python/qemu/qmp/__init__.py
delete mode 100644 python/qemu/qmp/error.py
delete mode 100644 python/qemu/qmp/events.py
delete mode 100644 python/qemu/qmp/legacy.py
delete mode 100644 python/qemu/qmp/message.py
delete mode 100644 python/qemu/qmp/models.py
delete mode 100644 python/qemu/qmp/protocol.py
delete mode 100644 python/qemu/qmp/py.typed
delete mode 100644 python/qemu/qmp/qmp_client.py
delete mode 100644 python/qemu/qmp/qmp_shell.py
delete mode 100644 python/qemu/qmp/qmp_tui.py
delete mode 100644 python/qemu/qmp/util.py
delete mode 100644 python/tests/protocol.py
create mode 100644 pyvenv/meson.build
[PULL 00/19] Python patches
Posted by John Snow 1 month, 2 weeks ago
The following changes since commit afe653676dc6dfd49f0390239ff90b2f0052c2b8:

  Merge tag 'audio-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2026-02-23 14:03:50 +0000)

are available in the Git repository at:

  https://gitlab.com/jsnow/qemu.git tags/python-pull-request

for you to fetch changes up to f0c2b38df05dd642314a31c3d2c16bd4501cbe32:

  python: add setuptools and wheel dependencies (2026-02-23 13:24:42 -0500)

----------------------------------------------------------------
Python pull request

This drops qemu.qmp from the tree, finally O:-)

----------------------------------------------------------------

John Snow (19):
  python/mkvenv: create timestamp file for each group "ensured"
  python/mkvenv: bump 'qemu.qmp' dependency for testdeps
  python/mkvenv: add 'tooling' and 'functests' dependency groups
  python/mkvenv: add mechanism to install local package(s)
  meson, mkvenv: add functests custom target
  tests: Use configured python to run GitLab iotests
  iotests: tolerate being run outside of pyvenv
  tests: use "run" script to execute device-crash-test
  tests/lcitool: update lcitool to latest version
  tests/lcitool: add python3 wheel and setuptools deps for qemu
  python: add vendored qemu.qmp package
  meson, mkvenv: make functional tests depend on functests group
  meson, mkvenv: add qemu.git/python/qemu package to pythondeps.toml
  configure: unconditionally install "tooling" group
  tests: replace check-venv with vm-venv target
  scripts: nudge users to use 'run' script for scripts that import
    qemu.qmp
  python: delete qemu.qmp
  python: update README.rst to reflect qemu.qmp's removal
  python: add setuptools and wheel dependencies

 python/README.rst                             |   52 +-
 configure                                     |    2 +-
 meson.build                                   |    1 +
 .gitlab-ci.d/buildtest.yml                    |   26 +-
 .gitlab-ci.d/cirrus/freebsd-14.vars           |    2 +-
 .gitlab-ci.d/cirrus/macos-14.vars             |    2 +-
 .gitlab-ci.d/windows.yml                      |    2 +
 python/qemu/qmp/__init__.py                   |   60 -
 python/qemu/qmp/error.py                      |   53 -
 python/qemu/qmp/events.py                     |  751 -----------
 python/qemu/qmp/legacy.py                     |  339 -----
 python/qemu/qmp/message.py                    |  217 ----
 python/qemu/qmp/models.py                     |  146 ---
 python/qemu/qmp/protocol.py                   | 1101 -----------------
 python/qemu/qmp/py.typed                      |    0
 python/qemu/qmp/qmp_client.py                 |  732 -----------
 python/qemu/qmp/qmp_shell.py                  |  689 -----------
 python/qemu/qmp/qmp_tui.py                    |  665 ----------
 python/qemu/qmp/util.py                       |  150 ---
 python/qemu/utils/qom_fuse.py                 |    1 -
 python/scripts/mkvenv.py                      |   43 +-
 python/scripts/vendor.py                      |    2 +
 python/setup.cfg                              |   31 +-
 python/tests/minreqs.txt                      |    8 +-
 python/tests/protocol.py                      |  596 ---------
 pythondeps.toml                               |   21 +-
 pyvenv/meson.build                            |   27 +
 scripts/compare-machine-types.py              |    7 +-
 scripts/device-crash-test                     |    5 +-
 scripts/qmp/qemu-ga-client                    |   13 +-
 scripts/qmp/qmp-shell                         |   13 +-
 scripts/qmp/qmp-shell-wrap                    |   13 +-
 scripts/qmp/qom-fuse                          |   13 +-
 scripts/qmp/qom-get                           |   13 +-
 scripts/qmp/qom-list                          |   13 +-
 scripts/qmp/qom-set                           |   13 +-
 scripts/qmp/qom-tree                          |   13 +-
 scripts/qmp_helper.py                         |    9 +-
 scripts/render_block_graph.py                 |   10 +-
 scripts/simplebench/bench_block_job.py        |   10 +-
 tests/Makefile.include                        |   22 +-
 tests/docker/dockerfiles/alpine.docker        |    6 +-
 tests/docker/dockerfiles/centos9.docker       |  242 ++--
 .../dockerfiles/fedora-rust-nightly.docker    |  262 ++--
 .../dockerfiles/fedora-win64-cross.docker     |  162 +--
 tests/docker/dockerfiles/fedora.docker        |  262 ++--
 tests/docker/dockerfiles/opensuse-leap.docker |    1 +
 tests/functional/meson.build                  |    5 +-
 tests/lcitool/libvirt-ci                      |    2 +-
 tests/lcitool/mappings.yml                    |    2 +-
 tests/lcitool/projects/qemu.yml               |    2 +
 tests/lcitool/refresh                         |    8 +-
 tests/migration-stress/guestperf/engine.py    |   15 +-
 tests/qemu-iotests/testenv.py                 |   25 +-
 tests/vm/Makefile.include                     |   20 +-
 tests/vm/generated/freebsd.json               |    2 +
 tests/vm/haiku.x86_64                         |    2 +
 tests/vm/netbsd                               |    1 +
 tests/vm/openbsd                              |    3 +
 59 files changed, 766 insertions(+), 6142 deletions(-)
 delete mode 100644 python/qemu/qmp/__init__.py
 delete mode 100644 python/qemu/qmp/error.py
 delete mode 100644 python/qemu/qmp/events.py
 delete mode 100644 python/qemu/qmp/legacy.py
 delete mode 100644 python/qemu/qmp/message.py
 delete mode 100644 python/qemu/qmp/models.py
 delete mode 100644 python/qemu/qmp/protocol.py
 delete mode 100644 python/qemu/qmp/py.typed
 delete mode 100644 python/qemu/qmp/qmp_client.py
 delete mode 100644 python/qemu/qmp/qmp_shell.py
 delete mode 100644 python/qemu/qmp/qmp_tui.py
 delete mode 100644 python/qemu/qmp/util.py
 delete mode 100644 python/tests/protocol.py
 create mode 100644 pyvenv/meson.build

-- 
2.53.0

Re: [PULL 00/19] Python patches
Posted by Peter Maydell 1 month, 2 weeks ago
On Mon, 23 Feb 2026 at 18:29, John Snow <jsnow@redhat.com> wrote:
>
> The following changes since commit afe653676dc6dfd49f0390239ff90b2f0052c2b8:
>
>   Merge tag 'audio-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2026-02-23 14:03:50 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/jsnow/qemu.git tags/python-pull-request
>
> for you to fetch changes up to f0c2b38df05dd642314a31c3d2c16bd4501cbe32:
>
>   python: add setuptools and wheel dependencies (2026-02-23 13:24:42 -0500)
>
> ----------------------------------------------------------------
> Python pull request
>
> This drops qemu.qmp from the tree, finally O:-)
>
> ----------------------------------------------------------------

Hi; I'm afraid this fails to build for a lot of our CI jobs.
Here's a sample, I think all the failures are the same error:

https://gitlab.com/qemu-project/qemu/-/jobs/13238854891

mkvenv: installing pycotap==1.3.1, qemu.qmp==0.0.5
Using pip 25.1.1 from /usr/lib/python3/dist-packages/pip (python 3.13)
Looking in links: /builds/qemu-project/qemu/python/wheels
Processing /builds/qemu-project/qemu/python/wheels/pycotap-1.3.1-py3-none-any.whl
ERROR: Could not find a version that satisfies the requirement
qemu.qmp==0.0.5 (from versions: none)
ERROR: No matching distribution found for qemu.qmp==0.0.5
*** Ouch! ***
Could not provide build dependency 'pycotap==1.3.1':
• Python package 'pycotap' was not found nor installed.
• No suitable version found in, or failed to install from
'/builds/qemu-project/qemu/python/wheels'.
• mkvenv was configured to operate offline and did not check PyPI.

Failing pipeline in case you want the links to the other
failing jobs:
https://gitlab.com/qemu-project/qemu/-/pipelines/2345847273

thanks
-- PMM