All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Thomas Huth" <thuth@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Willian Rampazzo" <willianr@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: [PATCH v2 01/12] python: expose typing information via PEP 561
Date: Tue, 29 Jun 2021 12:42:42 -0400	[thread overview]
Message-ID: <20210629164253.1272763-2-jsnow@redhat.com> (raw)
In-Reply-To: <20210629164253.1272763-1-jsnow@redhat.com>

https://www.python.org/dev/peps/pep-0561/#specification

Create 'py.typed' files in each subpackage that indicate to mypy that
this is a typed module, so that users of any of these packages can use
mypy to check their code as well.

Note: Theoretically it's possible to ditch MANIFEST.in in favor of using
package_data in setup.cfg, but I genuinely could not figure out how to
get it to include things from the *source root* into the *package root*;
only how to include things from each subpackage. I tried!

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
---
 python/qemu/machine/py.typed | 0
 python/qemu/qmp/py.typed     | 0
 python/qemu/utils/py.typed   | 0
 python/setup.cfg             | 4 ++++
 4 files changed, 4 insertions(+)
 create mode 100644 python/qemu/machine/py.typed
 create mode 100644 python/qemu/qmp/py.typed
 create mode 100644 python/qemu/utils/py.typed

diff --git a/python/qemu/machine/py.typed b/python/qemu/machine/py.typed
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/python/qemu/qmp/py.typed b/python/qemu/qmp/py.typed
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/python/qemu/utils/py.typed b/python/qemu/utils/py.typed
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/python/setup.cfg b/python/setup.cfg
index 85cecbb41b..db1639c1f2 100644
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -19,6 +19,7 @@ classifiers =
     Programming Language :: Python :: 3.8
     Programming Language :: Python :: 3.9
     Programming Language :: Python :: 3.10
+    Typing :: Typed
 
 [options]
 python_requires = >= 3.6
@@ -27,6 +28,9 @@ packages =
     qemu.machine
     qemu.utils
 
+[options.package_data]
+* = py.typed
+
 [options.extras_require]
 # Run `pipenv lock --dev` when changing these requirements.
 devel =
-- 
2.31.1



  reply	other threads:[~2021-06-29 16:48 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-29 16:42 [PATCH v2 00/12] Python: packaging cleanups John Snow
2021-06-29 16:42 ` John Snow [this message]
2021-06-29 16:42 ` [PATCH v2 02/12] python: Remove global pylint suppressions John Snow
2021-06-29 16:42 ` [PATCH v2 03/12] python: Re-lock pipenv at *oldest* supported versions John Snow
2021-06-29 16:42 ` [PATCH v2 04/12] python: README.rst touchups John Snow
2021-06-29 16:42 ` [PATCH v2 05/12] python: Add no-install usage instructions John Snow
2021-06-29 16:42 ` [PATCH v2 06/12] python: rename 'venv-check' target to 'check-pipenv' John Snow
2021-06-29 16:42 ` [PATCH v2 07/12] python: update help text for check-tox John Snow
2021-06-29 16:51   ` Wainer dos Santos Moschetta
2021-06-29 20:23   ` Wainer dos Santos Moschetta
2021-06-29 21:27     ` John Snow
2021-06-30 18:55       ` Wainer dos Santos Moschetta
2021-06-29 16:42 ` [PATCH v2 08/12] python: Fix .PHONY Make specifiers John Snow
2021-06-29 16:53   ` Wainer dos Santos Moschetta
2021-06-29 18:06   ` Willian Rampazzo
2021-06-29 16:42 ` [PATCH v2 09/12] python: add 'make check-dev' invocation John Snow
2021-06-29 17:34   ` Wainer dos Santos Moschetta
2021-06-29 17:43     ` John Snow
2021-06-29 16:42 ` [PATCH v2 10/12] python: Update help text on 'make check', 'make develop' John Snow
2021-06-29 16:42 ` [PATCH v2 11/12] python: Update help text on 'make clean', 'make distclean' John Snow
2021-06-29 16:42 ` [PATCH v2 12/12] python: remove auto-generated pyproject.toml file 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=20210629164253.1272763-2-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.