fi
check_py_version() {
- # We require python >= 3.7.
+ # We require python >= 3.8.
# NB: a True python conditional creates a non-zero return code (Failure)
- "$1" -c 'import sys; sys.exit(sys.version_info < (3,7))'
+ "$1" -c 'import sys; sys.exit(sys.version_info < (3,8))'
}
first_python=
if test -z "${PYTHON}"; then
# A bare 'python' is traditionally python 2.x, but some distros
# have it as python 3.x, so check in both places.
- for binary in python3 python python3.11 python3.10 python3.9 python3.8 python3.7; do
+ for binary in python3 python python3.11 python3.10 python3.9 python3.8; do
if has "$binary"; then
python=$(command -v "$binary")
if check_py_version "$python"; then
fi
if ! check_py_version "$python"; then
- error_exit "Cannot use '$python', Python >= 3.7 is required." \
+ error_exit "Cannot use '$python', Python >= 3.8 is required." \
"Use --python=/path/to/python to specify a supported Python." \
"Maybe try:" \
" openSUSE Leap 15.3+: zypper install python39" \
@echo "make check-minreqs:"
@echo " Run tests in the minreqs virtual environment."
@echo " These tests use the oldest dependencies."
- @echo " Requires: Python 3.7"
- @echo " Hint (Fedora): 'sudo dnf install python3.7'"
+ @echo " Requires: Python 3.8"
+ @echo " Hint (Fedora): 'sudo dnf install python3.8'"
@echo ""
@echo "make check-tox:"
@echo " Run tests against multiple python versions."
@echo " These tests use the newest dependencies."
- @echo " Requires: Python 3.7 - 3.11, and tox."
+ @echo " Requires: Python 3.8 - 3.11, and tox."
@echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'"
@echo " The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
@echo " arguments to tox".
min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate
$(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minreqs.txt
@echo "VENV $(QEMU_MINVENV_DIR)"
- @python3.7 -m venv $(QEMU_MINVENV_DIR)
+ @python3.8 -m venv $(QEMU_MINVENV_DIR)
@( \
echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
. $(QEMU_MINVENV_DIR)/bin/activate; \
try:
# First preference: Python 3.8+ stdlib
from importlib.metadata import ( # type: ignore
+ EntryPoint,
PackageNotFoundError,
distribution,
)
logger.debug("%s", str(exc))
# Second preference: Commonly available PyPI backport
from importlib_metadata import ( # type: ignore
+ EntryPoint,
PackageNotFoundError,
distribution,
)
def _generator() -> Iterator[str]:
for package in packages:
try:
- entry_points = distribution(package).entry_points
+ entry_points: Iterator[EntryPoint] = \
+ iter(distribution(package).entry_points)
except PackageNotFoundError:
continue
Natural Language :: English
Operating System :: OS Independent
Programming Language :: Python :: 3 :: Only
- Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Typing :: Typed
[options]
-python_requires = >= 3.7
+python_requires = >= 3.8
packages =
qemu.qmp
qemu.machine
[mypy]
strict = True
-python_version = 3.7
+python_version = 3.8
warn_unused_configs = True
namespace_packages = True
warn_unused_ignores = False
# of python available on your system to run this test.
[tox:tox]
-envlist = py37, py38, py39, py310, py311
+envlist = py38, py39, py310, py311
skip_missing_interpreters = true
[testenv]
# This file lists the ***oldest possible dependencies*** needed to run
-# "make check" successfully under ***Python 3.7***. It is used primarily
+# "make check" successfully under ***Python 3.8***. It is used primarily
# by GitLab CI to ensure that our stated minimum versions in setup.cfg
# are truthful and regularly validated.
#
[mypy]
strict = True
disallow_untyped_calls = False
-python_version = 3.7
+python_version = 3.8
[mypy-qapi.schema]
disallow_untyped_defs = False