From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Thomas Huth" <thuth@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
qemu-block@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"John Snow" <jsnow@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Max Reitz" <mreitz@redhat.com>,
"Willian Rampazzo" <willianr@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: [PATCH v7 22/31] python: add mypy to pipenv
Date: Tue, 25 May 2021 20:24:45 -0400 [thread overview]
Message-ID: <20210526002454.124728-23-jsnow@redhat.com> (raw)
In-Reply-To: <20210526002454.124728-1-jsnow@redhat.com>
0.730 appears to be about the oldest version that works with the
features we want, including nice human readable output (to make sure
iotest 297 passes), and type-parameterized Popen generics.
0.770, however, supports adding 'strict' to the config file, so require
at least 0.770.
Now that we are checking a namespace package, we need to tell mypy to
allow PEP420 namespaces, so modify the mypy config as part of the move.
mypy can now be run from the python root by typing 'mypy -p qemu'.
A note on mypy invocation: Running it as "mypy qemu/" changes the import
path detection mechanisms in mypy slightly, and it will fail. See
https://github.com/python/mypy/issues/8584 for a decent entry point with
more breadcrumbs on the various behaviors that contribute to this subtle
difference.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
---
python/Pipfile | 1 +
python/Pipfile.lock | 37 ++++++++++++++++++++++++++++++++++++-
python/setup.cfg | 1 +
3 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/python/Pipfile b/python/Pipfile
index 053f344dcbe..796c6282e17 100644
--- a/python/Pipfile
+++ b/python/Pipfile
@@ -5,6 +5,7 @@ verify_ssl = true
[dev-packages]
flake8 = ">=3.6.0"
+mypy = ">=0.770"
pylint = ">=2.8.0"
[packages]
diff --git a/python/Pipfile.lock b/python/Pipfile.lock
index 5c34019060a..626e68403f7 100644
--- a/python/Pipfile.lock
+++ b/python/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "3c842ab9c72c40d24d146349aa144e00e4dec1c358c812cfa96489411f5b3f87"
+ "sha256": "14d171b3d86759e1fdfb9e55f66be4a696b6afa8f627d6c4778f8398c6a66b98"
},
"pipfile-spec": 6,
"requires": {
@@ -84,6 +84,41 @@
],
"version": "==0.6.1"
},
+ "mypy": {
+ "hashes": [
+ "sha256:0d0a87c0e7e3a9becdfbe936c981d32e5ee0ccda3e0f07e1ef2c3d1a817cf73e",
+ "sha256:25adde9b862f8f9aac9d2d11971f226bd4c8fbaa89fb76bdadb267ef22d10064",
+ "sha256:28fb5479c494b1bab244620685e2eb3c3f988d71fd5d64cc753195e8ed53df7c",
+ "sha256:2f9b3407c58347a452fc0736861593e105139b905cca7d097e413453a1d650b4",
+ "sha256:33f159443db0829d16f0a8d83d94df3109bb6dd801975fe86bacb9bf71628e97",
+ "sha256:3f2aca7f68580dc2508289c729bd49ee929a436208d2b2b6aab15745a70a57df",
+ "sha256:499c798053cdebcaa916eef8cd733e5584b5909f789de856b482cd7d069bdad8",
+ "sha256:4eec37370483331d13514c3f55f446fc5248d6373e7029a29ecb7b7494851e7a",
+ "sha256:552a815579aa1e995f39fd05dde6cd378e191b063f031f2acfe73ce9fb7f9e56",
+ "sha256:5873888fff1c7cf5b71efbe80e0e73153fe9212fafdf8e44adfe4c20ec9f82d7",
+ "sha256:61a3d5b97955422964be6b3baf05ff2ce7f26f52c85dd88db11d5e03e146a3a6",
+ "sha256:674e822aa665b9fd75130c6c5f5ed9564a38c6cea6a6432ce47eafb68ee578c5",
+ "sha256:7ce3175801d0ae5fdfa79b4f0cfed08807af4d075b402b7e294e6aa72af9aa2a",
+ "sha256:9743c91088d396c1a5a3c9978354b61b0382b4e3c440ce83cf77994a43e8c521",
+ "sha256:9f94aac67a2045ec719ffe6111df543bac7874cee01f41928f6969756e030564",
+ "sha256:a26f8ec704e5a7423c8824d425086705e381b4f1dfdef6e3a1edab7ba174ec49",
+ "sha256:abf7e0c3cf117c44d9285cc6128856106183938c68fd4944763003decdcfeb66",
+ "sha256:b09669bcda124e83708f34a94606e01b614fa71931d356c1f1a5297ba11f110a",
+ "sha256:cd07039aa5df222037005b08fbbfd69b3ab0b0bd7a07d7906de75ae52c4e3119",
+ "sha256:d23e0ea196702d918b60c8288561e722bf437d82cb7ef2edcd98cfa38905d506",
+ "sha256:d65cc1df038ef55a99e617431f0553cd77763869eebdf9042403e16089fe746c",
+ "sha256:d7da2e1d5f558c37d6e8c1246f1aec1e7349e4913d8fb3cb289a35de573fe2eb"
+ ],
+ "index": "pypi",
+ "version": "==0.812"
+ },
+ "mypy-extensions": {
+ "hashes": [
+ "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d",
+ "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
+ ],
+ "version": "==0.4.3"
+ },
"pycodestyle": {
"hashes": [
"sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068",
diff --git a/python/setup.cfg b/python/setup.cfg
index bd88b44ad80..b485d6161d5 100644
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -31,6 +31,7 @@ exclude = __pycache__,
strict = True
python_version = 3.6
warn_unused_configs = True
+namespace_packages = True
[pylint.messages control]
# Disable the message, report, category or checker with the given id(s). You
--
2.31.1
next prev parent reply other threads:[~2021-05-26 0:51 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-26 0:24 [PATCH v7 00/31] python: create installable package John Snow
2021-05-26 0:24 ` [PATCH v7 01/31] python/console_socket: avoid one-letter variable John Snow
2021-05-26 0:24 ` [PATCH v7 02/31] python/machine: use subprocess.DEVNULL instead of open(os.path.devnull) John Snow
2021-05-26 0:24 ` [PATCH v7 03/31] python/machine: use subprocess.run instead of subprocess.Popen John Snow
2021-05-26 0:24 ` [PATCH v7 04/31] python/console_socket: Add a pylint ignore John Snow
2021-05-26 0:24 ` [PATCH v7 05/31] python/machine: Disable pylint warning for open() in _pre_launch John Snow
2021-05-26 0:24 ` [PATCH v7 06/31] python/machine: disable warning for Popen in _launch() John Snow
2021-05-26 0:24 ` [PATCH v7 07/31] python/machine: Trim line length to below 80 chars John Snow
2021-05-26 8:08 ` Vladimir Sementsov-Ogievskiy
2021-05-27 16:01 ` Cleber Rosa
2021-05-26 0:24 ` [PATCH v7 08/31] iotests/297: add --namespace-packages to mypy arguments John Snow
2021-05-26 0:24 ` [PATCH v7 09/31] python: create qemu packages John Snow
2021-05-26 8:08 ` Vladimir Sementsov-Ogievskiy
2021-05-27 16:03 ` Cleber Rosa
2021-05-26 0:24 ` [PATCH v7 10/31] python: add qemu package installer John Snow
2021-05-26 8:26 ` Vladimir Sementsov-Ogievskiy
2021-05-27 16:05 ` Cleber Rosa
2021-05-26 0:24 ` [PATCH v7 11/31] python: add VERSION file John Snow
2021-05-26 0:24 ` [PATCH v7 12/31] python: add directory structure README.rst files John Snow
2021-05-26 0:24 ` [PATCH v7 13/31] python: add MANIFEST.in John Snow
2021-05-26 8:31 ` Vladimir Sementsov-Ogievskiy
2021-05-27 16:06 ` Cleber Rosa
2021-05-26 0:24 ` [PATCH v7 14/31] python: Add pipenv support John Snow
2021-05-26 0:24 ` [PATCH v7 15/31] python: add pylint import exceptions John Snow
2021-05-26 0:24 ` [PATCH v7 16/31] python: move pylintrc into setup.cfg John Snow
2021-05-26 0:24 ` [PATCH v7 17/31] python: add pylint to pipenv John Snow
2021-05-26 9:14 ` Vladimir Sementsov-Ogievskiy
2021-05-26 18:31 ` John Snow
2021-05-27 16:11 ` Cleber Rosa
2021-05-26 0:24 ` [PATCH v7 18/31] python: move flake8 config to setup.cfg John Snow
2021-05-26 0:24 ` [PATCH v7 19/31] python: add excluded dirs to flake8 config John Snow
2021-05-26 0:24 ` [PATCH v7 20/31] python: Add flake8 to pipenv John Snow
2021-05-26 0:24 ` [PATCH v7 21/31] python: move mypy.ini into setup.cfg John Snow
2021-05-26 0:24 ` John Snow [this message]
2021-05-26 0:24 ` [PATCH v7 23/31] python: move .isort.cfg " John Snow
2021-05-26 0:24 ` [PATCH v7 24/31] python/qemu: add isort to pipenv John Snow
2021-05-26 0:24 ` [PATCH v7 25/31] python/qemu: add qemu package itself " John Snow
2021-05-26 0:24 ` [PATCH v7 26/31] python: add devel package requirements to setuptools John Snow
2021-05-26 0:24 ` [PATCH v7 27/31] python: add avocado-framework and tests John Snow
2021-05-26 0:24 ` [PATCH v7 28/31] python: add Makefile for some common tasks John Snow
2021-05-26 0:24 ` [PATCH v7 29/31] python: add .gitignore John Snow
2021-05-26 9:18 ` Vladimir Sementsov-Ogievskiy
2021-05-26 18:20 ` John Snow
2021-05-27 16:12 ` Cleber Rosa
2021-05-26 0:24 ` [PATCH v7 30/31] python: add tox support John Snow
2021-05-26 0:24 ` [PATCH v7 31/31] gitlab: add python linters to CI John Snow
2021-05-26 9:33 ` Vladimir Sementsov-Ogievskiy
2021-05-26 18:24 ` John Snow
2021-05-26 18:47 ` Vladimir Sementsov-Ogievskiy
2021-05-26 19:43 ` John Snow
2021-05-26 19:56 ` John Snow
2021-05-27 16:17 ` Cleber Rosa
2021-05-27 16:40 ` Cleber Rosa
2021-05-26 15:32 ` Alex Bennée
2021-05-26 18:21 ` John Snow
2021-05-27 17:02 ` Cleber Rosa
2021-05-27 18:29 ` 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=20210526002454.124728-23-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=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-block@nongnu.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 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).