[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 05/24] python: add qemu package installer

From: John Snow
Subject: Re: [PATCH v4 05/24] python: add qemu package installer
Date: Tue, 16 Feb 2021 22:38:31 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

On 2/16/21 9:23 PM, Cleber Rosa wrote:
On Thu, Feb 11, 2021 at 01:58:37PM -0500, John Snow wrote:
Add setup.cfg and setup.py, necessary for installing a package via
pip. Add a rst document explaining the basics of what this package is

Nitpick 1: setup.cfg and setup.py are indeed used by pip, your
statement is correct.  But, it hides the fact that these can be used
without pip.  On a source tree based install, you may want to simply
use "python setup.py develop" to achieve what "pip install -e" would
do (without pip ever entering the picture).

This is intentional. pip and setup.py actually use different pathways that are not identical. I do not recommend you call setup.py directly anymore. Once pyproject.toml is more widespread, there won't even *be* a setup.py.

Nitpick 2: while most people will understand what you mean by "rst
document", I believe that "Add a README file in reStructuredText
format" would be more obvious.


for and who to contact for more information. This document will be used
as the landing page for the package on PyPI.

I am not yet using a pyproject.toml style package manifest, because
"editable" installs are not defined by PEP-517 and pip did not have
support for this for some time; I consider the feature necessary for

I'm glad you kept it like this... I bet there's going to be another
PEP out, replacing the status quo, by the time I finish this review.

Actually, between writing this series last year and this latest respin, pip supports editable installs for pyproject.toml distributions now :)

...but I was still hesitant to take the leap, because maybe that's still too modern for the 3.6-based distributions we target and support.

...And I left the message alone, because I didn't re-research the exact reason I'm not using pyproject.toml now. Eh.

Use a light-weight setup.py instead.

Signed-off-by: John Snow <jsnow@redhat.com>
  python/PACKAGE.rst | 32 ++++++++++++++++++++++++++++++++
  python/setup.cfg   | 19 +++++++++++++++++++
  python/setup.py    | 23 +++++++++++++++++++++++
  3 files changed, 74 insertions(+)
  create mode 100644 python/PACKAGE.rst
  create mode 100644 python/setup.cfg
  create mode 100755 python/setup.py

diff --git a/python/PACKAGE.rst b/python/PACKAGE.rst
new file mode 100644
index 00000000000..0e714c87eb3
--- /dev/null
+++ b/python/PACKAGE.rst
@@ -0,0 +1,32 @@
+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.
+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.

This gives the impression that those are the only subpackages (and
they were).  Better to reword it taking into account the qemu.utils
subpackage and possibly others (leave it open so that it doesn't rot
so quickly).

Intentional again. I don't, for the moment, consider that utils package something "supported" in the public sense, so I didn't feel the urge to draw attention to it.

- Cleber.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]