Skip to content
Snippets Groups Projects
  • John Snow's avatar
    6560379f
    python: add Makefile for some common tasks · 6560379f
    John Snow authored
    
    Add "make venv" to create the pipenv-managed virtual environment that
    contains our explicitly pinned dependencies.
    
    Add "make check" to run the python linters [in the host execution
    environment].
    
    Add "make venv-check" which combines the above two: create/update the
    venv, then run the linters in that explicitly managed environment.
    
    Add "make develop" which canonizes the runes needed to get both the
    linting pre-requisites (the "[devel]" part), and the editable
    live-install (the "-e" part) of these python libraries.
    
    make clean: delete miscellaneous python packaging output possibly
    created by pipenv, pip, or other python packaging utilities
    
    make distclean: delete the above, the .venv, and the editable "qemu"
    package forwarder (qemu.egg-info) if there is one.
    
    Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
    Reviewed-by: default avatarCleber Rosa <crosa@redhat.com>
    Tested-by: default avatarCleber Rosa <crosa@redhat.com>
    Message-id: 20210527211715.394144-29-jsnow@redhat.com
    Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
    6560379f
    History
    python: add Makefile for some common tasks
    John Snow authored
    
    Add "make venv" to create the pipenv-managed virtual environment that
    contains our explicitly pinned dependencies.
    
    Add "make check" to run the python linters [in the host execution
    environment].
    
    Add "make venv-check" which combines the above two: create/update the
    venv, then run the linters in that explicitly managed environment.
    
    Add "make develop" which canonizes the runes needed to get both the
    linting pre-requisites (the "[devel]" part), and the editable
    live-install (the "-e" part) of these python libraries.
    
    make clean: delete miscellaneous python packaging output possibly
    created by pipenv, pip, or other python packaging utilities
    
    make distclean: delete the above, the .venv, and the editable "qemu"
    package forwarder (qemu.egg-info) if there is one.
    
    Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
    Reviewed-by: default avatarCleber Rosa <crosa@redhat.com>
    Tested-by: default avatarCleber Rosa <crosa@redhat.com>
    Message-id: 20210527211715.394144-29-jsnow@redhat.com
    Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
PACKAGE.rst 1.48 KiB

QEMU Python Tooling

This package provides QEMU tooling used by the QEMU project to build, configure, and test QEMU. It is not a fully-fledged SDK and it is subject to change at any time.

Usage

The qemu.qmp subpackage provides a library for communicating with QMP servers. The qemu.machine subpackage offers rudimentary facilities for launching and managing QEMU processes. Refer to each package's documentation (>>> help(qemu.qmp), >>> help(qemu.machine)) for more information.

Contributing

This package is maintained by John Snow <jsnow@redhat.com> as part of the QEMU source tree. Contributions are welcome and follow the QEMU patch submission process, which involves sending patches to the QEMU development mailing list.

John maintains a GitLab staging branch, and there is an official GitLab mirror.

Please report bugs on the QEMU issue tracker and tag @jsnow in the report.

Optional packages necessary for running code quality analysis for this package can be installed with the optional dependency group "devel": pip install qemu[devel].

make develop can be used to install this package in editable mode (to the current environment) and bring in testing dependencies in one command.

make check can be used to run the available tests.