On 5/14/20 7:53 AM, John Snow wrote: > NB: I am choosing Python 3.6 here. Although our minimum requirement is > 3.5, this code is used only by iotests (so far) under which we have been > using a minimum version of 3.6.
Preferably with another Ack-by from someone familiar with Python iotests: Acked-by: Philippe Mathieu-Daudé <phi...@redhat.com> > > 3.6 is being preferred here for variable type hint capability, which > enables us to use mypy for this package. > > Signed-off-by: John Snow <js...@redhat.com> > --- > python/README.rst | 6 ++++++ > python/setup.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 56 insertions(+) > create mode 100644 python/README.rst > create mode 100755 python/setup.py > > diff --git a/python/README.rst b/python/README.rst > new file mode 100644 > index 0000000000..25f6d93fd5 > --- /dev/null > +++ b/python/README.rst > @@ -0,0 +1,6 @@ > +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. > diff --git a/python/setup.py b/python/setup.py > new file mode 100755 > index 0000000000..f897ceac97 > --- /dev/null > +++ b/python/setup.py > @@ -0,0 +1,50 @@ > +#!/usr/bin/env3 python > +""" > +QEMU tooling installer script > +Copyright (c) 2020 John Snow for Red Hat, Inc. > +""" > + > +import setuptools > + > +def main(): > + """ > + QEMU tooling installer > + """ > + > + kwargs = { > + 'name': 'qemu', > + 'use_scm_version': { > + 'root': '..', > + 'relative_to': __file__, > + }, > + 'maintainer': 'QEMU Developer Team', > + 'maintainer_email': 'qemu-devel@nongnu.org', > + 'url': 'https://www.qemu.org/', > + 'download_url': 'https://www.qemu.org/download/', > + 'packages': setuptools.find_namespace_packages(), > + 'description': 'QEMU Python Build, Debug and SDK tooling.', > + 'classifiers': [ > + 'Development Status :: 5 - Production/Stable', > + 'License :: OSI Approved :: GNU General Public License v2 > (GPLv2)', > + 'Natural Language :: English', > + 'Operating System :: OS Independent', > + ], > + 'platforms': [], > + 'keywords': [], > + 'setup_requires': [ > + 'setuptools', > + 'setuptools_scm', > + ], > + 'install_requires': [ > + ], > + 'python_requires': '>=3.6', > + 'long_description_content_type': 'text/x-rst', > + } > + > + with open("README.rst", "r") as fh: > + kwargs['long_description'] = fh.read() > + > + setuptools.setup(**kwargs) > + > +if __name__ == '__main__': > + main() >