diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2021-09-28 13:07:32 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2021-09-28 13:07:32 +0100 |
| commit | 6b54a31bf7b403672a798b6443b1930ae6c74dea (patch) | |
| tree | 008a5de54698d843aba645fd9598544318758f06 /python/qemu/aqmp/__init__.py | |
| parent | 14f02d8a9ec1746823c106933a4c8f062f9e0f95 (diff) | |
| parent | 99e45a6131a7fef19ffe0190f9c479fae4850d53 (diff) | |
| download | focaccia-qemu-6b54a31bf7b403672a798b6443b1930ae6c74dea.tar.gz focaccia-qemu-6b54a31bf7b403672a798b6443b1930ae6c74dea.zip | |
Merge remote-tracking branch 'remotes/jsnow-gitlab/tags/python-pull-request' into staging
Python Pull request # gpg: Signature made Mon 27 Sep 2021 20:24:39 BST # gpg: using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E # gpg: Good signature from "John Snow (John Huston) <jsnow@redhat.com>" [full] # Primary key fingerprint: FAEB 9711 A12C F475 812F 18F2 88A9 064D 1835 61EB # Subkey fingerprint: F9B7 ABDB BCAC DF95 BE76 CBD0 7DEF 8106 AAFC 390E * remotes/jsnow-gitlab/tags/python-pull-request: (32 commits) python/aqmp-tui: Add syntax highlighting python: add optional pygments dependency python: Add entry point for aqmp-tui python/aqmp-tui: Add AQMP TUI python: Add dependencies for AQMP TUI python/aqmp: Add Coverage.py support python/aqmp: add LineProtocol tests python/aqmp: add AsyncProtocol unit tests python: bump avocado to v90.0 python/aqmp: add scary message python/aqmp: add asyncio_run compatibility wrapper python/aqmp: add _raw() execution interface python/aqmp: add execute() interfaces python/aqmp: Add message routing to QMP protocol python/pylint: disable no-member check python/aqmp: add QMP protocol support python/pylint: disable too-many-function-args python/aqmp: add QMP event support python/aqmp: add well-known QMP object models python/aqmp: add QMP Message format ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'python/qemu/aqmp/__init__.py')
| -rw-r--r-- | python/qemu/aqmp/__init__.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/python/qemu/aqmp/__init__.py b/python/qemu/aqmp/__init__.py new file mode 100644 index 0000000000..ab1782999c --- /dev/null +++ b/python/qemu/aqmp/__init__.py @@ -0,0 +1,59 @@ +""" +QEMU Monitor Protocol (QMP) development library & tooling. + +This package provides a fairly low-level class for communicating +asynchronously with QMP protocol servers, as implemented by QEMU, the +QEMU Guest Agent, and the QEMU Storage Daemon. + +`QMPClient` provides the main functionality of this package. All errors +raised by this library dervive from `AQMPError`, see `aqmp.error` for +additional detail. See `aqmp.events` for an in-depth tutorial on +managing QMP events. +""" + +# Copyright (C) 2020, 2021 John Snow for Red Hat, Inc. +# +# Authors: +# John Snow <jsnow@redhat.com> +# +# Based on earlier work by Luiz Capitulino <lcapitulino@redhat.com>. +# +# This work is licensed under the terms of the GNU GPL, version 2. See +# the COPYING file in the top-level directory. + +import warnings + +from .error import AQMPError +from .events import EventListener +from .message import Message +from .protocol import ConnectError, Runstate, StateError +from .qmp_client import ExecInterruptedError, ExecuteError, QMPClient + + +_WMSG = """ + +The Asynchronous QMP library is currently in development and its API +should be considered highly fluid and subject to change. It should +not be used by any other scripts checked into the QEMU tree. + +Proceed with caution! +""" + +warnings.warn(_WMSG, FutureWarning) + + +# The order of these fields impact the Sphinx documentation order. +__all__ = ( + # Classes, most to least important + 'QMPClient', + 'Message', + 'EventListener', + 'Runstate', + + # Exceptions, most generic to most explicit + 'AQMPError', + 'StateError', + 'ConnectError', + 'ExecuteError', + 'ExecInterruptedError', +) |