aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2025-11-01 14:12:03 +0000
committerMatthias Andree <mandree@FreeBSD.org>2025-11-01 17:23:22 +0000
commit1403bb7765965eccd644a73cb136a155e46f7ea8 (patch)
tree1814f9b3f066a008c4f82299c4619d3439a5a13f
parentb9de19c42879a5ce3282bbe54f92812fe07554ae (diff)
*: Revise USES=python:... version range constraints
and strip all lower bounds of 3.9 or 3.10 because they are implied now. python:3.9-X -> python:-X python:3.9+ -> python python:3.10-X -> python:-X python:3.10+ -> python (options such as ,build preserved)
-rw-r--r--Mk/Uses/python.mk28
-rw-r--r--Mk/bsd.default-versions.mk2
-rw-r--r--archivers/py-bitshuffle/Makefile2
-rw-r--r--archivers/py-blosc2/Makefile2
-rw-r--r--archivers/py-zlib-ng/Makefile2
-rw-r--r--astro/py-astral/Makefile2
-rw-r--r--astro/py-metpy/Makefile2
-rw-r--r--astro/weather/Makefile2
-rw-r--r--audio/py-pylast/Makefile2
-rw-r--r--comms/chirp/Makefile2
-rw-r--r--converters/bibtexconv/Makefile2
-rw-r--r--databases/kuzu/Makefile2
-rw-r--r--databases/py-aesqlapius/Makefile2
-rw-r--r--databases/py-marshmallow-sqlalchemy/Makefile2
-rw-r--r--databases/py-pyarrow/Makefile2
-rw-r--r--deskutils/py-khard/Makefile2
-rw-r--r--deskutils/py-py3status/Makefile2
-rw-r--r--deskutils/py-trash-cli/Makefile2
-rw-r--r--devel/bpython/Makefile2
-rw-r--r--devel/ipython/Makefile2
-rw-r--r--devel/oci-cli/Makefile2
-rw-r--r--devel/py-all-repos/Makefile2
-rw-r--r--devel/py-anyio/Makefile2
-rw-r--r--devel/py-black/Makefile2
-rw-r--r--devel/py-blinker/Makefile2
-rw-r--r--devel/py-botocore/Makefile2
-rw-r--r--devel/py-check-wheel-contents/Makefile2
-rw-r--r--devel/py-cliff/Makefile2
-rw-r--r--devel/py-cloudpathlib/Makefile2
-rw-r--r--devel/py-crick/Makefile2
-rw-r--r--devel/py-crosshair-tool/Makefile2
-rw-r--r--devel/py-curtsies/Makefile2
-rw-r--r--devel/py-cwcwidth/Makefile2
-rw-r--r--devel/py-dask-expr/Makefile2
-rw-r--r--devel/py-dask-histogram/Makefile2
-rw-r--r--devel/py-dask/Makefile2
-rw-r--r--devel/py-deptry/Makefile2
-rw-r--r--devel/py-dirty-equals/Makefile2
-rw-r--r--devel/py-distributed/Makefile2
-rw-r--r--devel/py-dj51-django-rq/Makefile2
-rw-r--r--devel/py-dj51-strawberry-graphql/Makefile2
-rw-r--r--devel/py-dj52-django-rq/Makefile2
-rw-r--r--devel/py-dj52-strawberry-graphql/Makefile2
-rw-r--r--devel/py-e3-core/Makefile2
-rw-r--r--devel/py-etils/Makefile2
-rw-r--r--devel/py-flake8-bugbear/Makefile2
-rw-r--r--devel/py-flake8-pyi/Makefile2
-rw-r--r--devel/py-flynt/Makefile2
-rw-r--r--devel/py-glance-store/Makefile2
-rw-r--r--devel/py-humanize/Makefile2
-rw-r--r--devel/py-hypothesis/Makefile2
-rw-r--r--devel/py-jupyter-events/Makefile2
-rw-r--r--devel/py-keystonemiddleware/Makefile2
-rw-r--r--devel/py-libtmux/Makefile2
-rw-r--r--devel/py-logbook/Makefile2
-rw-r--r--devel/py-marshmallow/Makefile2
-rw-r--r--devel/py-more-itertools/Makefile2
-rw-r--r--devel/py-msgspec/Makefile2
-rw-r--r--devel/py-nbclient/Makefile2
-rw-r--r--devel/py-objprint/Makefile2
-rw-r--r--devel/py-oci/Makefile2
-rw-r--r--devel/py-openstacksdk/Makefile2
-rw-r--r--devel/py-os-brick/Makefile2
-rw-r--r--devel/py-oslo.concurrency/Makefile2
-rw-r--r--devel/py-oslo.config/Makefile2
-rw-r--r--devel/py-oslo.context/Makefile2
-rw-r--r--devel/py-oslo.db/Makefile2
-rw-r--r--devel/py-oslo.i18n/Makefile2
-rw-r--r--devel/py-oslo.log/Makefile2
-rw-r--r--devel/py-oslo.messaging/Makefile2
-rw-r--r--devel/py-oslo.metrics/Makefile2
-rw-r--r--devel/py-oslo.middleware/Makefile2
-rw-r--r--devel/py-oslo.policy/Makefile2
-rw-r--r--devel/py-oslo.privsep/Makefile2
-rw-r--r--devel/py-oslo.reports/Makefile2
-rw-r--r--devel/py-oslo.rootwrap/Makefile2
-rw-r--r--devel/py-oslo.serialization/Makefile2
-rw-r--r--devel/py-oslo.service/Makefile2
-rw-r--r--devel/py-oslo.utils/Makefile2
-rw-r--r--devel/py-oslo.versionedobjects/Makefile2
-rw-r--r--devel/py-pdm-build-locked/Makefile2
-rw-r--r--devel/py-pint-pandas/Makefile2
-rw-r--r--devel/py-pint/Makefile2
-rw-r--r--devel/py-poetry-types/Makefile2
-rw-r--r--devel/py-prospector/Makefile2
-rw-r--r--devel/py-psygnal/Makefile2
-rw-r--r--devel/py-pycadf/Makefile2
-rw-r--r--devel/py-pycrdt/Makefile2
-rw-r--r--devel/py-pydantic-core/Makefile2
-rw-r--r--devel/py-pydantic-yaml/Makefile2
-rw-r--r--devel/py-pygobject/Makefile2
-rw-r--r--devel/py-pylint-django/Makefile2
-rw-r--r--devel/py-pyperf/Makefile2
-rw-r--r--devel/py-pyproject-api/Makefile2
-rw-r--r--devel/py-pyproject-fmt/Makefile2
-rw-r--r--devel/py-pyral/Makefile2
-rw-r--r--devel/py-pytest-benchmark/Makefile2
-rw-r--r--devel/py-pytest-jupyter/Makefile2
-rw-r--r--devel/py-pytest-plus/Makefile2
-rw-r--r--devel/py-python-gitlab/Makefile2
-rw-r--r--devel/py-recordclass/Makefile2
-rw-r--r--devel/py-referencing/Makefile2
-rw-r--r--devel/py-rpds-py/Makefile2
-rw-r--r--devel/py-ruamel.yaml/Makefile2
-rw-r--r--devel/py-scikit-base/Makefile2
-rw-r--r--devel/py-setuptools-rust/Makefile2
-rw-r--r--devel/py-shandy-sqlfmt/Makefile2
-rw-r--r--devel/py-sparse/Makefile2
-rw-r--r--devel/py-sqlfluff/Makefile2
-rw-r--r--devel/py-srsly/Makefile2
-rw-r--r--devel/py-strawberry-graphql/Makefile2
-rw-r--r--devel/py-taskflow/Makefile2
-rw-r--r--devel/py-thinc/Makefile2
-rw-r--r--devel/py-threadpoolctl/Makefile2
-rw-r--r--devel/py-tox-toml-fmt/Makefile2
-rw-r--r--devel/py-tree-sitter-bash/Makefile2
-rw-r--r--devel/py-tree-sitter-css/Makefile2
-rw-r--r--devel/py-tree-sitter-go/Makefile2
-rw-r--r--devel/py-tree-sitter-javascript/Makefile2
-rw-r--r--devel/py-tree-sitter-regex/Makefile2
-rw-r--r--devel/py-tree-sitter-yaml/Makefile2
-rw-r--r--devel/py-validate-pyproject-schema-store/Makefile2
-rw-r--r--devel/py-wsme/Makefile2
-rw-r--r--devel/pytype/Makefile2
-rw-r--r--devel/root/Makefile4
-rw-r--r--devel/shiboken2/Makefile2
-rw-r--r--devel/valgrind/Makefile2
-rw-r--r--dns/py-dns-lexicon/Makefile2
-rw-r--r--dns/py-dnspython/Makefile2
-rw-r--r--editors/retext/Makefile2
-rw-r--r--filesystems/py-fsspec-xrootd/Makefile2
-rw-r--r--graphics/py-altair/Makefile2
-rw-r--r--graphics/py-dj52-sorl-thumbnail/Makefile2
-rw-r--r--graphics/py-imageio/Makefile2
-rw-r--r--graphics/py-pillow-heif/Makefile2
-rw-r--r--lang/py-hy/Makefile2
-rw-r--r--mail/mailman3/Makefile2
-rw-r--r--math/py-evalidate/Makefile2
-rw-r--r--math/py-formulaic/Makefile2
-rw-r--r--math/py-iminuit/Makefile2
-rw-r--r--math/py-jax/Makefile2
-rw-r--r--math/py-ndindex/Makefile2
-rw-r--r--math/py-numexpr/Makefile2
-rw-r--r--math/py-numpy/Makefile2
-rw-r--r--math/py-pywavelets/Makefile2
-rw-r--r--math/py-reals/Makefile2
-rw-r--r--misc/py-aider-chat/Makefile2
-rw-r--r--misc/py-colored/Makefile2
-rw-r--r--misc/py-mixpanel/Makefile2
-rw-r--r--misc/py-oterm/Makefile2
-rw-r--r--misc/py-posthog/Makefile2
-rw-r--r--net-mgmt/netbox/Makefile2
-rw-r--r--net-mgmt/peering-manager/Makefile2
-rw-r--r--net-mgmt/py-pysmi/Makefile2
-rw-r--r--net/py-aiohappyeyeballs/Makefile2
-rw-r--r--net/py-python-heatclient/Makefile2
-rw-r--r--net/py-python-neutronclient/Makefile2
-rw-r--r--net/py-python-novaclient/Makefile2
-rw-r--r--net/py-python-openstackclient/Makefile2
-rw-r--r--ports-mgmt/reprise/Makefile2
-rw-r--r--science/py-dwave-hybrid/Makefile2
-rw-r--r--science/py-dwave-inspector/Makefile2
-rw-r--r--science/py-dwavebinarycsp/Makefile2
-rw-r--r--science/py-nibabel/Makefile2
-rw-r--r--science/py-pygeodesy/Makefile2
-rw-r--r--science/py-scipy/Makefile2
-rw-r--r--security/archlinux-keyring/Makefile2
-rw-r--r--security/py-fido2/Makefile2
-rw-r--r--security/py-gpg/Makefile2
-rw-r--r--security/py-httpx-auth/Makefile2
-rw-r--r--security/py-netbox-secrets/Makefile2
-rw-r--r--security/py-omemo-dr/Makefile2
-rw-r--r--security/py-truststore/Makefile2
-rw-r--r--security/sssd2/Makefile2
-rw-r--r--security/tpm2-pkcs11/Makefile2
-rw-r--r--sysutils/ansible/Makefile2
-rw-r--r--sysutils/py-ansible-compat/Makefile2
-rw-r--r--sysutils/py-ansible-core/Makefile2
-rw-r--r--sysutils/py-ansible-core219/Makefile2
-rw-r--r--sysutils/py-ansible-lint/Makefile2
-rw-r--r--sysutils/py-hcloud/Makefile2
-rw-r--r--sysutils/py-tmuxp/Makefile2
-rw-r--r--textproc/py-autopep8/Makefile2
-rw-r--r--textproc/py-chameleon/Makefile2
-rw-r--r--textproc/py-cssselect2/Makefile2
-rw-r--r--textproc/py-elastic-transport/Makefile2
-rw-r--r--textproc/py-ftfy/Makefile2
-rw-r--r--textproc/py-graphemeu/Makefile2
-rw-r--r--textproc/py-langcodes/Makefile2
-rw-r--r--textproc/py-markdown-it-py/Makefile2
-rw-r--r--textproc/py-markups/Makefile2
-rw-r--r--textproc/py-mdit-py-plugins/Makefile2
-rw-r--r--textproc/py-mkdocstrings-crystal/Makefile2
-rw-r--r--textproc/py-myst-parser/Makefile2
-rw-r--r--textproc/py-ocrmypdf/Makefile2
-rw-r--r--textproc/py-pycountry/Makefile2
-rw-r--r--textproc/py-pydata-sphinx-theme/Makefile2
-rw-r--r--textproc/py-python-ulid/Makefile2
-rw-r--r--textproc/py-python-ulid2/Makefile2
-rw-r--r--textproc/py-pytkdocs/Makefile2
-rw-r--r--textproc/py-sphinx-book-theme/Makefile2
-rw-r--r--textproc/py-sphinx-design/Makefile2
-rw-r--r--textproc/py-sphinxcontrib-towncrier/Makefile2
-rw-r--r--textproc/py-tiktoken/Makefile2
-rw-r--r--textproc/py-tomli-w/Makefile2
-rw-r--r--textproc/py-typogrify/Makefile2
-rw-r--r--www/deno/Makefile2
-rw-r--r--www/domoticz-devel/Makefile2
-rw-r--r--www/domoticz/Makefile2
-rw-r--r--www/onlyoffice-documentserver/Makefile2
-rw-r--r--www/py-aiohttp/Makefile2
-rw-r--r--www/py-aioquic/Makefile2
-rw-r--r--www/py-dj-database-url/Makefile2
-rw-r--r--www/py-dj51-channels/Makefile2
-rw-r--r--www/py-dj51-django-auth-ldap/Makefile2
-rw-r--r--www/py-dj51-django-choices-field/Makefile2
-rw-r--r--www/py-dj51-django-cors-headers/Makefile2
-rw-r--r--www/py-dj51-django-debug-toolbar/Makefile2
-rw-r--r--www/py-dj51-django-filter/Makefile2
-rw-r--r--www/py-dj51-django-htmx/Makefile2
-rw-r--r--www/py-dj51-django-js-asset/Makefile2
-rw-r--r--www/py-dj51-django-mptt/Makefile2
-rw-r--r--www/py-dj51-django-prometheus/Makefile2
-rw-r--r--www/py-dj51-django-redis/Makefile2
-rw-r--r--www/py-dj51-django-rich/Makefile2
-rw-r--r--www/py-dj51-django-tables2/Makefile2
-rw-r--r--www/py-dj51-django-taggit/Makefile2
-rw-r--r--www/py-dj51-django-timezone-field/Makefile2
-rw-r--r--www/py-dj51-djangorestframework/Makefile2
-rw-r--r--www/py-dj51-drf-spectacular-sidecar/Makefile2
-rw-r--r--www/py-dj51-drf-spectacular/Makefile2
-rw-r--r--www/py-dj51-social-auth-app-django/Makefile2
-rw-r--r--www/py-dj51-strawberry-graphql-django/Makefile2
-rw-r--r--www/py-dj52-channels/Makefile2
-rw-r--r--www/py-dj52-django-auth-ldap/Makefile2
-rw-r--r--www/py-dj52-django-choices-field/Makefile2
-rw-r--r--www/py-dj52-django-cors-headers/Makefile2
-rw-r--r--www/py-dj52-django-debug-toolbar/Makefile2
-rw-r--r--www/py-dj52-django-filter/Makefile2
-rw-r--r--www/py-dj52-django-htmx/Makefile2
-rw-r--r--www/py-dj52-django-js-asset/Makefile2
-rw-r--r--www/py-dj52-django-mptt/Makefile2
-rw-r--r--www/py-dj52-django-prometheus/Makefile2
-rw-r--r--www/py-dj52-django-redis/Makefile2
-rw-r--r--www/py-dj52-django-rich/Makefile2
-rw-r--r--www/py-dj52-django-storages/Makefile2
-rw-r--r--www/py-dj52-django-stubs-ext/Makefile2
-rw-r--r--www/py-dj52-django-tables2/Makefile2
-rw-r--r--www/py-dj52-django-taggit/Makefile2
-rw-r--r--www/py-dj52-django-timezone-field/Makefile2
-rw-r--r--www/py-dj52-djangorestframework/Makefile2
-rw-r--r--www/py-dj52-drf-spectacular-sidecar/Makefile2
-rw-r--r--www/py-dj52-drf-spectacular/Makefile2
-rw-r--r--www/py-dj52-social-auth-app-django/Makefile2
-rw-r--r--www/py-dj52-strawberry-graphql-django/Makefile2
-rw-r--r--www/py-django-appconf/Makefile2
-rw-r--r--www/py-django-cors-headers/Makefile2
-rw-r--r--www/py-django-debug-toolbar/Makefile2
-rw-r--r--www/py-django-js-asset/Makefile2
-rw-r--r--www/py-django-mptt/Makefile2
-rw-r--r--www/py-django-picklefield/Makefile2
-rw-r--r--www/py-django-stubs-ext/Makefile2
-rw-r--r--www/py-django-tables2/Makefile2
-rw-r--r--www/py-django-tasks/Makefile2
-rw-r--r--www/py-django-unfold/Makefile2
-rw-r--r--www/py-django51/Makefile2
-rw-r--r--www/py-django52/Makefile2
-rw-r--r--www/py-draftjs-exporter/Makefile2
-rw-r--r--www/py-httpx-ws/Makefile2
-rw-r--r--www/py-planet-auth/Makefile2
-rw-r--r--www/py-planet/Makefile2
-rw-r--r--www/py-postorius/Makefile2
-rw-r--r--www/py-pylsqpack/Makefile2
-rw-r--r--www/py-quart/Makefile2
-rw-r--r--www/py-quilt3/Makefile2
-rw-r--r--www/py-social-auth-app-django/Makefile2
-rw-r--r--www/py-strawberry-graphql-django/Makefile2
-rw-r--r--www/py-wagtail-localize/Makefile2
-rw-r--r--www/py-werkzeug/Makefile2
-rw-r--r--www/qutebrowser/Makefile2
-rw-r--r--www/unit-python/Makefile2
-rw-r--r--x11-fonts/py-afdko/Makefile2
-rw-r--r--x11-fonts/py-gfsubsets/Makefile2
-rw-r--r--x11-fonts/py-vfblib/Makefile2
-rw-r--r--x11/autorandr/Makefile2
285 files changed, 299 insertions, 299 deletions
diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk
index 3ceacc7c115d..3000e4e5a118 100644
--- a/Mk/Uses/python.mk
+++ b/Mk/Uses/python.mk
@@ -17,19 +17,19 @@
# Examples:
#
# USES=python:2.7 # Supports Python 2.7 Only
-# USES=python:3.9+ # Supports Python 3.9 or later
-# USES=python:3.9-3.10 # Supports Python 3.9 to 3.10
-# USES=python:-3.9 # Supports Python up to 3.9
-# USES=python # Supports 3.9+
+# USES=python:3.11+ # Supports Python 3.11 or later
+# USES=python:3.11-3.12 # Supports Python 3.11 to 3.12
+# USES=python:-3.11 # Supports Python up to 3.11
+# USES=python # Supports 3.10+
#
# NOTE: <version-spec> should be as specific as possible, matching the versions
# upstream declares support for, without being incorrect. In particular,
-# USES=python *without* a <version-spec> means 3.9+,
+# USES=python *without* a <version-spec> means 3.11+,
# including unreleased versions, which is probably incorrect.
#
# Not specifying a <version-spec> should only be used when a more specific
# <version-spec> cannot be specified due to syntax limitations, for
-# example: 2.7,3.9-3.10, but even in this case, X.Y+ (2.7+), or -X.Y (-3.9)
+# example: 2.7,3.11-3.12, but even in this case, X.Y+ (2.7+), or -X.Y (-3.11)
# is preferred and likely more correct.
#
# patch Python is needed at patch time. Adds dependency to PATCH_DEPENDS.
@@ -50,7 +50,7 @@
# Exported variables:
#
# PYTHON_VERSION - The chosen Python interpreter including the version,
-# e.g. python2.7, python3.9, etc.
+# e.g. python2.7, python3.11, etc.
#
# Variables, which can be set by the port:
#
@@ -227,10 +227,10 @@
# PYTHON_PORTSDIR - The port directory of the chosen Python interpreter
#
# PYTHON_REL - The release number of the chosen Python interpreter
-# without dots, e.g. 20706, 30901, ...
+# without dots, e.g. 20706, 31114, ...
#
# PYTHON_SUFFIX - The major-minor release number of the chosen Python
-# interpreter without dots, e.g. 27, 38, ...
+# interpreter without dots, e.g. 27, 310, ...
# Used for prefixes and suffixes.
#
# PYTHON_BASESUFFIX - PYTHON_SUFFIX without the threaded ABI flag.
@@ -252,7 +252,7 @@
# interpreter, e.g. 2, 3, ...
#
# PYTHON_VER - The major-minor release version of the chosen Python
-# interpreter, e.g. 2.7, 3.9, ...
+# interpreter, e.g. 2.7, 3.12, ...
#
# PYTHON_BASEVER - PYTHON_VER without the threaded ABI flag.
#
@@ -341,7 +341,7 @@ ZEROREGS_UNSAFE= yes
# What Python version and what Python interpreters are currently supported?
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-_PYTHON_VERSIONS= 3.11 3.12 3.10 3.9 2.7 # preferred first
+_PYTHON_VERSIONS= 3.11 3.12 3.10 2.7 # preferred first
_PYTHON_PORTBRANCH= 3.11 # ${_PYTHON_VERSIONS:[1]}
_PYTHON_BASECMD= ${LOCALBASE}/bin/python
_PYTHON_RELPORTDIR= lang/python
@@ -444,13 +444,13 @@ DEV_WARNING+= "lang/python27 reached End of Life and will be removed somewhere
. elif ${_PYTHON_ARGS} == 2
DEV_ERROR+= "USES=python:2 is no longer supported, use USES=python:2.7"
. elif ${_PYTHON_ARGS} == 3
-DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.9+ or an appropriate version range"
+DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.11+ or an appropriate version range"
. endif # ${_PYTHON_ARGS} == 2.7
_PYTHON_VERSION:= ${PYTHON_DEFAULT}
. if empty(_PYTHON_ARGS)
-_PYTHON_ARGS= 3.9+
+_PYTHON_ARGS= 3.10+
. endif
# Validate Python version whether it meets the version restriction.
@@ -552,7 +552,7 @@ PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX}
# To avoid having dependencies with @ and empty flavor:
# _PYTHON_VERSION is either set by (first that matches):
# - If using Python flavors, from the current Python flavor
-# - If using a version restriction (USES=python:3.9+), from the first
+# - If using a version restriction (USES=python:3.11+), from the first
# acceptable default Python version.
# - From PYTHON_DEFAULT
PY_FLAVOR= py${_PYTHON_VERSION:S/.//}
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index e3b2d4878cd1..a1cc119107d9 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -140,7 +140,7 @@ PYCRYPTOGRAPHY_DEFAULT?= rust
. else
PYCRYPTOGRAPHY_DEFAULT?= legacy
. endif
-# Possible values: 3.9, 3.10, 3.11, 3.12
+# Possible values: 3.10, 3.11, 3.12
PYTHON_DEFAULT?= 3.11
# Possible values: 2.7
PYTHON2_DEFAULT?= 2.7
diff --git a/archivers/py-bitshuffle/Makefile b/archivers/py-bitshuffle/Makefile
index f9d538f95045..d979023a2f64 100644
--- a/archivers/py-bitshuffle/Makefile
+++ b/archivers/py-bitshuffle/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}h5py>=2.4.0:science/py-h5py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}numpy>=1.24,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0.7:devel/py-setuptools@${PY_FLAVOR}
-USES= pkgconfig python:3.9+
+USES= pkgconfig python
USE_PYTHON= autoplist concurrent cython pep517
CFLAGS+= -Wno-error=int-conversion
diff --git a/archivers/py-blosc2/Makefile b/archivers/py-blosc2/Makefile
index 0b6a508861ac..98a702d999bf 100644
--- a/archivers/py-blosc2/Makefile
+++ b/archivers/py-blosc2/Makefile
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}py-cpuinfo>=0:sysutils/py-py-cpuinfo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
-USES= cmake:indirect pkgconfig python:3.10+
+USES= cmake:indirect pkgconfig python
USE_PYTHON= autoplist concurrent cython3 pep517
MAKE_ENV= USE_SYSTEM_BLOSC2=1
diff --git a/archivers/py-zlib-ng/Makefile b/archivers/py-zlib-ng/Makefile
index 402019eae818..54a5414b0a81 100644
--- a/archivers/py-zlib-ng/Makefile
+++ b/archivers/py-zlib-ng/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=63:devel/py-setuptools@${PY_FL
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
-USES= cmake:indirect python:3.10+
+USES= cmake:indirect python
USE_PYTHON= autoplist pep517
OPTIONS_DEFINE= SYSTEM_ZLIB_NG
diff --git a/astro/py-astral/Makefile b/astro/py-astral/Makefile
index cf80f7a7d6c5..0528a66aa6e2 100644
--- a/astro/py-astral/Makefile
+++ b/astro/py-astral/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/astro/py-metpy/Makefile b/astro/py-metpy/Makefile
index 98032307310c..225218661478 100644
--- a/astro/py-metpy/Makefile
+++ b/astro/py-metpy/Makefile
@@ -26,7 +26,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.5.0:math/py-matplotlib@${PY_FL
${PYTHON_PKGNAMEPREFIX}traitlets>=5.0.5:devel/py-traitlets@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xarray>=0.21.0:devel/py-xarray@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/astro/weather/Makefile b/astro/weather/Makefile
index 133f325badbf..fa64dda3362c 100644
--- a/astro/weather/Makefile
+++ b/astro/weather/Makefile
@@ -11,7 +11,7 @@ WWW= http://fungi.yuggoth.org/weather/
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= python:3.9+ shebangfix tar:xz
+USES= python shebangfix tar:xz
NO_ARCH= yes
NO_BUILD= yes
diff --git a/audio/py-pylast/Makefile b/audio/py-pylast/Makefile
index 334429b8b94c..7cbd0bac5912 100644
--- a/audio/py-pylast/Makefile
+++ b/audio/py-pylast/Makefile
@@ -19,7 +19,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flaky>=0:devel/py-flaky@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-random-order>=0:devel/py-pytest-random-order@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/comms/chirp/Makefile b/comms/chirp/Makefile
index caba1212bef4..4fca0057c0f1 100644
--- a/comms/chirp/Makefile
+++ b/comms/chirp/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyserial>0:comms/py-pyserial@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yattag>0:devel/py-yattag@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}suds>0:net/py-suds@${PY_FLAVOR}
-USES= desktop-file-utils gnome python:3.10+ shebangfix
+USES= desktop-file-utils gnome python shebangfix
SHEBANG_GLOB= *.py
USE_GITHUB= yes
diff --git a/converters/bibtexconv/Makefile b/converters/bibtexconv/Makefile
index fc98dcb8751d..15b8ea70a8af 100644
--- a/converters/bibtexconv/Makefile
+++ b/converters/bibtexconv/Makefile
@@ -14,7 +14,7 @@ LIB_DEPENDS= libcurl.so:ftp/curl
RUN_DEPENDS= pdfinfo:graphics/poppler-utils \
zip:archivers/zip
-USES= bison cmake python:3.9+ shebangfix ssl tar:xz
+USES= bison cmake python shebangfix ssl tar:xz
SHEBANG_FILES= src/get-author-url src/ietf2bibtex
diff --git a/databases/kuzu/Makefile b/databases/kuzu/Makefile
index b3c1ae1598db..3b6fb736cfa4 100644
--- a/databases/kuzu/Makefile
+++ b/databases/kuzu/Makefile
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
DEPRECATED= Upstream repository archived on Oct 11, 2025
-USES= cmake ninja:build python:3.9+,build
+USES= cmake ninja:build python:build
USE_GITHUB= yes
GH_ACCOUNT= kuzudb
diff --git a/databases/py-aesqlapius/Makefile b/databases/py-aesqlapius/Makefile
index 8988d9a5dd3e..c4c6d11f6e35 100644
--- a/databases/py-aesqlapius/Makefile
+++ b/databases/py-aesqlapius/Makefile
@@ -17,7 +17,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-datadir>=0:devel/py-pytest-datadir@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist distutils
NO_ARCH= yes
diff --git a/databases/py-marshmallow-sqlalchemy/Makefile b/databases/py-marshmallow-sqlalchemy/Makefile
index 45aaf41a44e0..9036082e3599 100644
--- a/databases/py-marshmallow-sqlalchemy/Makefile
+++ b/databases/py-marshmallow-sqlalchemy/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}marshmallow>=3.18.0:devel/py-marshmallow@${P
${PYTHON_PKGNAMEPREFIX}sqlalchemy20>=1.4.40<3.0:databases/py-sqlalchemy20@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-lazy-fixture>=0.6.2:devel/py-pytest-lazy-fixture@${PY_FLAVOR} \
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/databases/py-pyarrow/Makefile b/databases/py-pyarrow/Makefile
index b1d040aa9437..b055cf40eed2 100644
--- a/databases/py-pyarrow/Makefile
+++ b/databases/py-pyarrow/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= arrow>=${PORTVERSION}<${PORTVERSION}_99:databases/arrow \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
LIB_DEPENDS= libarrow.so:databases/arrow
-USES= cmake:indirect python:3.9+ shebangfix
+USES= cmake:indirect python shebangfix
USE_PYTHON= autoplist concurrent cython3 pep517
SHEBANG_FILES= cmake_modules/aws_sdk_cpp_generate_variables.sh
diff --git a/deskutils/py-khard/Makefile b/deskutils/py-khard/Makefile
index 2b125121e6f2..3115001cdea2 100644
--- a/deskutils/py-khard/Makefile
+++ b/deskutils/py-khard/Makefile
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}configobj>=5.0.6:devel/py-configobj@${PY_FLA
${PYTHON_PKGNAMEPREFIX}vdirsyncer>=0:deskutils/py-vdirsyncer@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}vobject>=0.9.5:deskutils/py-vobject@${PY_FLAVOR}
-USES= gmake python:3.9-3.11
+USES= gmake python:-3.11
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/deskutils/py-py3status/Makefile b/deskutils/py-py3status/Makefile
index 91ce08385b17..9cbb76a6e04a 100644
--- a/deskutils/py-py3status/Makefile
+++ b/deskutils/py-py3status/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=1.26.1:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/deskutils/py-trash-cli/Makefile b/deskutils/py-trash-cli/Makefile
index cbe914f8f109..16bf1616dcf4 100644
--- a/deskutils/py-trash-cli/Makefile
+++ b/deskutils/py-trash-cli/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${P
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psutil>=6.0.0:sysutils/py-psutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.16.0:devel/py-six@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
TRASH_CMDS= trash-empty trash-list trash-restore trash-put trash
diff --git a/devel/bpython/Makefile b/devel/bpython/Makefile
index 2d1327e6d18b..45a96f95e976 100644
--- a/devel/bpython/Makefile
+++ b/devel/bpython/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}curtsies>=0.4.0:devel/py-curtsies@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}xdg>=0:devel/py-xdg@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/ipython/Makefile b/devel/ipython/Makefile
index a2000ea23c1c..199dbd6d2f44 100644
--- a/devel/ipython/Makefile
+++ b/devel/ipython/Makefile
@@ -27,7 +27,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}decorator>=0:devel/py-decorator@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}traitlets>=5:devel/py-traitlets@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib-inline>0:math/py-matplotlib-inline@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= py*-ipython5
diff --git a/devel/oci-cli/Makefile b/devel/oci-cli/Makefile
index 7a9a770e6209..b10b9e8a00b7 100644
--- a/devel/oci-cli/Makefile
+++ b/devel/oci-cli/Makefile
@@ -31,7 +31,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}arrow>=1.0.0:devel/py-arrow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.15.0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}terminaltables>=3.1.0:textproc/py-terminaltables@${PY_FLAVOR}
-USES= python:3.9-3.12
+USES= python:-3.12
USE_GITHUB= yes
GH_ACCOUNT= oracle
USE_PYTHON= autoplist concurrent cryptography pep517
diff --git a/devel/py-all-repos/Makefile b/devel/py-all-repos/Makefile
index a90a440f63f0..c84c016dfb32 100644
--- a/devel/py-all-repos/Makefile
+++ b/devel/py-all-repos/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= git:devel/git \
${PYTHON_PKGNAMEPREFIX}identify>=0:devel/py-identify@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=20.9:devel/py-packaging@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-anyio/Makefile b/devel/py-anyio/Makefile
index a2ddfe1abcab..cfe1235d16c6 100644
--- a/devel/py-anyio/Makefile
+++ b/devel/py-anyio/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PY_EXCEPTIONGROUP} \
${PYTHON_PKGNAMEPREFIX}idna>=2.8:dns/py-idna@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sniffio>=1.1:devel/py-sniffio@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-black/Makefile b/devel/py-black/Makefile
index b7a6e7923a4e..2b7cdc0bcc05 100644
--- a/devel/py-black/Makefile
+++ b/devel/py-black/Makefile
@@ -29,7 +29,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=5.3:devel/py-coverage@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.0.2,1:devel/py-pytest-xdist@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tokenize-rt>=3.2.0:devel/py-tokenize-rt@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-blinker/Makefile b/devel/py-blinker/Makefile
index bdf6dda68294..8297ba73dfbc 100644
--- a/devel/py-blinker/Makefile
+++ b/devel/py-blinker/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=0<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-botocore/Makefile b/devel/py-botocore/Makefile
index ae5e87078187..58612eb638b2 100644
--- a/devel/py-botocore/Makefile
+++ b/devel/py-botocore/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jmespath>=0.7.1<2.0.0:devel/py-jmespath@${PY
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}awscrt>=0.27.6:devel/py-awscrt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jsonschema>=0:devel/py-jsonschema@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-check-wheel-contents/Makefile b/devel/py-check-wheel-contents/Makefile
index 15f63d6f625f..9af743b4b362 100644
--- a/devel/py-check-wheel-contents/Makefile
+++ b/devel/py-check-wheel-contents/Makefile
@@ -20,7 +20,7 @@ xRUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=18.1:devel/py-attrs@${PY_FLAVOR} \
${PY_TOMLI} \
${PYTHON_PKGNAMEPREFIX}wheel-filename>=1.1<2:devel/py-wheel-filename@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-cliff/Makefile b/devel/py-cliff/Makefile
index d480d2a2b228..3532b4a6702f 100644
--- a/devel/py-cliff/Makefile
+++ b/devel/py-cliff/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}autopage>=0.4.0:devel/py-autopage@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}pyyaml>=3.12:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=2.0.1:devel/py-stevedore@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-cloudpathlib/Makefile b/devel/py-cloudpathlib/Makefile
index 4a936568ed39..9b479385571c 100644
--- a/devel/py-cloudpathlib/Makefile
+++ b/devel/py-cloudpathlib/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4.0:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-crick/Makefile b/devel/py-crick/Makefile
index 32c3e86a8794..d64712b3f4c5 100644
--- a/devel/py-crick/Makefile
+++ b/devel/py-crick/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}versioneer>=0:devel/py-versioneer@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent cython pep517
post-patch:
diff --git a/devel/py-crosshair-tool/Makefile b/devel/py-crosshair-tool/Makefile
index 7ce48c9dc0ec..0a641559a702 100644
--- a/devel/py-crosshair-tool/Makefile
+++ b/devel/py-crosshair-tool/Makefile
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=4.0.0:devel/py-importlib
${PYTHON_PKGNAMEPREFIX}typing-inspect>=0.7.1:devel/py-typing-inspect@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}z3-solver>=4.13.0.0:math/py-z3-solver@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-curtsies/Makefile b/devel/py-curtsies/Makefile
index f0969d44f111..35960c0517aa 100644
--- a/devel/py-curtsies/Makefile
+++ b/devel/py-curtsies/Makefile
@@ -17,7 +17,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}blessed>=1.5:devel/py-blessed@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cwcwidth>=0:devel/py-cwcwidth@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyte>=0:devel/py-pyte@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-cwcwidth/Makefile b/devel/py-cwcwidth/Makefile
index 24235d492fa6..baf5f55a59c8 100644
--- a/devel/py-cwcwidth/Makefile
+++ b/devel/py-cwcwidth/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=43:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent cython3 pep517
post-install:
diff --git a/devel/py-dask-expr/Makefile b/devel/py-dask-expr/Makefile
index e21ef75ce3f9..d408e8ad1161 100644
--- a/devel/py-dask-expr/Makefile
+++ b/devel/py-dask-expr/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.6:devel/py-setuptools@${PY_
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dask>=2025.1.0:devel/py-dask@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-dask-histogram/Makefile b/devel/py-dask-histogram/Makefile
index 31421d788cae..dbd5ecde5c13 100644
--- a/devel/py-dask-histogram/Makefile
+++ b/devel/py-dask-histogram/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boost-histogram>=1.3.2:misc/py-boost-histogr
${PYTHON_PKGNAMEPREFIX}dask>=2021.03.0:devel/py-dask@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dask-awkward>=2025:devel/py-dask-awkward@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-dask/Makefile b/devel/py-dask/Makefile
index 076f602c83aa..dcc28589ebaa 100644
--- a/devel/py-dask/Makefile
+++ b/devel/py-dask/Makefile
@@ -28,7 +28,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pandas>=0,1:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-timeout>=0:devel/py-pytest-timeout@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>=0:devel/py-pytest-xdist@${PY_FLAVOR}
-USES= cpe python:3.10+
+USES= cpe python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-deptry/Makefile b/devel/py-deptry/Makefile
index 77968595ddf0..c98e9db42984 100644
--- a/devel/py-deptry/Makefile
+++ b/devel/py-deptry/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=8.0.0<9:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requirements-parser>=0.11.0<1:devel/py-requirements-parser@${PY_FLAVOR} \
${PY_TOMLI}
-USES= cargo python:3.9+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
CARGO_BUILD= no
diff --git a/devel/py-dirty-equals/Makefile b/devel/py-dirty-equals/Makefile
index a58fea06e9a5..8b18a6b129f1 100644
--- a/devel/py-dirty-equals/Makefile
+++ b/devel/py-dirty-equals/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-distributed/Makefile b/devel/py-distributed/Makefile
index db89f75e8d22..26f4216e4d5d 100644
--- a/devel/py-distributed/Makefile
+++ b/devel/py-distributed/Makefile
@@ -31,7 +31,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=8.0:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}urllib3>=1.26.5,1:net/py-urllib3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}zict>=3.0.0:devel/py-zict@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-dj51-django-rq/Makefile b/devel/py-dj51-django-rq/Makefile
index c29277aa7a83..7cf9645e4aba 100644
--- a/devel/py-dj51-django-rq/Makefile
+++ b/devel/py-dj51-django-rq/Makefile
@@ -25,7 +25,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj51-django-redis>0:www/py-dj51-django-redi
${PYTHON_PKGNAMEPREFIX}rq-scheduler>=0:devel/py-rq-scheduler@${PY_FLAVOR} \
redis-server:databases/redis
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-dj51-strawberry-graphql/Makefile b/devel/py-dj51-strawberry-graphql/Makefile
index 22c3c58e5f96..f0aef6b447dc 100644
--- a/devel/py-dj51-strawberry-graphql/Makefile
+++ b/devel/py-dj51-strawberry-graphql/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2.0<3.4.0:devel/py-graphql-c
${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.7.0:devel/py-python-dateutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/devel/py-dj52-django-rq/Makefile b/devel/py-dj52-django-rq/Makefile
index 6649ae59d80b..7bec18b3b5a7 100644
--- a/devel/py-dj52-django-rq/Makefile
+++ b/devel/py-dj52-django-rq/Makefile
@@ -21,7 +21,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-redis>=0:www/py-dj52-django-red
${PYTHON_PKGNAMEPREFIX}rq-scheduler>=0:devel/py-rq-scheduler@${PY_FLAVOR} \
redis-server:databases/redis
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-dj52-strawberry-graphql/Makefile b/devel/py-dj52-strawberry-graphql/Makefile
index f6dc35032c3c..0fe718dba230 100644
--- a/devel/py-dj52-strawberry-graphql/Makefile
+++ b/devel/py-dj52-strawberry-graphql/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2.0<3.4.0:devel/py-graphql-c
${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.7.0:devel/py-python-dateutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/devel/py-e3-core/Makefile b/devel/py-e3-core/Makefile
index 26a036131fc5..ebe6e89d98e6 100644
--- a/devel/py-e3-core/Makefile
+++ b/devel/py-e3-core/Makefile
@@ -37,7 +37,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ansi2html>0:textproc/py-ansi2html@${PY_FLAV
git>0:devel/git \
rsync>0:net/rsync
-USES= pytest python:3.9+
+USES= pytest python
USE_GITHUB= yes
GH_ACCOUNT= AdaCore
USE_PYTHON= autoplist concurrent pep517
diff --git a/devel/py-etils/Makefile b/devel/py-etils/Makefile
index 96b7bd432fc7..a04565f747bf 100644
--- a/devel/py-etils/Makefile
+++ b/devel/py-etils/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.8<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-flake8-bugbear/Makefile b/devel/py-flake8-bugbear/Makefile
index 0e2e330bdcce..ebb24e21e20f 100644
--- a/devel/py-flake8-bugbear/Makefile
+++ b/devel/py-flake8-bugbear/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2:devel/py-setuptools@${PY_
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=22.2.0:devel/py-attrs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}flake8>=7.2.0:devel/py-flake8@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-flake8-pyi/Makefile b/devel/py-flake8-pyi/Makefile
index c9d2b820dc10..929e070f358d 100644
--- a/devel/py-flake8-pyi/Makefile
+++ b/devel/py-flake8-pyi/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVO
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flake8>=6.0.0<8.0.0:devel/py-flake8@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyflakes>=2.1.1:devel/py-pyflakes@${PY_FLAVOR} \
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-flynt/Makefile b/devel/py-flynt/Makefile
index 2af33ebf1181..fb6ee6f49908 100644
--- a/devel/py-flynt/Makefile
+++ b/devel/py-flynt/Makefile
@@ -12,7 +12,7 @@ LICENSE= MIT
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>0:devel/py-hatch-vcs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_GITHUB= yes
USE_PYTHON= autoplist pep517
diff --git a/devel/py-glance-store/Makefile b/devel/py-glance-store/Makefile
index 125f0ddc3656..48a10e059a2e 100644
--- a/devel/py-glance-store/Makefile
+++ b/devel/py-glance-store/Makefile
@@ -28,7 +28,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}eventlet>=0.18.2:net/py-eventlet@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}requests>=2.14.2:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR}
-USES= python:3.9+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-humanize/Makefile b/devel/py-humanize/Makefile
index 92dc680c5479..2f28945c3da4 100644
--- a/devel/py-humanize/Makefile
+++ b/devel/py-humanize/Makefile
@@ -14,7 +14,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}hatchling>=1.8.0:devel/py-hatchling@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}freezegun>=0:devel/py-freezegun@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= pep517 autoplist pytest
NO_ARCH= yes
diff --git a/devel/py-hypothesis/Makefile b/devel/py-hypothesis/Makefile
index 800e821ff89e..cbbab186b3e9 100644
--- a/devel/py-hypothesis/Makefile
+++ b/devel/py-hypothesis/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=23.2.0:devel/py-attrs@${PY_FLAVOR} \
${PY_EXCEPTIONGROUP} \
${PYTHON_PKGNAMEPREFIX}sortedcontainers>=2.1.0<3.0.0:devel/py-sortedcontainers@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-jupyter-events/Makefile b/devel/py-jupyter-events/Makefile
index bec62ce3a72d..17894157ea8c 100644
--- a/devel/py-jupyter-events/Makefile
+++ b/devel/py-jupyter-events/Makefile
@@ -34,7 +34,7 @@ RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}fqdn>=0:www/py-fqdn@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}uri-template>=0:net/py-uri-template@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webcolors>=24.6.0:graphics/py-webcolors@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-keystonemiddleware/Makefile b/devel/py-keystonemiddleware/Makefile
index 08134d1facad..136367125d7f 100644
--- a/devel/py-keystonemiddleware/Makefile
+++ b/devel/py-keystonemiddleware/Makefile
@@ -30,7 +30,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}keystoneauth1>=3.12.0:devel/py-keystoneauth1
${PYTHON_PKGNAMEPREFIX}requests>=2.14.2:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webob>=1.7.1:www/py-webob@${PY_FLAVOR}
-USES= cpe python:3.10+
+USES= cpe python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-libtmux/Makefile b/devel/py-libtmux/Makefile
index c1211fe1a8df..7439044c8f70 100644
--- a/devel/py-libtmux/Makefile
+++ b/devel/py-libtmux/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= tmux:sysutils/tmux
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-logbook/Makefile b/devel/py-logbook/Makefile
index bd824b611a36..f1e533b9d18b 100644
--- a/devel/py-logbook/Makefile
+++ b/devel/py-logbook/Makefile
@@ -12,7 +12,7 @@ WWW= https://logbook.readthedocs.org/
LICENSE= BSD3CLAUSE
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils autoplist cython
.include <bsd.port.mk>
diff --git a/devel/py-marshmallow/Makefile b/devel/py-marshmallow/Makefile
index ef234a9cfe30..35c83703d563 100644
--- a/devel/py-marshmallow/Makefile
+++ b/devel/py-marshmallow/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=0<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=17.0:devel/py-packaging@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-more-itertools/Makefile b/devel/py-more-itertools/Makefile
index bb33671d44a4..547bcc56a231 100644
--- a/devel/py-more-itertools/Makefile
+++ b/devel/py-more-itertools/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 unittest
NO_ARCH= yes
diff --git a/devel/py-msgspec/Makefile b/devel/py-msgspec/Makefile
index 11f14d9ba330..75a1bad6371a 100644
--- a/devel/py-msgspec/Makefile
+++ b/devel/py-msgspec/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
OPTIONS_DEFINE= TOML YAML
diff --git a/devel/py-nbclient/Makefile b/devel/py-nbclient/Makefile
index 4df7895a88ce..45e801945e8c 100644
--- a/devel/py-nbclient/Makefile
+++ b/devel/py-nbclient/Makefile
@@ -17,7 +17,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jupyter-client>=6.1.12:devel/py-jupyter-clie
${PYTHON_PKGNAMEPREFIX}nbformat>=5.1:devel/py-nbformat@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}traitlets>=5.4:devel/py-traitlets@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-objprint/Makefile b/devel/py-objprint/Makefile
index 7453d769bf6f..ae190763b888 100644
--- a/devel/py-objprint/Makefile
+++ b/devel/py-objprint/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oci/Makefile b/devel/py-oci/Makefile
index 831ecf871096..e7780981c403 100644
--- a/devel/py-oci/Makefile
+++ b/devel/py-oci/Makefile
@@ -28,7 +28,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytz>=2016.10:devel/py-pytz@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rich>=13.9.4:textproc/py-rich@${PY_FLAVOR}
-USES= python:3.9-3.12
+USES= python:-3.12
USE_PYTHON= autoplist cryptography pep517
NO_ARCH= yes
diff --git a/devel/py-openstacksdk/Makefile b/devel/py-openstacksdk/Makefile
index 9724ed9b89e3..568dd317ad26 100644
--- a/devel/py-openstacksdk/Makefile
+++ b/devel/py-openstacksdk/Makefile
@@ -29,7 +29,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}decorator>=4.4.1:devel/py-decorator@${PY_FLA
${PYTHON_PKGNAMEPREFIX}requestsexceptions>=1.2.0:devel/py-requestsexceptions@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.12.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent cryptography pep517
NO_ARCH= yes
diff --git a/devel/py-os-brick/Makefile b/devel/py-os-brick/Makefile
index b126f21e75b8..fe7f2b8fc4c8 100644
--- a/devel/py-os-brick/Makefile
+++ b/devel/py-os-brick/Makefile
@@ -30,7 +30,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}os-win>=5.7.0:devel/py-os-win@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.25.1:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tenacity>=6.3.1:devel/py-tenacity@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.concurrency/Makefile b/devel/py-oslo.concurrency/Makefile
index 107dc2a56354..53ad0b907947 100644
--- a/devel/py-oslo.concurrency/Makefile
+++ b/devel/py-oslo.concurrency/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fasteners>=0.7.0:devel/py-fasteners@${PY_FLA
${PYTHON_PKGNAMEPREFIX}oslo.i18n>=3.15.3:devel/py-oslo.i18n@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.33.0:devel/py-oslo.utils@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.config/Makefile b/devel/py-oslo.config/Makefile
index 2cb8ab7509b8..051b0f44fb45 100644
--- a/devel/py-oslo.config/Makefile
+++ b/devel/py-oslo.config/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}debtcollector>=1.2.0:devel/py-debtcollector@
${PYTHON_PKGNAMEPREFIX}rfc3986>=1.2.0:www/py-rfc3986@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.context/Makefile b/devel/py-oslo.context/Makefile
index 69f5e3c59fca..e9eb897db25a 100644
--- a/devel/py-oslo.context/Makefile
+++ b/devel/py-oslo.context/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}debtcollector>=1.2.0:devel/py-debtcollector@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.db/Makefile b/devel/py-oslo.db/Makefile
index 0a61322848d4..7c9843c49e75 100644
--- a/devel/py-oslo.db/Makefile
+++ b/devel/py-oslo.db/Makefile
@@ -26,7 +26,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}alembic>=0.9.6:databases/py-alembic@${PY_FLA
${PYTHON_PKGNAMEPREFIX}testresources>=0:devel/py-testresources@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}testscenarios>=0:devel/py-testscenarios@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.i18n/Makefile b/devel/py-oslo.i18n/Makefile
index c1ae0affcde7..71f4c0469ee3 100644
--- a/devel/py-oslo.i18n/Makefile
+++ b/devel/py-oslo.i18n/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.log/Makefile b/devel/py-oslo.log/Makefile
index 28c7c16be9f6..e08071aef3cb 100644
--- a/devel/py-oslo.log/Makefile
+++ b/devel/py-oslo.log/Makefile
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}oslo.config>=5.2.0:devel/py-oslo.config@${PY
${PYTHON_PKGNAMEPREFIX}pre-commit>=2.6.0:devel/py-pre-commit@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.7.0:devel/py-python-dateutil@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.messaging/Makefile b/devel/py-oslo.messaging/Makefile
index 1c33dacf37d5..566cea80b4e4 100644
--- a/devel/py-oslo.messaging/Makefile
+++ b/devel/py-oslo.messaging/Makefile
@@ -33,7 +33,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}amqp>=2.5.2:net/py-amqp@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webob>=1.7.1:www/py-webob@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.metrics/Makefile b/devel/py-oslo.metrics/Makefile
index 05c89898a07e..eb87edf6ce53 100644
--- a/devel/py-oslo.metrics/Makefile
+++ b/devel/py-oslo.metrics/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}oslo.config>=6.9.0:devel/py-oslo.config@${PY
${PYTHON_PKGNAMEPREFIX}pbr>=3.1.1:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.6.0:net-mgmt/py-prometheus-client@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.middleware/Makefile b/devel/py-oslo.middleware/Makefile
index 253cb9f646c8..22cbc15fe183 100644
--- a/devel/py-oslo.middleware/Makefile
+++ b/devel/py-oslo.middleware/Makefile
@@ -26,7 +26,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bcrypt>=3.1.3:security/py-bcrypt@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webob>=1.8.0:www/py-webob@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.policy/Makefile b/devel/py-oslo.policy/Makefile
index 086353f9ac07..4efd155c8c11 100644
--- a/devel/py-oslo.policy/Makefile
+++ b/devel/py-oslo.policy/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}oslo.config>=6.0.0:devel/py-oslo.config@${PY
${PYTHON_PKGNAMEPREFIX}requests>=2.14.2:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.privsep/Makefile b/devel/py-oslo.privsep/Makefile
index 6fcb6ae96e09..fb0029f6f48f 100644
--- a/devel/py-oslo.privsep/Makefile
+++ b/devel/py-oslo.privsep/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.14.0:devel/py-cffi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.log>=5.0.2:devel/py-oslo.log@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.33.0:devel/py-oslo.utils@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.reports/Makefile b/devel/py-oslo.reports/Makefile
index 781d01ed5a42..cc324b09cd05 100644
--- a/devel/py-oslo.reports/Makefile
+++ b/devel/py-oslo.reports/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.33.0:devel/py-oslo.utils@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psutil>=3.2.2:sysutils/py-psutil@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.rootwrap/Makefile b/devel/py-oslo.rootwrap/Makefile
index 9d67ce407d24..659b1e943851 100644
--- a/devel/py-oslo.rootwrap/Makefile
+++ b/devel/py-oslo.rootwrap/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.serialization/Makefile b/devel/py-oslo.serialization/Makefile
index dba58a35adc3..82790460f255 100644
--- a/devel/py-oslo.serialization/Makefile
+++ b/devel/py-oslo.serialization/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0.5.2:devel/py-msgpack@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tzdata>=2022.4:devel/py-tzdata@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.service/Makefile b/devel/py-oslo.service/Makefile
index cc88cebfb46b..368e26a359b8 100644
--- a/devel/py-oslo.service/Makefile
+++ b/devel/py-oslo.service/Makefile
@@ -29,7 +29,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}debtcollector>=1.2.0:devel/py-debtcollector@
${PYTHON_PKGNAMEPREFIX}webob>=1.7.1:www/py-webob@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yappi>=1.0:devel/py-yappi@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.utils/Makefile b/devel/py-oslo.utils/Makefile
index 05039bb5e966..273c74e1a3b0 100644
--- a/devel/py-oslo.utils/Makefile
+++ b/devel/py-oslo.utils/Makefile
@@ -25,7 +25,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}debtcollector>=1.2.0:devel/py-debtcollector@
${PYTHON_PKGNAMEPREFIX}pyyaml>=3.13:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tzdata>=2022.4:devel/py-tzdata@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-oslo.versionedobjects/Makefile b/devel/py-oslo.versionedobjects/Makefile
index 24138df081c7..96e4ca59e0df 100644
--- a/devel/py-oslo.versionedobjects/Makefile
+++ b/devel/py-oslo.versionedobjects/Makefile
@@ -27,7 +27,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}oslo.utils>=4.7.0:devel/py-oslo.utils@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webob>=1.7.1:www/py-webob@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pdm-build-locked/Makefile b/devel/py-pdm-build-locked/Makefile
index f1722156e44d..db4329b8d145 100644
--- a/devel/py-pdm-build-locked/Makefile
+++ b/devel/py-pdm-build-locked/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>=0:devel/py-pdm-backend@${PY_FLAVOR}
RUN_DEPENDS= ${PY_TOMLI}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pint-pandas/Makefile b/devel/py-pint-pandas/Makefile
index 681325ce64a3..290db7844e85 100644
--- a/devel/py-pint-pandas/Makefile
+++ b/devel/py-pint-pandas/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FL
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pandas>=1.5,1:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pint>=0.21:devel/py-pint@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pint/Makefile b/devel/py-pint/Makefile
index 28924c085513..85490cbf968a 100644
--- a/devel/py-pint/Makefile
+++ b/devel/py-pint/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FL
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-poetry-types/Makefile b/devel/py-poetry-types/Makefile
index 3d304d1e86c5..0adb9ee256c2 100644
--- a/devel/py-poetry-types/Makefile
+++ b/devel/py-poetry-types/Makefile
@@ -17,7 +17,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=24.2:devel/py-packaging@${PY_FLAV
${PYTHON_PKGNAMEPREFIX}poetry>=2.0<3:devel/py-poetry@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tomlkit>=0.13.2:textproc/py-tomlkit@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-prospector/Makefile b/devel/py-prospector/Makefile
index b151ae9388ce..ce857f36e1d5 100644
--- a/devel/py-prospector/Makefile
+++ b/devel/py-prospector/Makefile
@@ -27,7 +27,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dodgy>=0.2.1<0.3.0:devel/py-dodgy@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}toml>=0.10.2<0.11.0:textproc/py-toml@${PY_FLAVOR} \
pylint${PYTHON_PKGNAMESUFFIX}>=3.0:devel/pylint
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-psygnal/Makefile b/devel/py-psygnal/Makefile
index 4972851ab426..fe0e520eccde 100644
--- a/devel/py-psygnal/Makefile
+++ b/devel/py-psygnal/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hatchling>=1.8.0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pycadf/Makefile b/devel/py-pycadf/Makefile
index bb65af4aa20b..b3b665d0b815 100644
--- a/devel/py-pycadf/Makefile
+++ b/devel/py-pycadf/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}oslo.config>=5.2.0:devel/py-oslo.config@${PY
${PYTHON_PKGNAMEPREFIX}oslo.serialization>=2.18.0:devel/py-oslo.serialization@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pycrdt/Makefile b/devel/py-pycrdt/Makefile
index e85414fd69d7..ea2350692fc8 100644
--- a/devel/py-pycrdt/Makefile
+++ b/devel/py-pycrdt/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.8.2<2:devel/py-maturin@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=4.4.0<5.0.0:devel/py-anyio@${PY_FLAVOR}
-USES= cargo python:3.10+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
CARGO_BUILD= no
diff --git a/devel/py-pydantic-core/Makefile b/devel/py-pydantic-core/Makefile
index 1c10e85e49bb..96d5e35e0a52 100644
--- a/devel/py-pydantic-core/Makefile
+++ b/devel/py-pydantic-core/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1<2:devel/py-maturin@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.6.0:devel/py-typing-extensions@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.6.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= cargo python:3.9+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
BINARY_ALIAS= python3=${PYTHON_CMD}
diff --git a/devel/py-pydantic-yaml/Makefile b/devel/py-pydantic-yaml/Makefile
index 8ed7690a5c4f..d7f958a748ed 100644
--- a/devel/py-pydantic-yaml/Makefile
+++ b/devel/py-pydantic-yaml/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0.0:devel/py-pydantic2@${PY_FLA
${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.17.0<0.19.0:devel/py-ruamel.yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pygobject/Makefile b/devel/py-pygobject/Makefile
index 357ddaf496f6..7ac838223d7b 100644
--- a/devel/py-pygobject/Makefile
+++ b/devel/py-pygobject/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>=1.16:graphics/py-cairo@${PY_FLAVOR}
LIB_DEPENDS= libffi.so:devel/libffi
-USES= gnome pkgconfig python:3.9+
+USES= gnome pkgconfig python
BINARY_ALIAS= python3=${PYTHON_CMD}
PORTSCOUT= limitw:1,even
diff --git a/devel/py-pylint-django/Makefile b/devel/py-pylint-django/Makefile
index 78b66753ae53..291826d09dd2 100644
--- a/devel/py-pylint-django/Makefile
+++ b/devel/py-pylint-django/Makefile
@@ -14,7 +14,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1:devel/py-poetry-core@${PY_F
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pylint-plugin-utils>=0.8:devel/py-pylint-plugin-utils@${PY_FLAVOR} \
pylint${PYTHON_PKGNAMESUFFIX}>=3.0<4:devel/pylint@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pyperf/Makefile b/devel/py-pyperf/Makefile
index f4daf1b1b514..1ff1b9f8891a 100644
--- a/devel/py-pyperf/Makefile
+++ b/devel/py-pyperf/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FL
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psutil>=5.9.0:sysutils/py-psutil@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 unittest
NO_ARCH= yes
diff --git a/devel/py-pyproject-api/Makefile b/devel/py-pyproject-api/Makefile
index 785fccd3cfb3..2af07cf48816 100644
--- a/devel/py-pyproject-api/Makefile
+++ b/devel/py-pyproject-api/Makefile
@@ -23,7 +23,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}covdefaults>=2.3:devel/py-covdefaults@${PY_
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-pyproject-fmt/Makefile b/devel/py-pyproject-fmt/Makefile
index f8b24136e439..cf43791014ae 100644
--- a/devel/py-pyproject-fmt/Makefile
+++ b/devel/py-pyproject-fmt/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.8.4:devel/py-maturin@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}toml-fmt-common>=1.0.1:devel/py-toml-fmt-common@${PY_FLAVOR}
-USES= cargo python:3.10+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
CARGO_BUILD= no
diff --git a/devel/py-pyral/Makefile b/devel/py-pyral/Makefile
index 5732f483d3cf..bbf28e5a9aad 100644
--- a/devel/py-pyral/Makefile
+++ b/devel/py-pyral/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=2.28.1:www/py-requests@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pytest-benchmark/Makefile b/devel/py-pytest-benchmark/Makefile
index c7ba6c544bc6..2bd5738b4a52 100644
--- a/devel/py-pytest-benchmark/Makefile
+++ b/devel/py-pytest-benchmark/Makefile
@@ -22,7 +22,7 @@ TEST_DEPENDS= git:devel/git \
${PYTHON_PKGNAMEPREFIX}freezegun>=0:devel/py-freezegun@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>=0,1:devel/py-pytest-xdist@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-pytest-jupyter/Makefile b/devel/py-pytest-jupyter/Makefile
index 3fb6bfe1fcfd..9a632b8cfb22 100644
--- a/devel/py-pytest-jupyter/Makefile
+++ b/devel/py-pytest-jupyter/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=1.10.0:devel/py-hatchling@${PY_
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jupyter-core>=5.7:devel/py-jupyter-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest>=7.0,1:devel/py-pytest@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-pytest-plus/Makefile b/devel/py-pytest-plus/Makefile
index 505d10d1b99c..7a06cfb626da 100644
--- a/devel/py-pytest-plus/Makefile
+++ b/devel/py-pytest-plus/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=7.4.2:devel/py-pytest@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517 pytest
TEST_ENV= LC_ALL=C.UTF-8 PYTHONPATH=${WRKSRC}/src TMPDIR=${WRKDIR}/
diff --git a/devel/py-python-gitlab/Makefile b/devel/py-python-gitlab/Makefile
index d4eb9e54e8de..a949ae9bc587 100644
--- a/devel/py-python-gitlab/Makefile
+++ b/devel/py-python-gitlab/Makefile
@@ -20,7 +20,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-console-scripts>0:devel/py-pytest-co
${PYTHON_PKGNAMEPREFIX}responses>0:devel/py-responses@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}trio>0:net/py-trio@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
TEST_ARGS= tests/unit
diff --git a/devel/py-recordclass/Makefile b/devel/py-recordclass/Makefile
index 0e9e56666bd0..c055521f9810 100644
--- a/devel/py-recordclass/Makefile
+++ b/devel/py-recordclass/Makefile
@@ -11,7 +11,7 @@ WWW= https://github.com/intellimath/recordclass
LICENSE= MIT
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils
.if ! defined(WITH_DEBUG)
diff --git a/devel/py-referencing/Makefile b/devel/py-referencing/Makefile
index 9fe71ac4cbe7..0818397e6861 100644
--- a/devel/py-referencing/Makefile
+++ b/devel/py-referencing/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVO
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=22.2.0:devel/py-attrs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rpds-py>=0.7.0:devel/py-rpds-py@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-rpds-py/Makefile b/devel/py-rpds-py/Makefile
index e200b2689f53..ab4aedb0769c 100644
--- a/devel/py-rpds-py/Makefile
+++ b/devel/py-rpds-py/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.9<2.0:devel/py-maturin@${PY_FLAVOR}
-USES= cargo python:3.10+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
CARGO_BUILD= no
diff --git a/devel/py-ruamel.yaml/Makefile b/devel/py-ruamel.yaml/Makefile
index f0441d27e8f2..c647252585ab 100644
--- a/devel/py-ruamel.yaml/Makefile
+++ b/devel/py-ruamel.yaml/Makefile
@@ -12,7 +12,7 @@ LICENSE= MIT
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ruamel.yaml.clib>=0.2.6:devel/py-ruamel.yaml.clib@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/devel/py-scikit-base/Makefile b/devel/py-scikit-base/Makefile
index cb9ecfc9bcf6..91dab039b705 100644
--- a/devel/py-scikit-base/Makefile
+++ b/devel/py-scikit-base/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}toml>=0:textproc/py-toml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-setuptools-rust/Makefile b/devel/py-setuptools-rust/Makefile
index a437ff75aa08..54be9a08588b 100644
--- a/devel/py-setuptools-rust/Makefile
+++ b/devel/py-setuptools-rust/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= cargo:lang/${RUST_DEFAULT} \
${PYTHON_PKGNAMEPREFIX}semantic-version>=2.8.2<3:devel/py-semantic-version@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=62.4:devel/py-setuptools@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-shandy-sqlfmt/Makefile b/devel/py-shandy-sqlfmt/Makefile
index dec7252877fd..77f92118b53c 100644
--- a/devel/py-shandy-sqlfmt/Makefile
+++ b/devel/py-shandy-sqlfmt/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}black>=0:devel/py-black@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}platformdirs>=2.4<5.0:devel/py-platformdirs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tqdm>=4.0<5.0:misc/py-tqdm@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/devel/py-sparse/Makefile b/devel/py-sparse/Makefile
index 53cc836884c5..2df2442e0ce9 100644
--- a/devel/py-sparse/Makefile
+++ b/devel/py-sparse/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FL
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numba>=0.49:devel/py-numba@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}numpy>=1.17,1:math/py-numpy@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-sqlfluff/Makefile b/devel/py-sqlfluff/Makefile
index 9230f33908e0..b1ebacf213b6 100644
--- a/devel/py-sqlfluff/Makefile
+++ b/devel/py-sqlfluff/Makefile
@@ -28,7 +28,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_F
${PYTHON_PKGNAMEPREFIX}tblib>=0:devel/py-tblib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tqdm>=0:misc/py-tqdm@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/devel/py-srsly/Makefile b/devel/py-srsly/Makefile
index 535a8cbcb4f8..6449fffd3f98 100644
--- a/devel/py-srsly/Makefile
+++ b/devel/py-srsly/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}catalogue>=2.0.3<2.1.0:devel/py-catalogue@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent cython pep517
post-install:
diff --git a/devel/py-strawberry-graphql/Makefile b/devel/py-strawberry-graphql/Makefile
index 8fc608cfad7e..a8b6e1153c64 100644
--- a/devel/py-strawberry-graphql/Makefile
+++ b/devel/py-strawberry-graphql/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2.0<3.4.0:devel/py-graphql-c
${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.7.0:devel/py-python-dateutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/devel/py-taskflow/Makefile b/devel/py-taskflow/Makefile
index 82100ed1f7b2..9fca56e2d228 100644
--- a/devel/py-taskflow/Makefile
+++ b/devel/py-taskflow/Makefile
@@ -30,7 +30,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}automaton>=1.9.0:devel/py-automaton@${PY_FLA
${PYTHON_PKGNAMEPREFIX}stevedore>=1.20.0:devel/py-stevedore@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tenacity>=6.0.0:devel/py-tenacity@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-thinc/Makefile b/devel/py-thinc/Makefile
index 8b21f7d4925a..0746cb766c47 100644
--- a/devel/py-thinc/Makefile
+++ b/devel/py-thinc/Makefile
@@ -34,7 +34,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}blis>=1.0.0<1.4.0:math/py-blis@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}srsly>=2.4.0<3.0.0:devel/py-srsly@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wasabi>=0.8.1<1.2.0:textproc/py-wasabi@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent cython pep517
post-install:
diff --git a/devel/py-threadpoolctl/Makefile b/devel/py-threadpoolctl/Makefile
index 756720eab9b4..498af3bb881b 100644
--- a/devel/py-threadpoolctl/Makefile
+++ b/devel/py-threadpoolctl/Makefile
@@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=2<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/devel/py-tox-toml-fmt/Makefile b/devel/py-tox-toml-fmt/Makefile
index 96171d0d69c2..ca6924225481 100644
--- a/devel/py-tox-toml-fmt/Makefile
+++ b/devel/py-tox-toml-fmt/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.8.4:devel/py-maturin@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}toml-fmt-common>=1.0.1:devel/py-toml-fmt-common@${PY_FLAVOR}
-USES= cargo python:3.10+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
CARGO_BUILD= no
diff --git a/devel/py-tree-sitter-bash/Makefile b/devel/py-tree-sitter-bash/Makefile
index c824db3e2996..5f4895bffc2a 100644
--- a/devel/py-tree-sitter-bash/Makefile
+++ b/devel/py-tree-sitter-bash/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-tree-sitter-css/Makefile b/devel/py-tree-sitter-css/Makefile
index 496640530c1e..45bec8d82243 100644
--- a/devel/py-tree-sitter-css/Makefile
+++ b/devel/py-tree-sitter-css/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-tree-sitter-go/Makefile b/devel/py-tree-sitter-go/Makefile
index 8fd0e32b8403..7b02246c4dfa 100644
--- a/devel/py-tree-sitter-go/Makefile
+++ b/devel/py-tree-sitter-go/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-tree-sitter-javascript/Makefile b/devel/py-tree-sitter-javascript/Makefile
index 076effee97bd..23cb0c0c73c7 100644
--- a/devel/py-tree-sitter-javascript/Makefile
+++ b/devel/py-tree-sitter-javascript/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-tree-sitter-regex/Makefile b/devel/py-tree-sitter-regex/Makefile
index 011afea1668f..c806890f80a5 100644
--- a/devel/py-tree-sitter-regex/Makefile
+++ b/devel/py-tree-sitter-regex/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-tree-sitter-yaml/Makefile b/devel/py-tree-sitter-yaml/Makefile
index ea549201c5c1..90c38c7005c0 100644
--- a/devel/py-tree-sitter-yaml/Makefile
+++ b/devel/py-tree-sitter-yaml/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/devel/py-validate-pyproject-schema-store/Makefile b/devel/py-validate-pyproject-schema-store/Makefile
index 4cd4f34272bd..0e49af6f3383 100644
--- a/devel/py-validate-pyproject-schema-store/Makefile
+++ b/devel/py-validate-pyproject-schema-store/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/devel/py-wsme/Makefile b/devel/py-wsme/Makefile
index 2eef2f6067e6..3f65b15f2d26 100644
--- a/devel/py-wsme/Makefile
+++ b/devel/py-wsme/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=4.4:devel/py-importlib-m
${PYTHON_PKGNAMEPREFIX}simplegeneric>=0:devel/py-simplegeneric@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webob>=1.8.0:www/py-webob@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
MAKE_ENV= PBR_VERSION=${PORTVERSION}
diff --git a/devel/pytype/Makefile b/devel/pytype/Makefile
index 6b98171ef63a..ea5b1565e615 100644
--- a/devel/pytype/Makefile
+++ b/devel/pytype/Makefile
@@ -31,7 +31,7 @@ RUN_DEPENDS= ninja>=1.10.2:devel/ninja \
${PYTHON_PKGNAMEPREFIX}toml>=0.10.2:textproc/py-toml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.3.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= compiler:c++11-lang python:3.10+
+USES= compiler:c++11-lang python
USE_PYTHON= autoplist concurrent pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR}
diff --git a/devel/root/Makefile b/devel/root/Makefile
index df0d00d41ff3..4e689e92572a 100644
--- a/devel/root/Makefile
+++ b/devel/root/Makefile
@@ -138,8 +138,8 @@ PGSQL_USES= pgsql:13+
PYROOT_CMAKE_BOOL= pyroot tpython tmva-pymva
PYROOT_DESC= Enable bindings between Python and C++ with PyROOT
PYROOT_BUILD_DEPENDS= ${PYNUMPY}
-PYROOT_USES= python:3.9+,build,run
-PYROOT_USES_OFF= python:3.9+,build
+PYROOT_USES= python:build,run
+PYROOT_USES_OFF= python:build
QT6WEB_CMAKE_BOOL= qt6web
QT6WEB_DESC= Enable support for Qt6 web-based display
diff --git a/devel/shiboken2/Makefile b/devel/shiboken2/Makefile
index ab615703f6bf..a642c117bd4c 100644
--- a/devel/shiboken2/Makefile
+++ b/devel/shiboken2/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@$
LIB_DEPENDS= libxslt.so:textproc/libxslt
USES= cmake compiler:c++11-lang gnome llvm:lib,noexport \
- python:3.9-3.11 qt:5 shebangfix tar:xz
+ python:-3.11 qt:5 shebangfix tar:xz
USE_GNOME= libxml2
USE_LDCONFIG= yes
USE_PYTHON= flavors
diff --git a/devel/valgrind/Makefile b/devel/valgrind/Makefile
index 9f22fffff962..61241cbc7456 100644
--- a/devel/valgrind/Makefile
+++ b/devel/valgrind/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
ONLY_FOR_ARCHS= aarch64 amd64 i386
USES= autoreconf cpe gmake pathfix perl5 pkgconfig shebangfix \
- python:3.9+,run tar:bz2
+ python:run tar:bz2
USE_PERL5= build
SHEBANG_FILES= callgrind/callgrind_annotate.in callgrind/callgrind_control.in \
cachegrind/cg_merge.in cachegrind/cg_diff.in \
diff --git a/dns/py-dns-lexicon/Makefile b/dns/py-dns-lexicon/Makefile
index 05bd15eb3099..5801c39724d1 100644
--- a/dns/py-dns-lexicon/Makefile
+++ b/dns/py-dns-lexicon/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4:www/py-beautifulsoup@${PY_F
${PYTHON_PKGNAMEPREFIX}requests>=2:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tldextract>=2:dns/py-tldextract@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent cryptography pep517
NO_ARCH= yes
diff --git a/dns/py-dnspython/Makefile b/dns/py-dnspython/Makefile
index 4f8abb6b2c82..b5657aa1a880 100644
--- a/dns/py-dnspython/Makefile
+++ b/dns/py-dnspython/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent cython pep517 pytest
BINARY_ALIAS= git=false
diff --git a/editors/retext/Makefile b/editors/retext/Makefile
index 8a5a983e5d0e..4e29e21cbf73 100644
--- a/editors/retext/Makefile
+++ b/editors/retext/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docutils>=0:textproc/py-docutils@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}python-markdown-math>=0.6:textproc/py-python-markdown-math@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pymdown-extensions>0:textproc/py-pymdown-extensions@${PY_FLAVOR}
-USES= desktop-file-utils display:test pyqt:6 python:3.9+ qt:6
+USES= desktop-file-utils display:test pyqt:6 python qt:6
USE_PYQT= pyqt6:run
USE_PYTHON= autoplist noflavors pep517 pytest
USE_QT= tools:build
diff --git a/filesystems/py-fsspec-xrootd/Makefile b/filesystems/py-fsspec-xrootd/Makefile
index 32e3df0815fe..94b756d67b74 100644
--- a/filesystems/py-fsspec-xrootd/Makefile
+++ b/filesystems/py-fsspec-xrootd/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FL
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fsspec>=0:filesystems/py-fsspec@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/graphics/py-altair/Makefile b/graphics/py-altair/Makefile
index 9e72d3ae9ac3..a0dc7ab64ff8 100644
--- a/graphics/py-altair/Makefile
+++ b/graphics/py-altair/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}narwhals>=1.14.2:math/py-narwhals@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/graphics/py-dj52-sorl-thumbnail/Makefile b/graphics/py-dj52-sorl-thumbnail/Makefile
index b9883a81a9c7..64060b76a523 100644
--- a/graphics/py-dj52-sorl-thumbnail/Makefile
+++ b/graphics/py-dj52-sorl-thumbnail/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/graphics/py-imageio/Makefile b/graphics/py-imageio/Makefile
index a22c7b12d2d7..840f9463c7e4 100644
--- a/graphics/py-imageio/Makefile
+++ b/graphics/py-imageio/Makefile
@@ -29,7 +29,7 @@ TEST_DEPENDS= opencv>=0:graphics/opencv \
# filesystems/py-fsspec[github]
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/graphics/py-pillow-heif/Makefile b/graphics/py-pillow-heif/Makefile
index a41f824a8b6e..70193482a827 100644
--- a/graphics/py-pillow-heif/Makefile
+++ b/graphics/py-pillow-heif/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FL
LIB_DEPENDS= libheif.so:graphics/libheif
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=10.1.0:graphics/py-pillow@${PY_FLAVOR}
-USES= localbase python:3.9+
+USES= localbase python
USE_PYTHON= autoplist concurrent pep517
LDFLAGS+= -lheif
diff --git a/lang/py-hy/Makefile b/lang/py-hy/Makefile
index 77c33ad6b5ce..54a2b7eb9d88 100644
--- a/lang/py-hy/Makefile
+++ b/lang/py-hy/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}funcparserlib>=1.0<2:devel/py-funcparserli
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}funcparserlib>=1.0<2:devel/py-funcparserlib@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/mail/mailman3/Makefile b/mail/mailman3/Makefile
index fbfd120c49cb..b85400fbf4b9 100644
--- a/mail/mailman3/Makefile
+++ b/mail/mailman3/Makefile
@@ -36,7 +36,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiosmtpd>=1.4.3:mail/py-aiosmtpd@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}zope.event>0:devel/py-zope.event@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}zope.interface>=5.0:devel/py-zope.interface@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
CPE_VENDOR= gnu
USE_PYTHON= autoplist concurrent pep517
diff --git a/math/py-evalidate/Makefile b/math/py-evalidate/Makefile
index ec66aecc1b62..83830932b9da 100644
--- a/math/py-evalidate/Makefile
+++ b/math/py-evalidate/Makefile
@@ -12,7 +12,7 @@ WWW= https://github.com/yaroslaff/evalidate
LICENSE= MIT
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils autoplist pytest # the test tests/test_jailbreak.py::TestJailbreak::test_mul_overflow runs in a very high memory - 12+GB, see https://github.com/yaroslaff/evalidate/issues/8
USE_GITHUB= yes
diff --git a/math/py-formulaic/Makefile b/math/py-formulaic/Makefile
index eac8ae4c56b9..48a04dd9aa53 100644
--- a/math/py-formulaic/Makefile
+++ b/math/py-formulaic/Makefile
@@ -26,7 +26,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>0:devel/py-build@${PY_FLAVOR} \
RUN_DEPENDS= ${PY_DEPENDS}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sympy>=1.3:math/py-sympy@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= pep517 autoplist pytest
NO_ARCH= yes
diff --git a/math/py-iminuit/Makefile b/math/py-iminuit/Makefile
index 4f8c21db6976..ecae6abf29ce 100644
--- a/math/py-iminuit/Makefile
+++ b/math/py-iminuit/Makefile
@@ -35,7 +35,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}annotated-types>0:devel/py-annotated-types@
${PYTHON_PKGNAMEPREFIX}tabulate>0:devel/py-tabulate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}unicodeitplus>0:textproc/py-unicodeitplus@${PY_FLAVOR}
-USES= compiler:c++14-lang python:3.9+
+USES= compiler:c++14-lang python
USE_PYTHON= pep517 cython_test autoplist pytest
TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
diff --git a/math/py-jax/Makefile b/math/py-jax/Makefile
index b162691ab0cc..96a046d5ce76 100644
--- a/math/py-jax/Makefile
+++ b/math/py-jax/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ml-dtypes>=0.2.0:math/py-ml-dtypes@${PY_FLAV
${PYTHON_PKGNAMEPREFIX}opt-einsum>=0:math/py-opt-einsum@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>=1.11.1:science/py-scipy@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/math/py-ndindex/Makefile b/math/py-ndindex/Makefile
index 8e4aa2c03e1b..9d430fe0b40b 100644
--- a/math/py-ndindex/Makefile
+++ b/math/py-ndindex/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent cython pep517
OPTIONS_DEFINE= ARRAYS
diff --git a/math/py-numexpr/Makefile b/math/py-numexpr/Makefile
index 4aa4c406de49..dc76f2169068 100644
--- a/math/py-numexpr/Makefile
+++ b/math/py-numexpr/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.26.0,1:math/py-numpy@${PY_FLAVOR}
-USES= dos2unix python:3.10+
+USES= dos2unix python
USE_PYTHON= autoplist concurrent pep517
post-install:
diff --git a/math/py-numpy/Makefile b/math/py-numpy/Makefile
index 7b7273abe5be..fce6242f50ce 100644
--- a/math/py-numpy/Makefile
+++ b/math/py-numpy/Makefile
@@ -24,7 +24,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hypothesis>=6.24.1:devel/py-hypothesis@${PY
${PYTHON_PKGNAMEPREFIX}pytest>=6.2.5:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.2.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= compiler:c11 cpe fortran pkgconfig python:3.9+ shebangfix
+USES= compiler:c11 cpe fortran pkgconfig python shebangfix
USE_PYTHON= autoplist concurrent cython pep517
GCCLIBDIR_CMDS= ${FC} -print-file-name=libgfortran.so | ${SED} -e \
diff --git a/math/py-pywavelets/Makefile b/math/py-pywavelets/Makefile
index 5269db1a1593..9b57f83ad6ed 100644
--- a/math/py-pywavelets/Makefile
+++ b/math/py-pywavelets/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}meson-python>=0.16:devel/meson-python@${PY_FLAVOR}
RUN_DEPENDS= ${PYNUMPY}
-USES= python:3.10+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist cython3 pep517
SHEBANG_FILES= pywt/data/create_dat.py
diff --git a/math/py-reals/Makefile b/math/py-reals/Makefile
index 054a4f0d9086..c06378b12f67 100644
--- a/math/py-reals/Makefile
+++ b/math/py-reals/Makefile
@@ -12,7 +12,7 @@ WWW= https://github.com/rubenvannieuwpoort/reals
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist distutils
NO_ARCH= yes
diff --git a/misc/py-aider-chat/Makefile b/misc/py-aider-chat/Makefile
index 25acdb478260..8126ea829866 100644
--- a/misc/py-aider-chat/Makefile
+++ b/misc/py-aider-chat/Makefile
@@ -66,7 +66,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}arrow>=1.3:devel/py-arrow@${PY_FLAVOR} \
# watchdog is pulled in by streamlit
# google-generativeai is not a popular aider dependency
-USES= python:3.10+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent pep517
SHEBANG_FILES= aider/coders/base_coder.py aider/coders/search_replace.py
diff --git a/misc/py-colored/Makefile b/misc/py-colored/Makefile
index a43a92cd14b4..e212d2a7e772 100644
--- a/misc/py-colored/Makefile
+++ b/misc/py-colored/Makefile
@@ -12,7 +12,7 @@ LICENSE= MIT
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.10.1<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/misc/py-mixpanel/Makefile b/misc/py-mixpanel/Makefile
index 24eee491d17f..79ebf64daf4e 100644
--- a/misc/py-mixpanel/Makefile
+++ b/misc/py-mixpanel/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=63:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0.44:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.10+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/misc/py-oterm/Makefile b/misc/py-oterm/Makefile
index 2bd489f540b4..071b92752f2d 100644
--- a/misc/py-oterm/Makefile
+++ b/misc/py-oterm/Makefile
@@ -31,7 +31,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiosql>=10.1:databases/py-aiosql@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}typer>=0.12.3:devel/py-typer@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}uc-micro-py>=1.0.3:textproc/py-uc-micro-py@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR}
diff --git a/misc/py-posthog/Makefile b/misc/py-posthog/Makefile
index bb117783b627..9afc425c778c 100644
--- a/misc/py-posthog/Makefile
+++ b/misc/py-posthog/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}backoff>=1.10.0:devel/py-backoff@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}requests>=2.22.0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.5:devel/py-six@${PY_FLAVOR}
-USES= python:3.10+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile
index a1969cae77e9..986bcbe574e7 100644
--- a/net-mgmt/netbox/Makefile
+++ b/net-mgmt/netbox/Makefile
@@ -68,7 +68,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.2.7<5.3:www/py-django52@${PY_FLA
${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0.3<7:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gunicorn>=23.0.0<24:www/py-gunicorn@${PY_FLAVOR}
-USES= cpe pgsql:14+ python:3.10+
+USES= cpe pgsql:14+ python
CPE_VENDOR= netbox
USE_GITHUB= yes
GH_ACCOUNT= netbox-community
diff --git a/net-mgmt/peering-manager/Makefile b/net-mgmt/peering-manager/Makefile
index 527e3d99d9dd..7d7c363cb815 100644
--- a/net-mgmt/peering-manager/Makefile
+++ b/net-mgmt/peering-manager/Makefile
@@ -39,7 +39,7 @@ RUN_DEPENDS= \
${PYTHON_PKGNAMEPREFIX}requests>=2.32:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.5.4:security/py-social-auth-core@${PY_FLAVOR}
-USES= cpe pgsql:13+ python:3.10-3.12
+USES= cpe pgsql:13+ python:-3.12
CPE_VENDOR= ${PORTNAME}
CPE_PRODUCT= ${PORTNAME:S/-/_/}
USE_GITHUB= yes
diff --git a/net-mgmt/py-pysmi/Makefile b/net-mgmt/py-pysmi/Makefile
index 145d3d8da62f..2313057e7b72 100644
--- a/net-mgmt/py-pysmi/Makefile
+++ b/net-mgmt/py-pysmi/Makefile
@@ -16,7 +16,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ply>=3.11:devel/py-ply@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.26.0:www/py-requests@${PY_FLAVOR}
# Officially: 3.9-3.13
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/net/py-aiohappyeyeballs/Makefile b/net/py-aiohappyeyeballs/Makefile
index 30fba06cfcdb..386ed2b181bf 100644
--- a/net/py-aiohappyeyeballs/Makefile
+++ b/net/py-aiohappyeyeballs/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=2.0.0:devel/py-poetry-core@${
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0.23.2<0.26.0:devel/py-pytest-asyncio@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-cov>=3<7:devel/py-pytest-cov@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/net/py-python-heatclient/Makefile b/net/py-python-heatclient/Makefile
index 5e7b679ad3c1..f7ab08acc0c1 100644
--- a/net/py-python-heatclient/Makefile
+++ b/net/py-python-heatclient/Makefile
@@ -28,7 +28,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cliff>=2.8.0:devel/py-cliff@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=3.13:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.14.2:www/py-requests@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/net/py-python-neutronclient/Makefile b/net/py-python-neutronclient/Makefile
index b564eeb6a3d6..77bb8f28cac5 100644
--- a/net/py-python-neutronclient/Makefile
+++ b/net/py-python-neutronclient/Makefile
@@ -32,7 +32,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cliff>=3.4.0:devel/py-cliff@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.14.2:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}simplejson>=3.5.1:devel/py-simplejson@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/net/py-python-novaclient/Makefile b/net/py-python-novaclient/Makefile
index 44c839e4f258..aabd14379d0e 100644
--- a/net/py-python-novaclient/Makefile
+++ b/net/py-python-novaclient/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}prettytable0>=0.7.2:devel/py-prettytable0@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=2.0.1:devel/py-stevedore@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/net/py-python-openstackclient/Makefile b/net/py-python-openstackclient/Makefile
index 45848574dbac..52e8a8ff97b6 100644
--- a/net/py-python-openstackclient/Makefile
+++ b/net/py-python-openstackclient/Makefile
@@ -26,7 +26,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cliff>=3.5.0:devel/py-cliff@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.27.0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}stevedore>=2.0.1:devel/py-stevedore@${PY_FLAVOR}
-USES= python:3.9+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent cryptography pep517
NO_ARCH= yes
diff --git a/ports-mgmt/reprise/Makefile b/ports-mgmt/reprise/Makefile
index 2974fba1cd33..a8a5ac10a2e2 100644
--- a/ports-mgmt/reprise/Makefile
+++ b/ports-mgmt/reprise/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohttp>=0:www/py-aiohttp@${PY_FLAVOR} \
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0:devel/py-pytest-asyncio@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= AMDmi3
USE_PYTHON= autoplist distutils noflavors
diff --git a/science/py-dwave-hybrid/Makefile b/science/py-dwave-hybrid/Makefile
index e4f3e04da77e..9b248e914cc8 100644
--- a/science/py-dwave-hybrid/Makefile
+++ b/science/py-dwave-hybrid/Makefile
@@ -24,7 +24,7 @@ PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>5:devel/py-click@${PY_FLAVOR} \
BUILD_DEPENDS= ${PY_DEPENDS}
RUN_DEPENDS= ${PY_DEPENDS}
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils autoplist unittest # several tests fail, see https://github.com/dwavesystems/dwave-hybrid/issues/276
USE_GITHUB= yes
diff --git a/science/py-dwave-inspector/Makefile b/science/py-dwave-inspector/Makefile
index b583ab95b573..cb10191752ba 100644
--- a/science/py-dwave-inspector/Makefile
+++ b/science/py-dwave-inspector/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dimod>=0.10.0:science/py-dimod@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}werkzeug>0:www/py-werkzeug@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}vcrpy>0:devel/py-vcrpy@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils cython unittest # few tests fail, see https://github.com/dwavesystems/dwave-inspector/issues/151
USE_GITHUB= yes
diff --git a/science/py-dwavebinarycsp/Makefile b/science/py-dwavebinarycsp/Makefile
index d32f01053748..b4c36dc582a3 100644
--- a/science/py-dwavebinarycsp/Makefile
+++ b/science/py-dwavebinarycsp/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PY_DEPENDS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PY_DEPENDS}
-USES= python:3.9+
+USES= python
USE_PYTHON= distutils autoplist unittest
USE_GITHUB= yes
diff --git a/science/py-nibabel/Makefile b/science/py-nibabel/Makefile
index 35a7a51932e5..755f4718340e 100644
--- a/science/py-nibabel/Makefile
+++ b/science/py-nibabel/Makefile
@@ -24,7 +24,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR}
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pydicom>0:science/py-pydicom@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= pep517 concurrent autoplist pytest # 2 test fail, 1 error, see https://github.com/nipy/nibabel/issues/1386
NO_ARCH= yes
diff --git a/science/py-pygeodesy/Makefile b/science/py-pygeodesy/Makefile
index 38999bdbee9d..3b01d8be019c 100644
--- a/science/py-pygeodesy/Makefile
+++ b/science/py-pygeodesy/Makefile
@@ -16,7 +16,7 @@ LICENSE= MIT
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+ zip
+USES= python zip
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/science/py-scipy/Makefile b/science/py-scipy/Makefile
index 4c6e83b43d50..668102e4e420 100644
--- a/science/py-scipy/Makefile
+++ b/science/py-scipy/Makefile
@@ -37,7 +37,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gmpy2>0:math/py-gmpy2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-umfpack>0:math/py-scikit-umfpack@${PY_FLAVOR}
-USES= compiler:c++14-lang cpe fortran python:3.9-3.11 shebangfix
+USES= compiler:c++14-lang cpe fortran python:-3.11 shebangfix
USE_PYTHON= autoplist concurrent cython distutils
FFLAGS+= -std=legacy
diff --git a/security/archlinux-keyring/Makefile b/security/archlinux-keyring/Makefile
index 3f22e747abeb..69e1ce087d59 100644
--- a/security/archlinux-keyring/Makefile
+++ b/security/archlinux-keyring/Makefile
@@ -14,7 +14,7 @@ BUILD_DEPENDS= sq:security/sequoia-sq \
RUN_DEPENDS= bash:shells/bash \
pacman-key:sysutils/pacman@archlinux
-USES= gmake pkgconfig python:3.10+ shebangfix trigger
+USES= gmake pkgconfig python shebangfix trigger
SHEBANG_FILES= keyringctl wkd_sync
BINARY_ALIAS= install=ginstall
diff --git a/security/py-fido2/Makefile b/security/py-fido2/Makefile
index 40301f52caa9..49377d772697 100644
--- a/security/py-fido2/Makefile
+++ b/security/py-fido2/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=2.0:devel/py-poetry-core@${PY
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist cryptography pep517 unittest
NO_ARCH= yes
diff --git a/security/py-gpg/Makefile b/security/py-gpg/Makefile
index 582cb579dfc2..95fce71f01ac 100644
--- a/security/py-gpg/Makefile
+++ b/security/py-gpg/Makefile
@@ -19,7 +19,7 @@ LIB_DEPENDS= libassuan.so:security/libassuan \
libgpg-error.so:security/libgpg-error \
libgpgme.so:security/gpgme
-USES= gmake pkgconfig python:3.9+ tar:bzip2
+USES= gmake pkgconfig python tar:bzip2
USE_PYTHON= autoplist pep517
GNU_CONFIGURE= yes
diff --git a/security/py-httpx-auth/Makefile b/security/py-httpx-auth/Makefile
index 8eb942d15b60..31603722f691 100644
--- a/security/py-httpx-auth/Makefile
+++ b/security/py-httpx-auth/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.28.0<0.29:www/py-httpx@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/security/py-netbox-secrets/Makefile b/security/py-netbox-secrets/Makefile
index fc72644a2aa2..212e618c2580 100644
--- a/security/py-netbox-secrets/Makefile
+++ b/security/py-netbox-secrets/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.23.0:security/py-pycryptodome@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/security/py-omemo-dr/Makefile b/security/py-omemo-dr/Makefile
index 16ca57acd872..143287e3ca1a 100644
--- a/security/py-omemo-dr/Makefile
+++ b/security/py-omemo-dr/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>0:devel/py-build@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}protobuf>=3.0:devel/py-protobuf@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist cryptography pep517
.include <bsd.port.mk>
diff --git a/security/py-truststore/Makefile b/security/py-truststore/Makefile
index 12a550387b39..3b063d8809f0 100644
--- a/security/py-truststore/Makefile
+++ b/security/py-truststore/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.11<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.10+ ssl
+USES= python ssl
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/security/sssd2/Makefile b/security/sssd2/Makefile
index 827225858f96..bf879a632a19 100644
--- a/security/sssd2/Makefile
+++ b/security/sssd2/Makefile
@@ -51,7 +51,7 @@ RUN_DEPENDS= adcli:net-mgmt/adcli \
cyrus-sasl-gssapi>0:security/cyrus-sasl2-gssapi
USES= autoreconf cpe gettext gmake gssapi:flags,mit iconv ldap \
- libtool localbase:ldflags pathfix pkgconfig python:3.9+ samba:env \
+ libtool localbase:ldflags pathfix pkgconfig python samba:env \
shebangfix ssl
USE_LDCONFIG= yes
diff --git a/security/tpm2-pkcs11/Makefile b/security/tpm2-pkcs11/Makefile
index 0ca3b96b3b35..25ef379ab9d0 100644
--- a/security/tpm2-pkcs11/Makefile
+++ b/security/tpm2-pkcs11/Makefile
@@ -21,7 +21,7 @@ TEST_TARGET= check-TESTS
OPTIONS_DEFINE= TEST
-TEST_USES= python:3.9+
+TEST_USES= python
TEST_CONFIGURE_ENABLE= ptool-checks unit
TEST_LIB_DEPENDS= libcmocka.so:sysutils/cmocka
TEST_RUN_DEPENDS= dbus-run-session:devel/dbus
diff --git a/sysutils/ansible/Makefile b/sysutils/ansible/Makefile
index e57a796e815f..900f82c9dd93 100644
--- a/sysutils/ansible/Makefile
+++ b/sysutils/ansible/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ansible-core>0:sysutils/py-ansible-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}importlib-resources>0:devel/py-importlib-resources@${PY_FLAVOR}
-USES= ansible:env cpe python:3.10+ shebangfix
+USES= ansible:env cpe python shebangfix
CPE_VENDOR= redhat
USE_PYTHON= autoplist concurrent distutils
diff --git a/sysutils/py-ansible-compat/Makefile b/sysutils/py-ansible-compat/Makefile
index 95bb04d0b68d..180e4df452da 100644
--- a/sysutils/py-ansible-compat/Makefile
+++ b/sysutils/py-ansible-compat/Makefile
@@ -26,7 +26,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-plus>0:devel/py-pytest-plus@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517 pytest
TEST_ENV= LC_ALL=C.UTF-8 PYTHONPATH=${WRKSRC}/src TMPDIR=${WRKDIR}/
diff --git a/sysutils/py-ansible-core/Makefile b/sysutils/py-ansible-core/Makefile
index b9b3cd5e9649..19f7fa302abb 100644
--- a/sysutils/py-ansible-core/Makefile
+++ b/sysutils/py-ansible-core/Makefile
@@ -34,7 +34,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bcrypt>=0:security/py-bcrypt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
git:devel/git
-USES= ansible:env cpe python:3.10+ shebangfix
+USES= ansible:env cpe python shebangfix
CPE_VENDOR= redhat
CPE_PRODUCT= ansible
USE_PYTHON= autoplist concurrent cryptography pep517
diff --git a/sysutils/py-ansible-core219/Makefile b/sysutils/py-ansible-core219/Makefile
index 57f21c3bd51b..54217c4ffc85 100644
--- a/sysutils/py-ansible-core219/Makefile
+++ b/sysutils/py-ansible-core219/Makefile
@@ -35,7 +35,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bcrypt>=0:security/py-bcrypt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
git:devel/git
-USES= ansible:env cpe python:3.10+ shebangfix
+USES= ansible:env cpe python shebangfix
CPE_VENDOR= redhat
CPE_PRODUCT= ansible
USE_PYTHON= autoplist concurrent cryptography pep517
diff --git a/sysutils/py-ansible-lint/Makefile b/sysutils/py-ansible-lint/Makefile
index 7ba4f822b570..c1c9a27482a0 100644
--- a/sysutils/py-ansible-lint/Makefile
+++ b/sysutils/py-ansible-lint/Makefile
@@ -46,7 +46,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage_enable_subprocess>=0:devel/py-cove
${PYTHON_PKGNAMEPREFIX}types-pyyaml>=0:devel/py-types-pyyaml@${PY_FLAVOR} \
bash:shells/bash
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
TEST_ENV= LC_ALL=C.UTF-8 PYTHONPATH=${WRKSRC}/src TMPDIR=${WRKDIR}/
diff --git a/sysutils/py-hcloud/Makefile b/sysutils/py-hcloud/Makefile
index 2c67f9455a67..560a62dbb70c 100644
--- a/sysutils/py-hcloud/Makefile
+++ b/sysutils/py-hcloud/Makefile
@@ -25,7 +25,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=7.5:devel/py-coverage@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}types-requests>=0:devel/py-types-requests@${PY_FLAVOR}
NO_ARCH= yes
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
.include <bsd.port.mk>
diff --git a/sysutils/py-tmuxp/Makefile b/sysutils/py-tmuxp/Makefile
index cead2e6f8866..428240d7eed7 100644
--- a/sysutils/py-tmuxp/Makefile
+++ b/sysutils/py-tmuxp/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}colorama>=0.3.9:devel/py-colorama@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0:devel/py-pyyaml@${PY_FLAVOR} \
tmux:sysutils/tmux
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-autopep8/Makefile b/textproc/py-autopep8/Makefile
index 424a003539be..a8eb989fe0eb 100644
--- a/textproc/py-autopep8/Makefile
+++ b/textproc/py-autopep8/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycodestyle>=2.12.0:devel/py-pycodestyle@${PY_FLAVOR} \
${PY_TOMLI}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-chameleon/Makefile b/textproc/py-chameleon/Makefile
index 2369c13c48f2..a820ca847ca7 100644
--- a/textproc/py-chameleon/Makefile
+++ b/textproc/py-chameleon/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-cssselect2/Makefile b/textproc/py-cssselect2/Makefile
index 1a5ee10f0c9d..1d328e04759e 100644
--- a/textproc/py-cssselect2/Makefile
+++ b/textproc/py-cssselect2/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_F
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tinycss2>=0:textproc/py-tinycss2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webencodings>=0:converters/py-webencodings@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-elastic-transport/Makefile b/textproc/py-elastic-transport/Makefile
index 62b6cc00c4b2..643a40dccf9d 100644
--- a/textproc/py-elastic-transport/Makefile
+++ b/textproc/py-elastic-transport/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}sniffio>=0:devel/py-sniffio@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}urllib3>=1.26.2,1<3,1:net/py-urllib3@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-ftfy/Makefile b/textproc/py-ftfy/Makefile
index aa47254d3b4c..b3a4cd28936d 100644
--- a/textproc/py-ftfy/Makefile
+++ b/textproc/py-ftfy/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wcwidth>=0:devel/py-wcwidth@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/textproc/py-graphemeu/Makefile b/textproc/py-graphemeu/Makefile
index 649bd841da38..ec5c27fb953f 100644
--- a/textproc/py-graphemeu/Makefile
+++ b/textproc/py-graphemeu/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-langcodes/Makefile b/textproc/py-langcodes/Makefile
index 619eedcd77e0..8629c935a4b3 100644
--- a/textproc/py-langcodes/Makefile
+++ b/textproc/py-langcodes/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=60:devel/py-setuptools@${PY_FL
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}language-data>=1.2:textproc/py-language-data@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-markdown-it-py/Makefile b/textproc/py-markdown-it-py/Makefile
index 20b855f5a7f0..44fba4ed7541 100644
--- a/textproc/py-markdown-it-py/Makefile
+++ b/textproc/py-markdown-it-py/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.4<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mdurl>=0.1<1:textproc/py-mdurl@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-markups/Makefile b/textproc/py-markups/Makefile
index 8b24d4f24f9a..68747c9c491d 100644
--- a/textproc/py-markups/Makefile
+++ b/textproc/py-markups/Makefile
@@ -25,7 +25,7 @@ TEST_DEPENDS= asciidoc>=0:textproc/asciidoc \
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}textile>=0:www/py-textile@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 unittest
NO_ARCH= yes
diff --git a/textproc/py-mdit-py-plugins/Makefile b/textproc/py-mdit-py-plugins/Makefile
index 4491f49c54ff..48ff58712b9d 100644
--- a/textproc/py-mdit-py-plugins/Makefile
+++ b/textproc/py-mdit-py-plugins/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.4<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown-it-py>=2.0.0<5.0.0:textproc/py-markdown-it-py@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-mkdocstrings-crystal/Makefile b/textproc/py-mkdocstrings-crystal/Makefile
index c2b698b3aee1..500b89ae530a 100644
--- a/textproc/py-mkdocstrings-crystal/Makefile
+++ b/textproc/py-mkdocstrings-crystal/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown-callouts>=0.1.0:textproc/py-markdow
# textproc/py-mkdocstrings belongs to RUN_DEPENDS as well but would cause
# a circular dependency (via py-mkdocstrings' CRYSTAL option)
-USES= python:3.9+ # textproc/py-mkdocs-autorefs requires Python 3.9+
+USES= python # textproc/py-mkdocs-autorefs requires Python 3.9+
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/textproc/py-myst-parser/Makefile b/textproc/py-myst-parser/Makefile
index 44977c873ed6..3e7fcb73ba2c 100644
--- a/textproc/py-myst-parser/Makefile
+++ b/textproc/py-myst-parser/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docutils>=0.19,1<0.22,1:textproc/py-docutils
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx>=5,1<9,1:textproc/py-sphinx@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-ocrmypdf/Makefile b/textproc/py-ocrmypdf/Makefile
index 52412e6c56a9..b62e369362ec 100644
--- a/textproc/py-ocrmypdf/Makefile
+++ b/textproc/py-ocrmypdf/Makefile
@@ -28,7 +28,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hypothesis>=6.36.0:devel/py-hypothesis@${PY
${PYTHON_PKGNAMEPREFIX}python-xmp-toolkit>=2.0.1:textproc/py-python-xmp-toolkit@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}reportlab>=3.6.8:print/py-reportlab@${PY_FLAVOR}
-USES= ghostscript:run python:3.10+ shebangfix
+USES= ghostscript:run python shebangfix
USE_PYTHON= autoplist concurrent pep517 pytest
# Skip some checks as they yield wrong results if run with the root account
PYTEST_IGNORED_TESTS= test_chmod \
diff --git a/textproc/py-pycountry/Makefile b/textproc/py-pycountry/Makefile
index 992b2ccbcacc..b2ce46df0f6b 100644
--- a/textproc/py-pycountry/Makefile
+++ b/textproc/py-pycountry/Makefile
@@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-pydata-sphinx-theme/Makefile b/textproc/py-pydata-sphinx-theme/Makefile
index 41c1835ac6af..2428807ea576 100644
--- a/textproc/py-pydata-sphinx-theme/Makefile
+++ b/textproc/py-pydata-sphinx-theme/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}accessible-pygments>=0:textproc/py-accessibl
${PYTHON_PKGNAMEPREFIX}sphinx>=5,1:textproc/py-sphinx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-python-ulid/Makefile b/textproc/py-python-ulid/Makefile
index a50e7f8650d4..ed958c047fa9 100644
--- a/textproc/py-python-ulid/Makefile
+++ b/textproc/py-python-ulid/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-
${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-python-ulid2/Makefile b/textproc/py-python-ulid2/Makefile
index 515f895f9d9c..83889faefbbe 100644
--- a/textproc/py-python-ulid2/Makefile
+++ b/textproc/py-python-ulid2/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-
${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-pytkdocs/Makefile b/textproc/py-pytkdocs/Makefile
index e443641fcdd2..8d62e617cd22 100644
--- a/textproc/py-pytkdocs/Makefile
+++ b/textproc/py-pytkdocs/Makefile
@@ -17,7 +17,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>0:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}marshmallow>0:devel/py-marshmallow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pydantic>0:devel/py-pydantic@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
diff --git a/textproc/py-sphinx-book-theme/Makefile b/textproc/py-sphinx-book-theme/Makefile
index e041183977d0..6bd08df7f1b1 100644
--- a/textproc/py-sphinx-book-theme/Makefile
+++ b/textproc/py-sphinx-book-theme/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.9.0:devel/py-flit-core@${PY_F
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydata-sphinx-theme>=0.15.4:textproc/py-pydata-sphinx-theme@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx>=5.3,1:textproc/py-sphinx@${PY_FLAVOR} \
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-sphinx-design/Makefile b/textproc/py-sphinx-design/Makefile
index 71e1549ed9aa..0ddaa2cdb19b 100644
--- a/textproc/py-sphinx-design/Makefile
+++ b/textproc/py-sphinx-design/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.4<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=5,1<9,1:textproc/py-sphinx@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-sphinxcontrib-towncrier/Makefile b/textproc/py-sphinxcontrib-towncrier/Makefile
index 3fbd1b9305de..661180226f0d 100644
--- a/textproc/py-sphinxcontrib-towncrier/Makefile
+++ b/textproc/py-sphinxcontrib-towncrier/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-cov>=0:devel/py-pytest-cov@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>=0,1:devel/py-pytest-xdist@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/textproc/py-tiktoken/Makefile b/textproc/py-tiktoken/Makefile
index 4d550b8067c9..4f9b8ce05231 100644
--- a/textproc/py-tiktoken/Makefile
+++ b/textproc/py-tiktoken/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4:devel/py-setuptools@${PY_
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}regex>=2022.1.18:textproc/py-regex@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=2.26.0:www/py-requests@${PY_FLAVOR}
-USES= cargo python:3.9+
+USES= cargo python
USE_PYTHON= autoplist concurrent pep517
CARGO_BUILD= no
diff --git a/textproc/py-tomli-w/Makefile b/textproc/py-tomli-w/Makefile
index e60697f44e21..20a33cb7b540 100644
--- a/textproc/py-tomli-w/Makefile
+++ b/textproc/py-tomli-w/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2.0<4:devel/py-flit-core@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/textproc/py-typogrify/Makefile b/textproc/py-typogrify/Makefile
index f7e842445d8d..657c500339dc 100644
--- a/textproc/py-typogrify/Makefile
+++ b/textproc/py-typogrify/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}smartypants>=1.8.3:textproc/py-smartypants@${PY_FLAVOR}
-USES= python:3.9+ shebangfix
+USES= python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/deno/Makefile b/www/deno/Makefile
index c44b03efc09c..64af8f90ce4d 100644
--- a/www/deno/Makefile
+++ b/www/deno/Makefile
@@ -20,7 +20,7 @@ LIB_DEPENDS= libdbus-1.so:devel/dbus \
liblcms2.so:graphics/lcms2 \
libzstd.so:archivers/zstd
-USES= cargo cpe gmake gnome llvm:min=16,build ninja:build pkgconfig:build python:3.9+,build
+USES= cargo cpe gmake gnome llvm:min=16,build ninja:build pkgconfig:build python:build
USE_GITHUB= yes
GH_ACCOUNT= denoland
diff --git a/www/domoticz-devel/Makefile b/www/domoticz-devel/Makefile
index 7c005e59e30d..cfd661027d75 100644
--- a/www/domoticz-devel/Makefile
+++ b/www/domoticz-devel/Makefile
@@ -57,7 +57,7 @@ PYTHON_DESC= Enable support for Python Plugins
PRECOMP_CMAKE_BOOL= USE_PRECOMPILED_HEADER
-PYTHON_USES= python:3.10+
+PYTHON_USES= python
PYTHON_CMAKE_BOOL= USE_PYTHON
post-patch:
diff --git a/www/domoticz/Makefile b/www/domoticz/Makefile
index 77660aa2a477..1fad797919ad 100644
--- a/www/domoticz/Makefile
+++ b/www/domoticz/Makefile
@@ -50,7 +50,7 @@ PYTHON_DESC= Enable Python for Plugins and Event-Scripts
PRECOMP_CMAKE_BOOL= USE_PRECOMPILED_HEADER
-PYTHON_USES= python:3.9+
+PYTHON_USES= python
PYTHON_CMAKE_BOOL= USE_PYTHON
post-install:
diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile
index 39dceb8f5a9b..21ead0867b7e 100644
--- a/www/onlyoffice-documentserver/Makefile
+++ b/www/onlyoffice-documentserver/Makefile
@@ -53,7 +53,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}supervisor>0:sysutils/py-supervisor@${PY_FLA
webfonts>=0:x11-fonts/webfonts
USES= autoreconf:build dos2unix fakeroot gmake gnome iconv localbase pkgconfig \
- python:3.9+,build qt:5 ssl trigger
+ python:build qt:5 ssl trigger
DOS2UNIX_FILES= document-server-package/common/documentserver/nginx/includes/http-common.conf.m4
diff --git a/www/py-aiohttp/Makefile b/www/py-aiohttp/Makefile
index d54a2966f286..16ffa28cc48a 100644
--- a/www/py-aiohttp/Makefile
+++ b/www/py-aiohttp/Makefile
@@ -30,7 +30,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiodns>=1.1:dns/py-aiodns@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>=0:devel/py-pytest-mock@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-codspeed>=0:devel/py-pytest-codspeed@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
USE_PYTHON= autoplist concurrent cython pep517 pytest
CPE_VENDOR= aiohttp_project
diff --git a/www/py-aioquic/Makefile b/www/py-aioquic/Makefile
index eb0c44a272a3..b564ef2eb22e 100644
--- a/www/py-aioquic/Makefile
+++ b/www/py-aioquic/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}openssl>=24,1:security/py-openssl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}service-identity>=24.1.0:security/py-service-identity@${PY_FLAVOR}
-USES= python:3.10+ ssl
+USES= python ssl
USE_PYTHON= autoplist concurrent cryptography pep517
post-install:
diff --git a/www/py-dj-database-url/Makefile b/www/py-dj-database-url/Makefile
index a3cf901a1fd5..c2c310fb0c80 100644
--- a/www/py-dj-database-url/Makefile
+++ b/www/py-dj-database-url/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/www/py-dj51-channels/Makefile b/www/py-dj51-channels/Makefile
index 36fb378856ce..128691898c4e 100644
--- a/www/py-dj51-channels/Makefile
+++ b/www/py-dj51-channels/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.9.0<4:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-auth-ldap/Makefile b/www/py-dj51-django-auth-ldap/Makefile
index 935e776d92af..e5f54838e226 100644
--- a/www/py-dj51-django-auth-ldap/Makefile
+++ b/www/py-dj51-django-auth-ldap/Makefile
@@ -21,7 +21,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-ldap>=3.1:net/py-python-ldap@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-choices-field/Makefile b/www/py-dj51-django-choices-field/Makefile
index 858470d66257..3f5750f764b9 100644
--- a/www/py-dj51-django-choices-field/Makefile
+++ b/www/py-dj51-django-choices-field/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-cors-headers/Makefile b/www/py-dj51-django-cors-headers/Makefile
index 923782a90719..6c33b7a48aef 100644
--- a/www/py-dj51-django-cors-headers/Makefile
+++ b/www/py-dj51-django-cors-headers/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-debug-toolbar/Makefile b/www/py-dj51-django-debug-toolbar/Makefile
index fe3940c64d7e..8ff015e3205d 100644
--- a/www/py-dj51-django-debug-toolbar/Makefile
+++ b/www/py-dj51-django-debug-toolbar/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVO
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2.9:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-filter/Makefile b/www/py-dj51-django-filter/Makefile
index 8438c0bbad0b..0aee70704432 100644
--- a/www/py-dj51-django-filter/Makefile
+++ b/www/py-dj51-django-filter/Makefile
@@ -18,7 +18,7 @@ EXPIRATION_DATE=2025-12-31
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-htmx/Makefile b/www/py-dj51-django-htmx/Makefile
index 38ea31e064f9..eb8a103964af 100644
--- a/www/py-dj51-django-htmx/Makefile
+++ b/www/py-dj51-django-htmx/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-js-asset/Makefile b/www/py-dj51-django-js-asset/Makefile
index 5ddf81106b9f..ea6342131967 100644
--- a/www/py-dj51-django-js-asset/Makefile
+++ b/www/py-dj51-django-js-asset/Makefile
@@ -18,7 +18,7 @@ EXPIRATION_DATE=2025-12-31
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-mptt/Makefile b/www/py-dj51-django-mptt/Makefile
index 74b0eb0451b1..7b724a213a31 100644
--- a/www/py-dj51-django-mptt/Makefile
+++ b/www/py-dj51-django-mptt/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj51-django-js-asset>0:www/py-dj51-django-js-asset@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-prometheus/Makefile b/www/py-dj51-django-prometheus/Makefile
index 6872ecf0c4ce..9b7a7fe4499e 100644
--- a/www/py-dj51-django-prometheus/Makefile
+++ b/www/py-dj51-django-prometheus/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2<6.0:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
diff --git a/www/py-dj51-django-redis/Makefile b/www/py-dj51-django-redis/Makefile
index f05960f77eb5..e56ac5036228 100644
--- a/www/py-dj51-django-redis/Makefile
+++ b/www/py-dj51-django-redis/Makefile
@@ -24,7 +24,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>=0:devel/py-pytest-mock@${PY_FLAVOR} \
redis-server:databases/redis
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
TEST_ENV= DJANGO_SETTINGS_MODULE=settings.sqlite \
diff --git a/www/py-dj51-django-rich/Makefile b/www/py-dj51-django-rich/Makefile
index d71dfb6ba7c7..6a3cc28d5d13 100644
--- a/www/py-dj51-django-rich/Makefile
+++ b/www/py-dj51-django-rich/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-tables2/Makefile b/www/py-dj51-django-tables2/Makefile
index 69a6700e4d86..6c9cf0a73ce7 100644
--- a/www/py-dj51-django-tables2/Makefile
+++ b/www/py-dj51-django-tables2/Makefile
@@ -18,7 +18,7 @@ EXPIRATION_DATE=2025-12-31
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-taggit/Makefile b/www/py-dj51-django-taggit/Makefile
index 7e3a1cc881b6..4b93e32b0b45 100644
--- a/www/py-dj51-django-taggit/Makefile
+++ b/www/py-dj51-django-taggit/Makefile
@@ -20,7 +20,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.1:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-django-timezone-field/Makefile b/www/py-dj51-django-timezone-field/Makefile
index dba817df91c4..3d7b3e37acdc 100644
--- a/www/py-dj51-django-timezone-field/Makefile
+++ b/www/py-dj51-django-timezone-field/Makefile
@@ -18,7 +18,7 @@ EXPIRATION_DATE=2025-12-31
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=3.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-djangorestframework/Makefile b/www/py-dj51-djangorestframework/Makefile
index 8cbde1a4e71e..f5c951def97e 100644
--- a/www/py-dj51-djangorestframework/Makefile
+++ b/www/py-dj51-djangorestframework/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-drf-spectacular-sidecar/Makefile b/www/py-dj51-drf-spectacular-sidecar/Makefile
index 1009c6a1cc6f..b799bc27ed82 100644
--- a/www/py-dj51-drf-spectacular-sidecar/Makefile
+++ b/www/py-dj51-drf-spectacular-sidecar/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=2.2:www/py-django51@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-drf-spectacular/Makefile b/www/py-dj51-drf-spectacular/Makefile
index e934aae841c8..28976c0e702f 100644
--- a/www/py-dj51-drf-spectacular/Makefile
+++ b/www/py-dj51-drf-spectacular/Makefile
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=2.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}uritemplate>=2.0.0:net/py-uritemplate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist distutils
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj51-social-auth-app-django/Makefile b/www/py-dj51-social-auth-app-django/Makefile
index b3f2226788c4..582435bc5cd3 100644
--- a/www/py-dj51-social-auth-app-django/Makefile
+++ b/www/py-dj51-social-auth-app-django/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=5.1:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.4<5:security/py-social-auth-core@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= python-social-auth
GH_PROJECT= social-app-django
diff --git a/www/py-dj51-strawberry-graphql-django/Makefile b/www/py-dj51-strawberry-graphql-django/Makefile
index ac11a01741a9..bcf7b4a5b48e 100644
--- a/www/py-dj51-strawberry-graphql-django/Makefile
+++ b/www/py-dj51-strawberry-graphql-django/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django51>=4.2:www/py-django51@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj51-strawberry-graphql>=0.283.3:devel/py-dj51-strawberry-graphql@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-channels/Makefile b/www/py-dj52-channels/Makefile
index f9ba26678cb7..a39f7c52b0b3 100644
--- a/www/py-dj52-channels/Makefile
+++ b/www/py-dj52-channels/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLA
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.9.0<4:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-dj52-django-auth-ldap/Makefile b/www/py-dj52-django-auth-ldap/Makefile
index aca1ae0835b5..327b1bd845f9 100644
--- a/www/py-dj52-django-auth-ldap/Makefile
+++ b/www/py-dj52-django-auth-ldap/Makefile
@@ -18,7 +18,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-ldap>=3.1:net/py-python-ldap@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-dj52-django-choices-field/Makefile b/www/py-dj52-django-choices-field/Makefile
index 9427adda97f6..d2a6f2d3aaa1 100644
--- a/www/py-dj52-django-choices-field/Makefile
+++ b/www/py-dj52-django-choices-field/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/www/py-dj52-django-cors-headers/Makefile b/www/py-dj52-django-cors-headers/Makefile
index 887eaded14b6..01c92456e812 100644
--- a/www/py-dj52-django-cors-headers/Makefile
+++ b/www/py-dj52-django-cors-headers/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/www/py-dj52-django-debug-toolbar/Makefile b/www/py-dj52-django-debug-toolbar/Makefile
index 595111505fb5..6d58e7d5baf2 100644
--- a/www/py-dj52-django-debug-toolbar/Makefile
+++ b/www/py-dj52-django-debug-toolbar/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVO
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2.9:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-dj52-django-filter/Makefile b/www/py-dj52-django-filter/Makefile
index 653b1020be0c..e55ad5ddb7b8 100644
--- a/www/py-dj52-django-filter/Makefile
+++ b/www/py-dj52-django-filter/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-htmx/Makefile b/www/py-dj52-django-htmx/Makefile
index 1d98c51d1362..f514537eab31 100644
--- a/www/py-dj52-django-htmx/Makefile
+++ b/www/py-dj52-django-htmx/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-js-asset/Makefile b/www/py-dj52-django-js-asset/Makefile
index 7e5d300ba127..c53809632cda 100644
--- a/www/py-dj52-django-js-asset/Makefile
+++ b/www/py-dj52-django-js-asset/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-mptt/Makefile b/www/py-dj52-django-mptt/Makefile
index 18ab030b3f5a..7cd96d327428 100644
--- a/www/py-dj52-django-mptt/Makefile
+++ b/www/py-dj52-django-mptt/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}\
${PYTHON_PKGNAMEPREFIX}dj52-django-js-asset>0:www/py-dj52-django-js-asset@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-prometheus/Makefile b/www/py-dj52-django-prometheus/Makefile
index 6981abef67e2..653a15a7262e 100644
--- a/www/py-dj52-django-prometheus/Makefile
+++ b/www/py-dj52-django-prometheus/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2<6.0:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517 pytest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
diff --git a/www/py-dj52-django-redis/Makefile b/www/py-dj52-django-redis/Makefile
index 5076cb3ad1f5..1ea68f5a6db1 100644
--- a/www/py-dj52-django-redis/Makefile
+++ b/www/py-dj52-django-redis/Makefile
@@ -21,7 +21,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>=0:devel/py-pytest-mock@${PY_FLAVOR} \
redis-server:databases/redis
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
# Required for Python 3.11+ as the cgi module is deprecated and slated for removal in Python 3.13
diff --git a/www/py-dj52-django-rich/Makefile b/www/py-dj52-django-rich/Makefile
index cdd893e06189..f2791ec966c5 100644
--- a/www/py-dj52-django-rich/Makefile
+++ b/www/py-dj52-django-rich/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-storages/Makefile b/www/py-dj52-django-storages/Makefile
index d42e105a875d..76a54fe9121b 100644
--- a/www/py-dj52-django-storages/Makefile
+++ b/www/py-dj52-django-storages/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2:devel/py-setuptools@${PY_
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-stubs-ext/Makefile b/www/py-dj52-django-stubs-ext/Makefile
index 25d977dbd71d..0453eda17d50 100644
--- a/www/py-dj52-django-stubs-ext/Makefile
+++ b/www/py-dj52-django-stubs-ext/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uv-build>=0:devel/py-uv-build@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=0:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-dj52-django-tables2/Makefile b/www/py-dj52-django-tables2/Makefile
index e5826b984125..25f691cdb25e 100644
--- a/www/py-dj52-django-tables2/Makefile
+++ b/www/py-dj52-django-tables2/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-taggit/Makefile b/www/py-dj52-django-taggit/Makefile
index 5b9ea7a0b4a9..dcbd4a35828d 100644
--- a/www/py-dj52-django-taggit/Makefile
+++ b/www/py-dj52-django-taggit/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.1:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-django-timezone-field/Makefile b/www/py-dj52-django-timezone-field/Makefile
index e44cc4dab88a..15c1adcb46b1 100644
--- a/www/py-dj52-django-timezone-field/Makefile
+++ b/www/py-dj52-django-timezone-field/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-djangorestframework/Makefile b/www/py-dj52-djangorestframework/Makefile
index 6436e9c8e956..48bf4005203b 100644
--- a/www/py-dj52-djangorestframework/Makefile
+++ b/www/py-dj52-djangorestframework/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-drf-spectacular-sidecar/Makefile b/www/py-dj52-drf-spectacular-sidecar/Makefile
index 9327978bbf68..71115069581a 100644
--- a/www/py-dj52-drf-spectacular-sidecar/Makefile
+++ b/www/py-dj52-drf-spectacular-sidecar/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=2.2:www/py-django52@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-drf-spectacular/Makefile b/www/py-dj52-drf-spectacular/Makefile
index 0b0dff5282b8..cb5973a1c60d 100644
--- a/www/py-dj52-drf-spectacular/Makefile
+++ b/www/py-dj52-drf-spectacular/Makefile
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=2.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}uritemplate>=2.0.0:net/py-uritemplate@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist distutils
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-dj52-social-auth-app-django/Makefile b/www/py-dj52-social-auth-app-django/Makefile
index 3463b549ff07..90d6699e9f66 100644
--- a/www/py-dj52-social-auth-app-django/Makefile
+++ b/www/py-dj52-social-auth-app-django/Makefile
@@ -16,7 +16,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.1:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.4<5:security/py-social-auth-core@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= python-social-auth
GH_PROJECT= social-app-django
diff --git a/www/py-dj52-strawberry-graphql-django/Makefile b/www/py-dj52-strawberry-graphql-django/Makefile
index 0aad0fc6f38f..680f68ca92a8 100644
--- a/www/py-dj52-strawberry-graphql-django/Makefile
+++ b/www/py-dj52-strawberry-graphql-django/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.283.2:devel/py-dj52-strawberry-graphql@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-django-appconf/Makefile b/www/py-django-appconf/Makefile
index 0caa5139751d..836fc1920f51 100644
--- a/www/py-django-appconf/Makefile
+++ b/www/py-django-appconf/Makefile
@@ -13,7 +13,7 @@ WWW= https://django-appconf.readthedocs.io/en/latest/ \
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
diff --git a/www/py-django-cors-headers/Makefile b/www/py-django-cors-headers/Makefile
index 2ea1f7c1ad4f..f8042d261d23 100644
--- a/www/py-django-cors-headers/Makefile
+++ b/www/py-django-cors-headers/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/www/py-django-debug-toolbar/Makefile b/www/py-django-debug-toolbar/Makefile
index ac1b854f706f..8f6ab2249d2b 100644
--- a/www/py-django-debug-toolbar/Makefile
+++ b/www/py-django-debug-toolbar/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVO
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2.9:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-django-js-asset/Makefile b/www/py-django-js-asset/Makefile
index 22548ae1337b..58500e59a08f 100644
--- a/www/py-django-js-asset/Makefile
+++ b/www/py-django-js-asset/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/www/py-django-mptt/Makefile b/www/py-django-mptt/Makefile
index 67fc7398c45b..a640ace05353 100644
--- a/www/py-django-mptt/Makefile
+++ b/www/py-django-mptt/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}\
${PYTHON_PKGNAMEPREFIX}django-js-asset>0:www/py-django-js-asset@${PY_FLAVOR}
-USES= python:3.10+ # www/py-django-js-asset requires Python 3.10+
+USES= python # www/py-django-js-asset requires Python 3.10+
USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/www/py-django-picklefield/Makefile b/www/py-django-picklefield/Makefile
index cddcbad5dad4..e7ee4f81b81a 100644
--- a/www/py-django-picklefield/Makefile
+++ b/www/py-django-picklefield/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-django-stubs-ext/Makefile b/www/py-django-stubs-ext/Makefile
index 9c18cd3dd642..02e6dcb371c6 100644
--- a/www/py-django-stubs-ext/Makefile
+++ b/www/py-django-stubs-ext/Makefile
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uv-build08>=0.8.22:devel/py-uv-build08@${P
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=0:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-django-tables2/Makefile b/www/py-django-tables2/Makefile
index b94edd5ccbf4..d71ea3083b8e 100644
--- a/www/py-django-tables2/Makefile
+++ b/www/py-django-tables2/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-django-tasks/Makefile b/www/py-django-tasks/Makefile
index c5015900717b..14e627da69f7 100644
--- a/www/py-django-tasks/Makefile
+++ b/www/py-django-tasks/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django-stubs-ext>=0:www/py-django-stubs-ext@
${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-django-unfold/Makefile b/www/py-django-unfold/Makefile
index ccb75dd22d1a..bf40aa790931 100644
--- a/www/py-django-unfold/Makefile
+++ b/www/py-django-unfold/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-django51/Makefile b/www/py-django51/Makefile
index 8eef2ebc7560..3a8e76f63004 100644
--- a/www/py-django51/Makefile
+++ b/www/py-django51/Makefile
@@ -27,7 +27,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.8.1:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.3.1:databases/py-sqlparse@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tblib>0:devel/py-tblib@${PY_FLAVOR}
-USES= cpe python:3.10+ shebangfix
+USES= cpe python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-django52/Makefile b/www/py-django52/Makefile
index 930a13f07301..057facb616fa 100644
--- a/www/py-django52/Makefile
+++ b/www/py-django52/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.8.1:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.3.1:databases/py-sqlparse@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tblib>0:devel/py-tblib@${PY_FLAVOR}
-USES= cpe python:3.10+ shebangfix
+USES= cpe python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-draftjs-exporter/Makefile b/www/py-draftjs-exporter/Makefile
index 0d1197bae9df..c9b3c12b62d3 100644
--- a/www/py-draftjs-exporter/Makefile
+++ b/www/py-draftjs-exporter/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-httpx-ws/Makefile b/www/py-httpx-ws/Makefile
index a4a4c2a65635..b2124ffd6980 100644
--- a/www/py-httpx-ws/Makefile
+++ b/www/py-httpx-ws/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=4:devel/py-anyio@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}httpx>=0.23.1:www/py-httpx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wsproto>=0:net/py-wsproto@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-planet-auth/Makefile b/www/py-planet-auth/Makefile
index 7091e62d1335..6d07c48bebb5 100644
--- a/www/py-planet-auth/Makefile
+++ b/www/py-planet-auth/Makefile
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}StrEnum>=0:devel/py-strenum@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-planet/Makefile b/www/py-planet/Makefile
index 3845dee12681..ecc21f317595 100644
--- a/www/py-planet/Makefile
+++ b/www/py-planet/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=8.0:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tqdm>=4.56:misc/py-tqdm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-postorius/Makefile b/www/py-postorius/Makefile
index 2646a6e3f094..2123a0e89ac8 100644
--- a/www/py-postorius/Makefile
+++ b/www/py-postorius/Makefile
@@ -22,7 +22,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_
${PYTHON_PKGNAMEPREFIX}django-requests-debug-toolbar>=0:www/py-django-requests-debug-toolbar@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}isort>=0:devel/py-isort@${PY_FLAVOR}
-USES= cpe python:3.9+ shebangfix
+USES= cpe python shebangfix
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-pylsqpack/Makefile b/www/py-pylsqpack/Makefile
index aa40988fd28c..e6a5c4a1f55a 100644
--- a/www/py-pylsqpack/Makefile
+++ b/www/py-pylsqpack/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= compiler:c++11-lang python:3.10+
+USES= compiler:c++11-lang python
USE_PYTHON= autoplist concurrent pep517 unittest
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR}
diff --git a/www/py-quart/Makefile b/www/py-quart/Makefile
index 7feac5d82aba..24c6cd123738 100644
--- a/www/py-quart/Makefile
+++ b/www/py-quart/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiofiles>=0:devel/py-aiofiles@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}markupsafe>=0:textproc/py-markupsafe@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}werkzeug>=3.0:www/py-werkzeug@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-quilt3/Makefile b/www/py-quilt3/Makefile
index d1e765610d28..b8be1c8ea230 100644
--- a/www/py-quilt3/Makefile
+++ b/www/py-quilt3/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=1.21.7:www/py-boto3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tenacity>=5.1.1:devel/py-tenacity@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tqdm>=4.32:misc/py-tqdm@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-social-auth-app-django/Makefile b/www/py-social-auth-app-django/Makefile
index 2fd14a9719b5..14603e46fc8a 100644
--- a/www/py-social-auth-app-django/Makefile
+++ b/www/py-social-auth-app-django/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.4<5:security/py-social-auth-core@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= python-social-auth
GH_PROJECT= social-app-django
diff --git a/www/py-strawberry-graphql-django/Makefile b/www/py-strawberry-graphql-django/Makefile
index 4e4eaebe2b0d..8419ba45ab28 100644
--- a/www/py-strawberry-graphql-django/Makefile
+++ b/www/py-strawberry-graphql-django/Makefile
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}strawberry-graphql>=0.283.3:devel/py-strawberry-graphql@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-wagtail-localize/Makefile b/www/py-wagtail-localize/Makefile
index 94ccd8ad9112..a033c4e11811 100644
--- a/www/py-wagtail-localize/Makefile
+++ b/www/py-wagtail-localize/Makefile
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2<6.0:www/py-django42@${PY_FLAVO
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0:devel/py-typing-extensions@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wagtail>=5.2:www/py-wagtail@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/py-werkzeug/Makefile b/www/py-werkzeug/Makefile
index 124d8ca76eef..d98f1ae010a1 100644
--- a/www/py-werkzeug/Makefile
+++ b/www/py-werkzeug/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=0<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markupsafe>=2.1.1:textproc/py-markupsafe@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/www/qutebrowser/Makefile b/www/qutebrowser/Makefile
index 9b14a6c880a3..720210379ecf 100644
--- a/www/qutebrowser/Makefile
+++ b/www/qutebrowser/Makefile
@@ -22,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}colorama>=0:devel/py-colorama@${PY_FLAVOR} \
FLAVORS= qt6 qt5
FLAVOR?= ${FLAVORS:[1]}
-USES= cpe desktop-file-utils python:3.9+
+USES= cpe desktop-file-utils python
USE_PYQT= webengine
USE_PYTHON= autoplist noflavors pep517
diff --git a/www/unit-python/Makefile b/www/unit-python/Makefile
index b30f2319e8be..5a311aaffd89 100644
--- a/www/unit-python/Makefile
+++ b/www/unit-python/Makefile
@@ -4,7 +4,7 @@ UNIT_MODNAME= python${PYTHON_SUFFIX}
COMMENT= Python module for NGINX Unit
-USES= python:3.9-3.11 gettext-runtime
+USES= python:-3.11 gettext-runtime
USE_PYTHON= flavors
PLIST_FILES= libexec/unit/modules/${UNIT_MODNAME}.unit.so
diff --git a/x11-fonts/py-afdko/Makefile b/x11-fonts/py-afdko/Makefile
index 8f40b67b335e..ec3774125adb 100644
--- a/x11-fonts/py-afdko/Makefile
+++ b/x11-fonts/py-afdko/Makefile
@@ -26,7 +26,7 @@ RUN_DEPENDS= afdko>=${PORTVERSION}<${PORTVERSION}_99:x11-fonts/afdko \
# x11-fonts/py-defcon[pens]: print/py-fontpens
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}fontpens>=0.1.0:print/py-fontpens@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/x11-fonts/py-gfsubsets/Makefile b/x11-fonts/py-gfsubsets/Makefile
index 106953c0d371..3e8008ed7855 100644
--- a/x11-fonts/py-gfsubsets/Makefile
+++ b/x11-fonts/py-gfsubsets/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8.0:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/x11-fonts/py-vfblib/Makefile b/x11-fonts/py-vfblib/Makefile
index 95abf7fc6493..3b8ec54b31ad 100644
--- a/x11-fonts/py-vfblib/Makefile
+++ b/x11-fonts/py-vfblib/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fonttools>=4.59.0:print/py-fonttools@${PY_FL
${PYTHON_PKGNAMEPREFIX}ufolib2>=0.18.1:print/py-ufolib2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ufonormalizer>=0.6.1:x11-fonts/py-ufonormalizer@${PY_FLAVOR}
-USES= python:3.10+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/x11/autorandr/Makefile b/x11/autorandr/Makefile
index a99f33c03222..a52479a478a9 100644
--- a/x11/autorandr/Makefile
+++ b/x11/autorandr/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/gpl-3.0.txt
BUILD_DEPENDS= gsed:textproc/gsed
RUN_DEPENDS= xrandr:x11/xrandr
-USES= gmake pkgconfig python:3.9-3.10 shebangfix xorg
+USES= gmake pkgconfig python:3.10 shebangfix xorg
# Use GitHub instead of MASTER_SITES=PYPI to get additional files like
# the manual page and the license.
USE_GITHUB= yes