Files
qemu-qemu-1/pythondeps.toml
John Snow 4e55bb4be5 python: add setuptools and wheel dependencies
Add setuptools and wheel packages to ease installation burden when
internet access is allowed. When internet access is not allowed, this
functions as a configure-time check ensuring that our environment has
the necessary minimum viable versions for these packaging tools
available.

For detailed information on Python ecosystem versions, please see
https://gitlab.com/jsnow/repology-dashboard#results-overview-as-of-2026-02-16

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260218213416.674483-21-jsnow@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
2026-02-24 13:11:29 -05:00

54 lines
2.4 KiB
TOML

# This file describes Python package requirements to be
# installed in the pyvenv Python virtual environment.
#
# Packages are placed in groups, which are installed using
# the ensuregroup subcommand of python/scripts/mkvenv.py.
# Each group forms a TOML section and each entry in the
# section is a TOML key-value list describing a package.
# All fields are optional; valid fields are:
#
# - accepted: accepted versions when using a system package
# - installed: fixed version to install in the virtual environment
# if a system package is not found; if not specified,
# defaults to the same as "accepted" or, if also missing,
# to the newest version available on PyPI.
# - canary: if specified, use this program name to present more
# precise error diagnostics to the user. For example,
# 'sphinx-build' can be used as a bellwether for the
# presence of 'sphinx' in the system.
[meson]
# The install key should match the version in python/wheels/
meson = { accepted = ">=1.5.0", installed = "1.10.0", canary = "meson" }
pycotap = { accepted = ">=1.1.0", installed = "1.3.1" }
[meson-rust]
# The install key should match the version in python/wheels/
meson = { accepted = ">=1.10.0", installed = "1.10.0", canary = "meson" }
[docs]
# Please keep the installed versions in sync with docs/requirements.txt
sphinx = { accepted = ">=3.4.3", installed = "6.2.1", canary = "sphinx-build" }
sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.2.2" }
# This test group is for dependencies required to run various tooling
# and tests that should always be installed at configure time. It should
# only include dependencies that can be guaranteed via configure from
# system packages, or python packages we vendor.
[tooling]
"qemu.qmp" = { accepted = ">=0.0.5", installed = "0.0.5" }
"qemu" = { path = "python/" }
# NB: The following dependencies should be a little bit more modern than
# the versions listed here, but we are still using Debian 11 for several
# GitLab CI tests, so we are further restricted.
"setuptools" = { accepted = ">=44.1.1" }
"wheel" = { accepted = ">=0.34.2" }
# pip should be guaranteed by mkvenv, this is merely a sanity check for
# which version we are counting on being present.
"pip" = { accepted = ">=20.3.4" }
# This test group is for functional tests, and can include dependencies
# fetched from PyPI.
[functests]
pygdbmi = { accepted = ">=0.11.0.0", installed = "0.11.0.0" }