| 1 | # This file describes Python package requirements to be |
| 2 | # installed in the pyvenv Python virtual environment. |
| 3 | # |
| 4 | # Packages are placed in groups, which are installed using |
| 5 | # the ensuregroup subcommand of python/scripts/mkvenv.py. |
| 6 | # Each group forms a TOML section and each entry in the |
| 7 | # section is a TOML key-value list describing a package. |
| 8 | # All fields are optional; valid fields are: |
| 9 | # |
| 10 | # - accepted: accepted versions when using a system package |
| 11 | # - installed: fixed version to install in the virtual environment |
| 12 | # if a system package is not found; if not specified, |
| 13 | # defaults to the same as "accepted" or, if also missing, |
| 14 | # to the newest version available on PyPI. |
| 15 | # - canary: if specified, use this program name to present more |
| 16 | # precise error diagnostics to the user. For example, |
| 17 | # 'sphinx-build' can be used as a bellwether for the |
| 18 | # presence of 'sphinx' in the system. |
| 19 | |
| 20 | [meson] |
| 21 | # The install key should match the version in python/wheels/ |
| 22 | meson = { accepted = ">=1.5.0", installed = "1.12.0", canary = "meson" } |
| 23 | pycotap = { accepted = ">=1.1.0", installed = "1.3.1" } |
| 24 | |
| 25 | [meson-rust] |
| 26 | # The install key should match the version in python/wheels/ |
| 27 | meson = { accepted = ">=1.12.0", installed = "1.12.0", canary = "meson" } |
| 28 | |
| 29 | [docs] |
| 30 | # Please keep the installed versions in sync with docs/requirements.txt |
| 31 | sphinx = { accepted = ">=3.4.3", installed = "6.2.1", canary = "sphinx-build" } |
| 32 | sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.2.2" } |
| 33 | |
| 34 | # This test group is for dependencies required to run various tooling |
| 35 | # and tests that should always be installed at configure time. It should |
| 36 | # only include dependencies that can be guaranteed via configure from |
| 37 | # system packages, or python packages we vendor. |
| 38 | [tooling] |
| 39 | "qemu.qmp" = { accepted = ">=0.0.5", installed = "0.0.6" } |
| 40 | "qemu" = { path = "python/" } |
| 41 | # NB: The following dependencies should be a little bit more modern than |
| 42 | # the versions listed here, but we are still using Debian 11 for several |
| 43 | # GitLab CI tests, so we are further restricted. |
| 44 | "setuptools" = { accepted = ">=44.1.1" } |
| 45 | "wheel" = { accepted = ">=0.34.2" } |
| 46 | # pip should be guaranteed by mkvenv, this is merely a sanity check for |
| 47 | # which version we are counting on being present. |
| 48 | "pip" = { accepted = ">=20.3.4" } |
| 49 | |
| 50 | # This test group is for functional tests, and can include dependencies |
| 51 | # fetched from PyPI. |
| 52 | [functests] |
| 53 | pygdbmi = { accepted = ">=0.11.0.0", installed = "0.11.0.0" } |