qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Ben Widawsky" <ben@bwidawsk.net>,
	"Vladimir Sementsov-Ogievskiy" <vsementsov@virtuozzo.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	qemu-block@nongnu.org,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Rohit Shinde" <rohit.shinde12194@gmail.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>, "Fam Zheng" <fam@euphon.net>,
	"John Snow" <jsnow@redhat.com>
Subject: [PATCH v2 02/15] python: add qemu package installer
Date: Wed, 14 Oct 2020 10:29:44 -0400	[thread overview]
Message-ID: <20201014142957.763624-3-jsnow@redhat.com> (raw)
In-Reply-To: <20201014142957.763624-1-jsnow@redhat.com>

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 <jsnow@redhat.com>
---
 python/PACKAGE.rst | 23 +++++++++++++++++++++++
 python/setup.cfg   | 18 ++++++++++++++++++
 python/setup.py    | 23 +++++++++++++++++++++++
 3 files changed, 64 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..6e82f05606
--- /dev/null
+++ b/python/PACKAGE.rst
@@ -0,0 +1,23 @@
+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.core`` subpackage offers rudimentary facilities for launching
+QEMU and communicating with it via QMP. Refer to the module documentation
+(``>>> help(qemu.core)``) for more information.
+
+Contributing
+------------
+
+This package is maintained by John Snow <jsnow@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
+mirror <https://gitlab.com/jsnow/qemu/-/tree/python>`_, but
+contributions must be sent to the list for inclusion.
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
+
+[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')
+
+    setuptools.setup()
+
+
+if __name__ == '__main__':
+    main()
-- 
2.26.2



  parent reply	other threads:[~2020-10-14 14:32 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-14 14:29 [PATCH v2 00/15] python: create installable package John Snow
2020-10-14 14:29 ` [PATCH v2 01/15] python: create qemu.core package John Snow
2020-10-14 18:03   ` Philippe Mathieu-Daudé
2020-10-14 14:29 ` John Snow [this message]
2020-10-14 14:29 ` [PATCH v2 03/15] python: add VERSION file John Snow
2020-10-14 16:03   ` John Snow
2020-10-19  9:45   ` Andrea Bolognani
2020-10-19 10:02     ` Daniel P. Berrangé
2020-10-19 16:13       ` John Snow
2020-10-20  8:52       ` Andrea Bolognani
2020-10-20  9:06         ` Daniel P. Berrangé
2020-10-20  9:14           ` Andrea Bolognani
2020-10-14 14:29 ` [PATCH v2 04/15] python: add directory structure README.rst files John Snow
2020-10-14 18:05   ` Philippe Mathieu-Daudé
2020-10-14 20:51     ` John Snow
2020-10-14 14:29 ` [PATCH v2 05/15] python: Add pipenv support John Snow
2020-10-14 14:29 ` [PATCH v2 06/15] python: add pylint exceptions to __init__.py John Snow
2020-10-14 14:29 ` [PATCH v2 07/15] python: move pylintrc into setup.cfg John Snow
2020-10-14 14:29 ` [PATCH v2 08/15] python: add pylint to pipenv John Snow
2020-10-14 14:29 ` [PATCH v2 09/15] python: move flake8 config to setup.cfg John Snow
2020-10-14 14:29 ` [PATCH v2 10/15] python: Add flake8 to pipenv John Snow
2020-10-14 14:29 ` [PATCH v2 11/15] python: move mypy.ini into setup.cfg John Snow
2020-10-14 14:29 ` [PATCH v2 12/15] python: add mypy to pipenv John Snow
2020-10-14 14:29 ` [PATCH v2 13/15] python: move .isort.cfg into setup.cfg John Snow
2020-10-14 18:08   ` Philippe Mathieu-Daudé
2020-10-14 14:29 ` [PATCH v2 14/15] python/qemu: add isort to pipenv John Snow
2020-10-14 14:29 ` [PATCH v2 15/15] python/qemu: add qemu package itself " John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201014142957.763624-3-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=ben@bwidawsk.net \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=fam@euphon.net \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rohit.shinde12194@gmail.com \
    --cc=stefanha@redhat.com \
    --cc=vsementsov@virtuozzo.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).