qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 01/11] python: expose typing information via PEP 561


From: Wainer dos Santos Moschetta
Subject: Re: [PATCH 01/11] python: expose typing information via PEP 561
Date: Mon, 28 Jun 2021 17:11:51 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1

Hi,

On 6/25/21 12:45 PM, John Snow wrote:
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>
---
  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

Just double-checking that you did not add a single py.typed on the root "python" dir, so that all modules inherit from it, because this is a namespace package. Right?

Anyway,

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>


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 =




reply via email to

[Prev in Thread] Current Thread [Next in Thread]