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.
>
Sure.
>> 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
>> development.
>>
>
> 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.
>> +
>> +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.
>> +
>
> 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.
>