aboutsummaryrefslogtreecommitdiff
path: root/python/setup.cfg
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2021-05-27 17:17:10 -0400
committerJohn Snow <jsnow@redhat.com>2021-06-01 16:21:21 -0400
commitdbe75f55669a4e2295b0dae161b8f796e6dbaded (patch)
treeec12ac59b9c4fdd77ad02dacf4d9ab7b905b6db4 /python/setup.cfg
parenta4dd49d40536b7ad70ab9c2e25a7810773ca32bc (diff)
downloadqemu-dbe75f55669a4e2295b0dae161b8f796e6dbaded.zip
qemu-dbe75f55669a4e2295b0dae161b8f796e6dbaded.tar.gz
qemu-dbe75f55669a4e2295b0dae161b8f796e6dbaded.tar.bz2
python: add devel package requirements to setuptools
setuptools doesn't have a formal understanding of development requires, but it has an optional feataures section. Fine; add a "devel" feature and add the requirements to it. To avoid duplication, we can modify pipenv to install qemu[devel] instead. This enables us to run invocations like "pip install -e .[devel]" and test the package on bleeding-edge packages beyond those specified in Pipfile.lock. Importantly, this also allows us to install the qemu development packages in a non-networked mode: `pip3 install --no-index -e .[devel]` will now fail if the proper development dependencies are not already met. This can be useful for automated build scripts where fetching network packages may be undesirable. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Message-id: 20210527211715.394144-27-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'python/setup.cfg')
-rw-r--r--python/setup.cfg9
1 files changed, 9 insertions, 0 deletions
diff --git a/python/setup.cfg b/python/setup.cfg
index 3f07bd2..39dc135 100644
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -22,6 +22,15 @@ packages =
qemu.machine
qemu.utils
+[options.extras_require]
+# Run `pipenv lock --dev` when changing these requirements.
+devel =
+ flake8 >= 3.6.0
+ isort >= 5.1.2
+ mypy >= 0.770
+ pylint >= 2.8.0
+
+
[flake8]
extend-ignore = E722 # Prefer pylint's bare-except checks to flake8's
exclude = __pycache__,