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>
This commit is contained in:
John Snow 2021-05-27 17:17:10 -04:00
parent a4dd49d405
commit dbe75f5566
5 changed files with 27 additions and 9 deletions

View file

@ -4,10 +4,7 @@ url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
flake8 = ">=3.6.0"
isort = ">=5.1.2"
mypy = ">=0.770"
pylint = ">=2.8.0"
qemu = {editable = true, extras = ["devel"], path = "."}
[packages]
qemu = {editable = true,path = "."}