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>
This commit is contained in:
John Snow 2021-06-29 17:43:10 -04:00
parent 00376d1345
commit 7f17908263
4 changed files with 4 additions and 0 deletions

View File

0
python/qemu/qmp/py.typed Normal file
View File

View File

View File

@ -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 =