summary refs log tree commit diff stats
path: root/python
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2021-06-29 17:43:10 -0400
committerJohn Snow <jsnow@redhat.com>2021-06-30 21:54:04 -0400
commit7f179082638efe920748b5243423bdcaed3d42ef (patch)
tree2e9cac62ce88b8062a1818e7b90dd7ba84c6e582 /python
parent00376d1345475fb3613a0d58584f161cd870ea90 (diff)
downloadfocaccia-qemu-7f179082638efe920748b5243423bdcaed3d42ef.tar.gz
focaccia-qemu-7f179082638efe920748b5243423bdcaed3d42ef.zip
python: expose typing information via PEP 561
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>
Message-id: 20210629214323.1329806-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'python')
-rw-r--r--python/qemu/machine/py.typed0
-rw-r--r--python/qemu/qmp/py.typed0
-rw-r--r--python/qemu/utils/py.typed0
-rw-r--r--python/setup.cfg4
4 files changed, 4 insertions, 0 deletions
diff --git a/python/qemu/machine/py.typed b/python/qemu/machine/py.typed
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/python/qemu/machine/py.typed
diff --git a/python/qemu/qmp/py.typed b/python/qemu/qmp/py.typed
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/python/qemu/qmp/py.typed
diff --git a/python/qemu/utils/py.typed b/python/qemu/utils/py.typed
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/python/qemu/utils/py.typed
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 =