blob: a0717742423abe259bc66c2ff5f702ee077cf8a6 [file] [log] [blame]
# 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" }