On Tue, Oct 20, 2020 at 03:35:42PM -0400, 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 > 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 > using pyproject.toml (and PEP-517) style packages means that pip is not > able to install in "editable" or "develop" mode, which I consider > necessary for the development of this package. > > Use a light-weight setup.py instead. > > Signed-off-by: John Snow <js...@redhat.com> > --- > python/PACKAGE.rst | 26 ++++++++++++++++++++++++++ > python/setup.cfg | 18 ++++++++++++++++++ > python/setup.py | 23 +++++++++++++++++++++++ > 3 files changed, 67 insertions(+) > create mode 100644 python/PACKAGE.rst > create mode 100755 python/setup.cfg > create mode 100755 python/setup.py > > diff --git a/python/PACKAGE.rst b/python/PACKAGE.rst > new file mode 100644 > index 0000000000..b82f32f489 > --- /dev/null > +++ b/python/PACKAGE.rst > @@ -0,0 +1,26 @@ > +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 > +pacakge's documentation
Typo here: s/pacakge/package/ > +(``>>> help(qemu.qmp)``, ``>>> help(qemu.machine)``) > +for more information. > + > +Contributing > +------------ > + > +This package is maintained by John Snow <js...@redhat.com> as part of > +the QEMU source tree. Contributions are welcome and follow the `QEMU > +patch submission process > +<https://wiki.qemu.org/Contribute/SubmitAPatch>`_. There is a `Gitlab Git*L*ab. Given that we're also under a company named with two words, better given them that :) > +mirror <https://gitlab.com/jsnow/qemu/-/tree/python>`_, but > +contributions must be sent to the list for inclusion. IMO it's not clear if this branch/mirror is your development work, a staging area, etc. > diff --git a/python/setup.cfg b/python/setup.cfg > new file mode 100755 > index 0000000000..12b99a796e > --- /dev/null > +++ b/python/setup.cfg > @@ -0,0 +1,18 @@ > +[metadata] > +name = qemu > +maintainer = QEMU Developer Team > +maintainer_email = qemu-devel@nongnu.org > +url = https://www.qemu.org/ > +download_url = https://www.qemu.org/download/ > +description = QEMU Python Build, Debug and SDK tooling. > +long_description = file:PACKAGE.rst > +long_description_content_type = text/x-rst > +classifiers = > + Development Status :: 3 - Alpha > + License :: OSI Approved :: GNU General Public License v2 (GPLv2) > + Natural Language :: English > + Operating System :: OS Independent > + I know the sky is the limit, but I miss the Python version classifier, at least: Programming Language :: Python :: 3 :: Only And optionally those: Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Although it may be a good idea to add them along test jobs on those specific Python versions. > +[options] > +python_requires = >= 3.6 > +packages = find_namespace: > diff --git a/python/setup.py b/python/setup.py > new file mode 100755 > index 0000000000..e93d0075d1 > --- /dev/null > +++ b/python/setup.py > @@ -0,0 +1,23 @@ > +#!/usr/bin/env python3 > +""" > +QEMU tooling installer script > +Copyright (c) 2020 John Snow for Red Hat, Inc. > +""" > + > +import setuptools > +import pkg_resources > + > + > +def main(): > + """ > + QEMU tooling installer > + """ > + > + # > https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108 > + pkg_resources.require('setuptools>=39.2') Getting back to the "test jobs on those specific Python versions" I was really anxious that environments with Python 3.6 will fail to have such a "recent" setuptools version. CentOS 8 has that specific version, while Ubuntu 18.04 has version 39.0. Ubuntu 20.04 has a recent enough version though. Given that all GitLab CI moved to 20.04, this should be safe. - Cleber. > + > + setuptools.setup() > + > + > +if __name__ == '__main__': > + main() > -- > 2.26.2 >
signature.asc
Description: PGP signature