summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-07 17:57:44 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-07 17:57:44 +0000
commit1bc15ae64b5672259525c9cc8488de3db2c4799e (patch)
tree91dfdc27e74a9a22dcfceecfd2688c50c2b46637 /dev-python
parentdec48510db2d47fcd376263132c9362cc6aa66a9 (diff)
downloadbaldeagleos-repo-1bc15ae64b5672259525c9cc8488de3db2c4799e.tar.gz
baldeagleos-repo-1bc15ae64b5672259525c9cc8488de3db2c4799e.tar.xz
baldeagleos-repo-1bc15ae64b5672259525c9cc8488de3db2c4799e.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp/aiohttp-3.12.15.ebuild2
-rw-r--r--dev-python/anyio/anyio-4.10.0.ebuild2
-rw-r--r--dev-python/argon2-cffi-bindings/argon2-cffi-bindings-25.1.0.ebuild2
-rw-r--r--dev-python/audioop-lts/audioop-lts-0.2.2.ebuild2
-rw-r--r--dev-python/awkward-cpp/Manifest1
-rw-r--r--dev-python/awkward-cpp/awkward-cpp-49.ebuild32
-rw-r--r--dev-python/awkward/Manifest1
-rw-r--r--dev-python/awkward/awkward-2.8.8.ebuild52
-rw-r--r--dev-python/betterproto/betterproto-2.0.0_beta6.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.25.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.25.ebuild67
-rw-r--r--dev-python/bottleneck/Manifest3
-rw-r--r--dev-python/bottleneck/bottleneck-1.4.2.ebuild50
-rw-r--r--dev-python/bottleneck/bottleneck-1.6.0_rc1.ebuild (renamed from dev-python/bottleneck/bottleneck-1.5.0_rc1.ebuild)7
-rw-r--r--dev-python/contourpy/contourpy-1.3.3.ebuild2
-rw-r--r--dev-python/coverage/coverage-7.9.2.ebuild2
-rw-r--r--dev-python/croniter/croniter-6.0.0.ebuild2
-rw-r--r--dev-python/deepdiff/deepdiff-8.5.0.ebuild2
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.21.1.ebuild2
-rw-r--r--dev-python/dnspython/dnspython-2.7.0-r1.ebuild2
-rw-r--r--dev-python/elasticsearch/elasticsearch-9.1.0.ebuild2
-rw-r--r--dev-python/findpython/findpython-0.6.3.ebuild2
-rw-r--r--dev-python/griffe/Manifest2
-rw-r--r--dev-python/griffe/griffe-1.14.0.ebuild (renamed from dev-python/griffe/griffe-1.12.1.ebuild)0
-rw-r--r--dev-python/grpclib/grpclib-0.4.8.ebuild2
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.6.14.ebuild30
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/mpmath/Manifest1
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_beta1.ebuild57
-rw-r--r--dev-python/mypy/mypy-1.17.0.ebuild2
-rw-r--r--dev-python/notebook/notebook-7.4.5.ebuild2
-rw-r--r--dev-python/orderly-set/orderly-set-5.4.1.ebuild2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.08.27.ebuild2
-rw-r--r--dev-python/pikepdf/pikepdf-9.10.2.ebuild2
-rw-r--r--dev-python/podman/Manifest1
-rw-r--r--dev-python/podman/podman-5.6.0.ebuild50
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild2
-rw-r--r--dev-python/poetry/poetry-2.1.3.ebuild2
-rw-r--r--dev-python/py-himitsu/Manifest1
-rw-r--r--dev-python/py-himitsu/metadata.xml10
-rw-r--r--dev-python/py-himitsu/py-himitsu-0.0.9.ebuild23
-rw-r--r--dev-python/pycares/pycares-4.10.0.ebuild2
-rw-r--r--dev-python/pygit2/pygit2-1.18.1.ebuild2
-rw-r--r--dev-python/pylsqpack/pylsqpack-0.3.22.ebuild2
-rw-r--r--dev-python/pyotp/pyotp-2.9.0.ebuild2
-rw-r--r--dev-python/pypi-attestations/Manifest1
-rw-r--r--dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild3
-rw-r--r--dev-python/pyscard/pyscard-2.3.0.ebuild2
-rw-r--r--dev-python/pytest-cov/Manifest1
-rw-r--r--dev-python/pytest-cov/pytest-cov-6.3.0.ebuild56
-rw-r--r--dev-python/pytest-datadir/pytest-datadir-1.8.0.ebuild2
-rw-r--r--dev-python/pytest-fixture-classes/pytest-fixture-classes-1.0.3.ebuild2
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild2
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.4.ebuild2
-rw-r--r--dev-python/pytest-regressions/Manifest2
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.8.3.ebuild72
-rw-r--r--dev-python/pytest-twisted/pytest-twisted-1.14.3-r1.ebuild2
-rw-r--r--dev-python/python-augeas/python-augeas-1.2.0.ebuild2
-rw-r--r--dev-python/python-tests/Manifest3
-rw-r--r--dev-python/python-tests/python-tests-0.3.13.5.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.11.13.ebuild76
-rw-r--r--dev-python/python-tests/python-tests-3.12.11.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.12.11_p1.ebuild2
-rw-r--r--dev-python/python-tests/python-tests-3.13.5.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.13.5_p1.ebuild2
-rw-r--r--dev-python/pyzmq/pyzmq-27.0.1.ebuild2
-rw-r--r--dev-python/readability-lxml/Manifest1
-rw-r--r--dev-python/readability-lxml/readability-lxml-0.8.1.ebuild49
-rw-r--r--dev-python/redis/redis-6.3.0.ebuild2
-rw-r--r--dev-python/regex/regex-2025.7.31.ebuild2
-rw-r--r--dev-python/requests-cache/files/requests-cache-1.2.1-no-timeout-decorator.patch111
-rw-r--r--dev-python/requests-cache/requests-cache-1.2.1.ebuild9
-rw-r--r--dev-python/requests-file/requests-file-2.1.0.ebuild2
-rw-r--r--dev-python/rfc3161-client/rfc3161-client-1.0.3.ebuild2
-rw-r--r--dev-python/rfc8785/rfc8785-0.1.4.ebuild2
-rw-r--r--dev-python/rq/Manifest1
-rw-r--r--dev-python/rq/rq-2.6.0.ebuild81
-rw-r--r--dev-python/sabctools/sabctools-8.2.6.ebuild2
-rw-r--r--dev-python/securesystemslib/securesystemslib-1.3.0.ebuild2
-rw-r--r--dev-python/setproctitle/Manifest1
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.7.ebuild32
-rw-r--r--dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild2
-rw-r--r--dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild6
-rw-r--r--dev-python/sigstore/sigstore-3.6.5.ebuild2
-rw-r--r--dev-python/simsimd/Manifest5
-rw-r--r--dev-python/simsimd/simsimd-6.5.2.ebuild (renamed from dev-python/simsimd/simsimd-6.5.0.ebuild)0
-rw-r--r--dev-python/simsimd/simsimd-6.5.3.ebuild (renamed from dev-python/simsimd/simsimd-6.4.10.ebuild)18
-rw-r--r--dev-python/sphinx-tabs/files/sphinx-tabs-3.4.7-sphinx-8.1.patch207
-rw-r--r--dev-python/sphinx-tabs/sphinx-tabs-3.4.7-r1.ebuild (renamed from dev-python/sphinx-tabs/sphinx-tabs-3.4.7.ebuild)11
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild3
-rw-r--r--dev-python/sphinxcontrib-mermaid/metadata.xml4
-rw-r--r--dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild4
-rw-r--r--dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.18.ebuild3
-rw-r--r--dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild4
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild10
-rw-r--r--dev-python/spotipy/spotipy-2.25.1.ebuild4
-rw-r--r--dev-python/stripe/Manifest2
-rw-r--r--dev-python/stripe/stripe-12.5.1.ebuild (renamed from dev-python/stripe/stripe-12.3.0.ebuild)2
-rw-r--r--dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild5
-rw-r--r--dev-python/thriftpy2/Manifest1
-rw-r--r--dev-python/thriftpy2/files/thriftpy2-0.5.3-tomllib.patch30
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.5.3.ebuild44
-rw-r--r--dev-python/time-machine/time-machine-2.19.0.ebuild2
-rw-r--r--dev-python/tldextract/tldextract-5.3.0.ebuild2
-rw-r--r--dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild2
-rw-r--r--dev-python/toolz/files/toolz-1.0.0-py314.patch27
-rw-r--r--dev-python/toolz/toolz-1.0.0-r1.ebuild27
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-45.patch74
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r2.ebuild (renamed from dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r1.ebuild)8
-rw-r--r--dev-python/tuf/tuf-6.0.0.ebuild2
-rw-r--r--dev-python/twython/twython-3.9.1-r1.ebuild5
-rw-r--r--dev-python/typer/Manifest2
-rw-r--r--dev-python/typer/typer-0.17.4.ebuild68
-rw-r--r--dev-python/uncertainties/uncertainties-3.2.3.ebuild1
-rw-r--r--dev-python/unearth/Manifest1
-rw-r--r--dev-python/unearth/unearth-0.17.5.ebuild9
-rw-r--r--dev-python/weasyprint/Manifest1
-rw-r--r--dev-python/weasyprint/weasyprint-66.0.ebuild4
-rw-r--r--dev-python/xdoctest/files/xdoctest-1.2.0-py314.patch58
-rw-r--r--dev-python/xdoctest/xdoctest-1.2.0-r1.ebuild52
-rw-r--r--dev-python/xdoctest/xdoctest-1.2.0.ebuild10
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.16.ebuild2
-rw-r--r--dev-python/zeep/files/zeep-4.3.1-httpx-0.28.patch29
-rw-r--r--dev-python/zeep/zeep-4.3.1-r1.ebuild (renamed from dev-python/zeep/zeep-4.3.1.ebuild)12
-rw-r--r--dev-python/zeroconf/Manifest2
-rw-r--r--dev-python/zeroconf/zeroconf-0.147.2.ebuild69
-rw-r--r--dev-python/zmq-anyio/Manifest1
-rw-r--r--dev-python/zmq-anyio/zmq-anyio-0.3.9.ebuild49
134 files changed, 1577 insertions, 580 deletions
diff --git a/dev-python/aiohttp/aiohttp-3.12.15.ebuild b/dev-python/aiohttp/aiohttp-3.12.15.ebuild
index 2ee647602400..aac332a8ac6a 100644
--- a/dev-python/aiohttp/aiohttp-3.12.15.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.12.15.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="+native-extensions test-rust"
DEPEND="
diff --git a/dev-python/anyio/anyio-4.10.0.ebuild b/dev-python/anyio/anyio-4.10.0.ebuild
index c2a5c01546de..ad10cd247826 100644
--- a/dev-python/anyio/anyio-4.10.0.ebuild
+++ b/dev-python/anyio/anyio-4.10.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/idna-2.8[${PYTHON_USEDEP}]
diff --git a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-25.1.0.ebuild b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-25.1.0.ebuild
index 7db871e6dba0..c0936b0f4d3a 100644
--- a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-25.1.0.ebuild
+++ b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-25.1.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="cpu_flags_x86_sse2"
DEPEND="
diff --git a/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild b/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild
index ba2bd20aea90..50b8262eb3fb 100644
--- a/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild
+++ b/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/awkward-cpp/Manifest b/dev-python/awkward-cpp/Manifest
index 6f8c7bb6cf28..babf61d7914e 100644
--- a/dev-python/awkward-cpp/Manifest
+++ b/dev-python/awkward-cpp/Manifest
@@ -1 +1,2 @@
DIST awkward_cpp-48.tar.gz 1485805 BLAKE2B a7b40ebc20766fa9c15d2ccbe8e7a5ee091be7239afc386ade1c71fc9003d8c41877d47bb7ca9fecdc5a90a552baf43abd0970c49d08314c2aeec09dd6d56345 SHA512 1c2209ca84c018ba5221e876bd3e388dbd41d9ec8a20816e3ce91421ec88971e9b922b2e3f9075f0bfeb292bc8c6dbef34aef461e235a88a10f77c80f4b3c2c8
+DIST awkward_cpp-49.tar.gz 1485870 BLAKE2B 0325759641f647a5f155e1a36b68a104556b78a65ceb47e68401836646f5d7e426dd18f26d9c16c30e70129615711a1fa2dcadd8f0edff8e85e9bcb3a8e60446 SHA512 b417f1450994e1916a9d5aa7c07c180f657a2ae77f53ac97315b1df526a618eabadb689f5099cf6e2af571de7f67ab84156fa00cb6723fd0fd8f161760b1458e
diff --git a/dev-python/awkward-cpp/awkward-cpp-49.ebuild b/dev-python/awkward-cpp/awkward-cpp-49.ebuild
new file mode 100644
index 000000000000..8f6a02e53098
--- /dev/null
+++ b/dev-python/awkward-cpp/awkward-cpp-49.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CPU kernels and compiled extensions for Awkward Array"
+HOMEPAGE="
+ https://github.com/scikit-hep/awkward/
+ https://pypi.org/project/awkward-cpp/
+"
+
+# MIT from rapidjson
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ >=dev-python/numpy-1.18.0[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-python/pybind11-3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/awkward/Manifest b/dev-python/awkward/Manifest
index 22d88a520fc1..82c4f9c0bb72 100644
--- a/dev-python/awkward/Manifest
+++ b/dev-python/awkward/Manifest
@@ -1 +1,2 @@
DIST awkward-2.8.7.tar.gz 6224004 BLAKE2B 23558dd49fb61b9a1607f6c3ef22287d4b6542fb0e3bd4571538c3683bcccd674c47ceac0f70bc50a0e93cc1387a7cb4a56b363e48b5c6a7017e7e1d72417ac6 SHA512 859fa430927f33d21d5ed47db4cfd44a4df2703621e9f47fc4e64568d2e1f3cb7747f89b7491c28811bc207347a234c1e371fb0ef31c8b7fc996d3240140c6cc
+DIST awkward-2.8.8.tar.gz 6231035 BLAKE2B e979953ab3742537a5a6cf3fe67e735a82f13be6a8e8d32848e8659820b151b9384f33af4dca2307ca19a8229af2611050877bf914e540d3699d1279d1b32683 SHA512 1991185adc6a6701c9d7feb7f0a6011a5aeaad6d180c0ea140d9f3fcb5db8fb8c253779da848a03f2e84b37bdbfcdea4f7a7b4c88e60d7fbb1f2e7b662c14887
diff --git a/dev-python/awkward/awkward-2.8.8.ebuild b/dev-python/awkward/awkward-2.8.8.ebuild
new file mode 100644
index 000000000000..8899378b2ef0
--- /dev/null
+++ b/dev-python/awkward/awkward-2.8.8.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+DISTUTILS_USE_PEP517=hatchling
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manipulate JSON-like data with NumPy-like idioms"
+HOMEPAGE="
+ https://github.com/scikit-hep/awkward
+ https://pypi.org/project/awkward/
+ https://doi.org/10.5281/zenodo.4341376
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ ~dev-python/awkward-cpp-49[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
+ ' 3.11)
+ >=dev-python/numpy-1.18.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2022.11.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[zstd]
+ dev-python/pyarrow[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )
+"
+ #dev-python/numba[${PYTHON_USEDEP}] # needs numba from sci
+
+EPYTEST_IGNORE=(
+ tests-cuda/
+ tests-cuda-kernels/
+ # fails if just caffe2 but not pytorch is installed
+ tests/test_3259_to_torch_from_torch.py
+)
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild b/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild
index 24ffc8600477..64011bc9ecc1 100644
--- a/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild
+++ b/dev-python/betterproto/betterproto-2.0.0_beta6.ebuild
@@ -34,7 +34,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
RDEPEND="
>=dev-python/black-23.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 137488e2d81b..254d695b0616 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -10,4 +10,5 @@ DIST boto3-1.40.21.gh.tar.gz 992637 BLAKE2B 5c5b716506fef7223c4f49d6d966d43b59d5
DIST boto3-1.40.22.gh.tar.gz 993220 BLAKE2B 0934e287b1b7919d4503a0698e78d41440a80ce46a326ca3b15638fc618489dea3c952889c6aa15d3c68d0d06f2bbffed4cba0600468063e8732037cf8184d5c SHA512 1a2ad668401198330427a09ff22d91af30cfffb8d8830132a116e6725ca2e5e5eec45747e0668b5105f29ea9bf78a4d74183bdd90aaf5286ccdff08aaf0b914e
DIST boto3-1.40.23.gh.tar.gz 994090 BLAKE2B 352012f02f25ee3b109340024d2f507852a16c839c74156ee6ce2bde193776abed03566ac1cefc7ffa1d874c3b293f16428c1119ad2ab0894dfb022301f8e688 SHA512 9fd7b0919af7675590d8074cc8908041807343fce06db101fc648055044d744911cfd154c890492a0f1684daa88909e7f862e37acc88777c547f9d612899faaf
DIST boto3-1.40.24.gh.tar.gz 995134 BLAKE2B a607e1b8fcb5de158538dbea482578d12f55fccc3a01dd3f728f66f1f715665ce06281c1654f1360610b5c0753b9d5fdb32dc31f3c0b082704ca0145750028a2 SHA512 2eccc12fbb9dbcb5497aecff2373f6b47a2a1eeb17491b9c3b0a231dbb249307d3ec6e81e75dd346479bd3577ccbd4389079027c9de8db0c80f719ad07ee48ce
+DIST boto3-1.40.25.gh.tar.gz 995333 BLAKE2B c7e6934040c8a97f0fbc3a4db2ff5bf3ad70040c73283238a6fdd296ee2843bde7dbe19efd88aac0d12f45ece69b75f6072ad3c71718ef9fe615f1132630ccea SHA512 fcbf48f1630f7322009e36e63a8f13a5a08b67c4762fb3d954da56da072e888298a64d6603aa7e810732dfde21d096e732937ff6a0d48ef331f7425196be91c9
DIST boto3-1.40.6.gh.tar.gz 981330 BLAKE2B 929b4326d8d48e46750128e6236776b86fd5e59f0aab113e3ec797f18f138c7f52b30a79724f97de8083fd8e8baa04169e68e219ef5acf592561dabb838b4374 SHA512 65431a0d084298f51e0eee1753119f811261e9e57fdc5fa0491c9ce8d4fc745e705aed22527c8c06e003227c5c0bccc1a659e04bcc96a68fafb61bc53ec70a84
diff --git a/dev-python/boto3/boto3-1.40.25.ebuild b/dev-python/boto3/boto3-1.40.25.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.25.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index fbb7b5cc447a..b55b28e7140f 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -10,4 +10,5 @@ DIST botocore-1.40.21.gh.tar.gz 15110941 BLAKE2B 93927041ef8b5b3a6349a766a5f15af
DIST botocore-1.40.22.gh.tar.gz 15114103 BLAKE2B 0350411e220c7a22bc0f48742bb2062f9b35b795ccf029f806676c3215a96c966f3907e54f63ccfdae55540d47eaec517734b598e585b242cc8037ebcde41661 SHA512 566a50d640411f4121fe7cc3d2d7887f6a23005e1faa2cfd7fbbde2db41050b37795447ab2686dfe2b6b9bd364d63aa43b776ee4a57ec7d0f734f4c180a7e8f8
DIST botocore-1.40.23.gh.tar.gz 15118146 BLAKE2B 78cd29470e51d04f53a8fabd61cee61248dbe738e64f0979e816949ae9aed959adf4de4f0870a0564e17fcdd6b8ed7c869baf27d6d983cee8bfcd7f8d2878699 SHA512 db070ac47cccb9af6f77c625a5397f5097f59bd8b2ae4806443b471e7f97a4e7c38c7d4bce6ea9cbcc62e34f81abf076c57300ae705816a7b74c0fae2bd9bcdd
DIST botocore-1.40.24.gh.tar.gz 15121130 BLAKE2B 8e6b73ded0b9fcb20f86a36debfe92e04eb48725ace1af64890ad42b411d7fa6aaae45bae58f3db22cf28d50eee2c634b0bb0ed5353e604e12a3451928a8522a SHA512 e09624f5e210ca7f24352766c5665b9716ff3bdd9501bd61978796b32c7e86ca9e2fb63bd681d6e8147e4af015957fe781bad20454d2f57931ae0e1a0c470353
+DIST botocore-1.40.25.gh.tar.gz 15123642 BLAKE2B 71ba5fa27fa51782f213b1b818f15f3e162d8ef17c161494d58917806ed713157e12cfdccd998fe8df747eb66cda74330cbe0e7b665babfa7b71fc2fab569d08 SHA512 ea4ee30500317b84536d4bb7d694d110bdd2d5e202f267514d8e85678656e73f356b640809f56e21e030ce4e69b49431a51ee9cb14218529ac8b67b8cf406bfb
DIST botocore-1.40.6.gh.tar.gz 15096678 BLAKE2B fb76ace4058c814bb8ef17bb216f5f7355eec401e4108d8a6569e07f97b14becb9e99652364dacb7e46e62f3ffaea2e5e1cd241ae832fe0a359ed58bbcfe3500 SHA512 faa311f29da484083f49a9ae7beda844b8878750c7474916ff7200b4a5fdc01e26295923c7a0f0bc4e4b1c22e5381f69546b8685fdeb2112f1c61810d3c9b58d
diff --git a/dev-python/botocore/botocore-1.40.25.ebuild b/dev-python/botocore/botocore-1.40.25.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.25.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/bottleneck/Manifest b/dev-python/bottleneck/Manifest
index c66dbcecbb52..c658651f717f 100644
--- a/dev-python/bottleneck/Manifest
+++ b/dev-python/bottleneck/Manifest
@@ -1,3 +1,2 @@
-DIST bottleneck-1.4.2.tar.gz 103563 BLAKE2B a0fe43222acb63bcdf238282868c4a9acc6a8d0c3aa31d0b8ac9c38b6c4bb9e8a99e97e0227067a400b6320e52bbbbf0f29ddd5e38b32bc8c9cc995086d38e50 SHA512 6998a00375527fe77edd159311780a6551ee21dc2ef0ede7f47f6ca26542af4858df0065b2e8e82c3e5914069d0f467a770f460d04da5288d5a01ffd310d6292
DIST bottleneck-1.5.0.tar.gz 104177 BLAKE2B 3cf5e089ce08bdacaa9ca81fdafd2a2b15b44151f79026803b3e0886fd47d4dcb1428089d7f7d9e75d0a644813c88682f50c5e4d8bac78b2e71089a6da750d8d SHA512 9fefe695afcec7c2ad29db7f84870bbea2224b96b606d0e72b1b6310e078fa098c6950dd3b3ac3bafc927fc0bbf6c56c3fcf89908530d806adeda1d10dec2ee7
-DIST bottleneck-1.5.0rc1.tar.gz 104226 BLAKE2B 83f6f6c8289ea90b68850d970bd8a8c41499070fcef3dff724c17da3643f7b3e8935074babda0eda104118026cab116945a9685f1e508b1adc97c134af68aa31 SHA512 505e7116302266242ac7123c77dcae79ca1329531de98e54e8ae8dba25c65f7a58ad2ff3dd2eb19383362ed1b9591349caa1e92ee24fd5c0eb655d36886436ea
+DIST bottleneck-1.6.0rc1.tar.gz 104335 BLAKE2B 437077e9b658f3c498574f7ca75463541dd957796038d44d0e83ea4b8443097dfa52ca090dcc83dc2a5399a03921ed0d86037e45a2cabd55c9e55afef6348139 SHA512 8690656bc781d2909ead7414e5e6c2b4f59bd564e6bfbf8c6846b1c15f81d7b60c8c2c788dc0a7ab206525efca352e3746f177b78085c64140b060863da75213
diff --git a/dev-python/bottleneck/bottleneck-1.4.2.ebuild b/dev-python/bottleneck/bottleneck-1.4.2.ebuild
deleted file mode 100644
index 97d6bf5e43f5..000000000000
--- a/dev-python/bottleneck/bottleneck-1.4.2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fast NumPy array functions written in C"
-HOMEPAGE="
- https://github.com/pydata/bottleneck/
- https://pypi.org/project/Bottleneck/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-DEPEND="
- >=dev-python/numpy-1.9.1:=[${PYTHON_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # don't overwrites user's optimization level
- sed -e '/extra_compile_args=\["-O2"\]/d' -i setup.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # GC assumptions?
- tests/memory_test.py::test_memory_leak
- )
- ;;
- esac
-
- rm -rf bottleneck || die
- epytest --pyargs bottleneck
-}
diff --git a/dev-python/bottleneck/bottleneck-1.5.0_rc1.ebuild b/dev-python/bottleneck/bottleneck-1.6.0_rc1.ebuild
index 98f628f95077..fccb9d8cc0c3 100644
--- a/dev-python/bottleneck/bottleneck-1.5.0_rc1.ebuild
+++ b/dev-python/bottleneck/bottleneck-1.6.0_rc1.ebuild
@@ -18,7 +18,6 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
DEPEND="
>=dev-python/numpy-1.9.1:=[${PYTHON_USEDEP}]
@@ -26,13 +25,19 @@ DEPEND="
RDEPEND="
${DEPEND}
"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
src_prepare() {
# don't overwrites user's optimization level
sed -e '/extra_compile_args=\["-O2"\]/d' -i setup.py || die
+ rm versioneer.py || die
+
distutils-r1_src_prepare
}
diff --git a/dev-python/contourpy/contourpy-1.3.3.ebuild b/dev-python/contourpy/contourpy-1.3.3.ebuild
index aea77f227e8d..c45b25c2321a 100644
--- a/dev-python/contourpy/contourpy-1.3.3.ebuild
+++ b/dev-python/contourpy/contourpy-1.3.3.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/numpy-1.25[${PYTHON_USEDEP}]
diff --git a/dev-python/coverage/coverage-7.9.2.ebuild b/dev-python/coverage/coverage-7.9.2.ebuild
index 7de9976e09d6..4bc74131d22f 100644
--- a/dev-python/coverage/coverage-7.9.2.ebuild
+++ b/dev-python/coverage/coverage-7.9.2.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/croniter/croniter-6.0.0.ebuild b/dev-python/croniter/croniter-6.0.0.ebuild
index 1cf0a81a42ed..43c128fc1215 100644
--- a/dev-python/croniter/croniter-6.0.0.ebuild
+++ b/dev-python/croniter/croniter-6.0.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
dev-python/python-dateutil[${PYTHON_USEDEP}]
diff --git a/dev-python/deepdiff/deepdiff-8.5.0.ebuild b/dev-python/deepdiff/deepdiff-8.5.0.ebuild
index 5c0b1ffb0756..9d5e6d860d7c 100644
--- a/dev-python/deepdiff/deepdiff-8.5.0.ebuild
+++ b/dev-python/deepdiff/deepdiff-8.5.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/click-8.1.3[${PYTHON_USEDEP}]
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.21.1.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.21.1.ebuild
index a9ee42cd79b3..e3cf793c4af2 100644
--- a/dev-python/dns-lexicon/dns-lexicon-3.21.1.ebuild
+++ b/dev-python/dns-lexicon/dns-lexicon-3.21.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/beautifulsoup4-4[${PYTHON_USEDEP}]
diff --git a/dev-python/dnspython/dnspython-2.7.0-r1.ebuild b/dev-python/dnspython/dnspython-2.7.0-r1.ebuild
index 9844d58a460d..bd51b973511d 100644
--- a/dev-python/dnspython/dnspython-2.7.0-r1.ebuild
+++ b/dev-python/dnspython/dnspython-2.7.0-r1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~x86"
IUSE="dnssec examples https quic"
RDEPEND="
diff --git a/dev-python/elasticsearch/elasticsearch-9.1.0.ebuild b/dev-python/elasticsearch/elasticsearch-9.1.0.ebuild
index 4aa7ee0ea0dd..9f7fa2cb0bfd 100644
--- a/dev-python/elasticsearch/elasticsearch-9.1.0.ebuild
+++ b/dev-python/elasticsearch/elasticsearch-9.1.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
<dev-python/aiohttp-4[${PYTHON_USEDEP}]
diff --git a/dev-python/findpython/findpython-0.6.3.ebuild b/dev-python/findpython/findpython-0.6.3.ebuild
index 06e2a4736794..2f9237198e34 100644
--- a/dev-python/findpython/findpython-0.6.3.ebuild
+++ b/dev-python/findpython/findpython-0.6.3.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index c7b00e517b8e..b13642df768f 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,2 +1,2 @@
-DIST griffe-1.12.1.gh.tar.gz 414545 BLAKE2B b36e0cbfbd21bb300428b7f67e71535aed9674ab000d00963de450d86e40175ccd94590310f849da34d634d7bcc002718a03bbd58376393d43f0e2a9b06867bb SHA512 87758d04410307635a23a25f84bbada28b588ea134d3d70ce106b7f2bdc2ac9e176c79fc7a25597aa3ca0fec379c8c0d18b393a977a96d1534230cb423db7ac9
DIST griffe-1.13.0.gh.tar.gz 415295 BLAKE2B 7aa996ec7edf516cb402f1d3b2619bccd056876a65d325ca636870e657c82ca5a415b42b797f382f135289fc75e83a0efb9c1543bdc01e3333c9256e5b2dc4c5 SHA512 e0636eb3103ba40e09e244db30e56197dd954e097d86a6d09c61287242b25e896e16bcc6b4f63309717c51e30f2ae4fd1c4919e9d3341bb5e3160f7ae2f90303
+DIST griffe-1.14.0.gh.tar.gz 427024 BLAKE2B c28f692830e2ecaa64c6dcb94e9d4f72a68612894f7cde903a8952b6979e361dc21f7f95b92fafe7d918a252681c7ebfa53b29ce0620df2a24a6a8aa87a29669 SHA512 e293bbe788de84365add1674faf03ad9815241802ec358b218d1b14fb613b735d42e05531404bacf21aa14bd43e10e548933c7b13af188c3e88af488781a3f19
diff --git a/dev-python/griffe/griffe-1.12.1.ebuild b/dev-python/griffe/griffe-1.14.0.ebuild
index 34986ff350cc..34986ff350cc 100644
--- a/dev-python/griffe/griffe-1.12.1.ebuild
+++ b/dev-python/griffe/griffe-1.14.0.ebuild
diff --git a/dev-python/grpclib/grpclib-0.4.8.ebuild b/dev-python/grpclib/grpclib-0.4.8.ebuild
index 17bf0042afe6..02eba1cb6586 100644
--- a/dev-python/grpclib/grpclib-0.4.8.ebuild
+++ b/dev-python/grpclib/grpclib-0.4.8.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
# setup.txt + requirements/runtime.in
RDEPEND="
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index 4f10f775c0ee..749fa24b6d8c 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,2 +1,3 @@
DIST identify-2.6.12.gh.tar.gz 101966 BLAKE2B bf8b9faf5b045d616c6c67051b218bda4b50cc0fc929a45e594fd831408f2a24976d79ebed40c36096dd63c01dfc7fa8a0a9eb4c06f5e3b23e4d9e6ba7523f3c SHA512 54f979248629435fadaf991c66855c9fa78a26e4f09e29798643b69c2a6c4f4d436c19cdd2dfc3b11dc4776c1d8e83eb199317e00104e1eadd9aaf60a8235a0a
DIST identify-2.6.13.gh.tar.gz 101964 BLAKE2B 342b31a87bb03b40357c84cb2c2e781de49809564caaf50b8c78dad2982e20970121e6805bce6e0c24718f20f5e84280a1cb382ede3853f71bd39de844602640 SHA512 a9ca7443cc7d24d80035105d5393f683509c07bae3fd81c1ecb8a89f9cb235ce697e82a57ac95f18aadbf5011f2ef46317d3adbd1322f53a5b7af883551a12e0
+DIST identify-2.6.14.gh.tar.gz 102021 BLAKE2B ad1dad02796d23e7786b063d02799710cc6893ae9b0c8897cfc59ca13e33621d134ae4902c2cec351498e5353f73892a68e941f2616e9caab1ce58bc24f7a1be SHA512 3fd6a669824adfbea77fab483d8cdba9e4b4665cbca1e705e83de3f4bf540e07a376cdca5d2a690fec305b1b8f41174fc734d630fe2034937763ad365e17a6e4
diff --git a/dev-python/identify/identify-2.6.14.ebuild b/dev-python/identify/identify-2.6.14.ebuild
new file mode 100644
index 000000000000..5be62ae9f633
--- /dev/null
+++ b/dev-python/identify/identify-2.6.14.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..d12ab8aeaca8 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 98b2b0bf8d0b..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
index 11e838dae1bd..b32990405ce7 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -3,3 +3,4 @@ DIST mpmath-1.4.0a5.tar.gz 2081385 BLAKE2B a6a2b0415f1401948cc8af1bb61449d2804d5
DIST mpmath-1.4.0a6.tar.gz 2085764 BLAKE2B 0faddbcf68689807fae5c1a21b00e669a3fb5cf834321b2c903f298adf4ab74e2861706c4dc4ba2f10f91da02eee02b79f9720d8a1f58f5bff00c8febf75f13a SHA512 477f6af5e1f2bba5ec31f370549f1d91cff9f2985d579cab1392c3bdf4fa83d1417b015ab65655027a0dea36e41cc984b76f53b1cbe79bb057fe899baaa7fb48
DIST mpmath-1.4.0a7.tar.gz 2088255 BLAKE2B ae8578add85134d72401a1e47e687e35b2c40755f4121013c509bbb5d988b649c6bc7aaa803fe135fb34841ed2c12fd243900add9ba92909de66c32c3433063b SHA512 18be276fc51ae701853047e916c7710f27211a2b6a76f7fc7684794422fb9549cdd066daa3bb712123378787932756cf66bee4b718fb3bece99e886f215d2c27
DIST mpmath-1.4.0a8.tar.gz 2088916 BLAKE2B b70f95320b9b49d529b8b855a8a641a748bf076866aa08d5e9a616f6c19f5ce9ec840968c05878ed7c813133ac1cbb903cc98b111f194391dbb0b5a283dda8da SHA512 be256da32d6aeef287205677a78f509acf568ee13a154c16222a1bc62ea14405e29adbbb5bb87a50a1105aff8a48bf533a34b514ff7f6fc48b477f9d164f9b6e
+DIST mpmath-1.4.0b1.tar.gz 2089057 BLAKE2B 3e59017435276ecac774626a80b2c488e95805f02c886833b35aa76ee4bd4371197bde3a61015ec05ea4435122ad05c54a94c40dd98f9792539cf576ddb9f81a SHA512 5c9217a67bca60bba75d4ad2b3c8fbbf0f422e4f5a001515862148e66977ebdd7af7916262d8a10e400997149dce65fd1ffb8978a8c9fe9b76526fbe700375b0
diff --git a/dev-python/mpmath/mpmath-1.4.0_beta1.ebuild b/dev-python/mpmath/mpmath-1.4.0_beta1.ebuild
new file mode 100644
index 000000000000..7740a030e24c
--- /dev/null
+++ b/dev-python/mpmath/mpmath-1.4.0_beta1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_FULLY_TESTED=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE="
+ https://mpmath.org/
+ https://github.com/mpmath/mpmath/
+ https://pypi.org/project/mpmath/
+"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test-full"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/gmpy2-2.3.0_alpha1[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-full? (
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-timeout )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Slow and often needs a re-run to pass
+ mpmath/tests/test_cli.py::test_bare_console_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_no_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_pretty
+ mpmath/tests/test_cli.py::test_bare_console_without_ipython
+ mpmath/tests/test_cli.py::test_bare_console_wrap_floats
+)
+
+pkg_postinst() {
+ optfeature "gmp support" dev-python/gmpy2
+ optfeature "matplotlib support" dev-python/matplotlib
+}
diff --git a/dev-python/mypy/mypy-1.17.0.ebuild b/dev-python/mypy/mypy-1.17.0.ebuild
index 9b5b9d01871a..599702ba0f8f 100644
--- a/dev-python/mypy/mypy-1.17.0.ebuild
+++ b/dev-python/mypy/mypy-1.17.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="+native-extensions"
# stubgen collides with this package: https://bugs.gentoo.org/585594
diff --git a/dev-python/notebook/notebook-7.4.5.ebuild b/dev-python/notebook/notebook-7.4.5.ebuild
index 8b121b5f081b..ca637d593065 100644
--- a/dev-python/notebook/notebook-7.4.5.ebuild
+++ b/dev-python/notebook/notebook-7.4.5.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
RDEPEND="
>=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/orderly-set/orderly-set-5.4.1.ebuild b/dev-python/orderly-set/orderly-set-5.4.1.ebuild
index 51bf829ed892..00094dd9eba1 100644
--- a/dev-python/orderly-set/orderly-set-5.4.1.ebuild
+++ b/dev-python/orderly-set/orderly-set-5.4.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/pbs-installer/pbs-installer-2025.08.27.ebuild b/dev-python/pbs-installer/pbs-installer-2025.08.27.ebuild
index 272948979211..64b8a0e4fc90 100644
--- a/dev-python/pbs-installer/pbs-installer-2025.08.27.ebuild
+++ b/dev-python/pbs-installer/pbs-installer-2025.08.27.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
BDEPEND="
dev-python/zstandard[${PYTHON_USEDEP}]
diff --git a/dev-python/pikepdf/pikepdf-9.10.2.ebuild b/dev-python/pikepdf/pikepdf-9.10.2.ebuild
index f46681eb6f49..6b441d56f2b8 100644
--- a/dev-python/pikepdf/pikepdf-9.10.2.ebuild
+++ b/dev-python/pikepdf/pikepdf-9.10.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="big-endian"
# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
diff --git a/dev-python/podman/Manifest b/dev-python/podman/Manifest
index 7ba82594ef2f..99cba73e39dc 100644
--- a/dev-python/podman/Manifest
+++ b/dev-python/podman/Manifest
@@ -1,2 +1,3 @@
DIST podman-py-5.4.0.1.gh.tar.gz 174543 BLAKE2B b0e8ff4702e1b4d82a41883998b6722c761484000e3ee6fda3b80998587d9e8e4892c2f5fd07ec58aa2d4bb7b44c3556448eff4af53f03dcc9a7b44dfa4437bf SHA512 ba86f42100691126e96401443a9febc87315c8b2f4bb11ee93803205886a910eaedc6c3f801e9cbc661d9c5ad8ee051b77cc63a14465a8c6ed307a3a606f708e
DIST podman-py-5.5.0.gh.tar.gz 179640 BLAKE2B 6111d889d58d5a0999c4dd0303b191f54668a691af26db247311b05dc784d59e193d97c87f81d1820bf2bbc057ae00774faf3f74b1cae835dc0e1b2d92783b36 SHA512 a48253375e90f426baf046bdffc3df3ee8dc4e66a0ccacf55d86cb847b1937a1135f3518b5ad5e9ddd50f11800e97bd5454ec2098535ccf7f06d7210a0cd63ba
+DIST podman-py-5.6.0.gh.tar.gz 182866 BLAKE2B 0ec5b330d5d14ba5080d1c03251781360d4c035d51a688446b65d6f52d5afbbe711018d44d56c8f628da22e9779b3fa90b2adf34c77ee856316c348ce8cf5b7f SHA512 a5f4d1368221ea68202c1413f54493307fd2220ae386bc23690fa5997d6fb974f41a528f2a74aca92588b5c3aa121b492365356ecebc8a9a09245e07ae4905c3
diff --git a/dev-python/podman/podman-5.6.0.ebuild b/dev-python/podman/podman-5.6.0.ebuild
new file mode 100644
index 000000000000..03a59748988a
--- /dev/null
+++ b/dev-python/podman/podman-5.6.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+MY_P=podman-py-${PV/_p/.post}
+DESCRIPTION="A library to interact with a Podman server"
+HOMEPAGE="
+ https://github.com/containers/podman-py/
+ https://pypi.org/project/podman/
+"
+SRC_URI="
+ https://github.com/containers/podman-py/archive/v${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/requests-2.24[${PYTHON_USEDEP}]
+ >=dev-python/rich-12.5.1[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/requests-mock-1.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
+ )
+
+ # integration tests require a workable podman server,
+ # and it doesn't seem to work in ebuild env
+ epytest podman/tests/unit
+}
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild
index 7ca60760550a..8e644f96d6fb 100644
--- a/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild
+++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.9.0-r1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND="
=dev-python/poetry-core-2*[${PYTHON_USEDEP}]
diff --git a/dev-python/poetry/poetry-2.1.3.ebuild b/dev-python/poetry/poetry-2.1.3.ebuild
index cb3c771c1483..0fff099fab69 100644
--- a/dev-python/poetry/poetry-2.1.3.ebuild
+++ b/dev-python/poetry/poetry-2.1.3.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/poetry-core-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/py-himitsu/Manifest b/dev-python/py-himitsu/Manifest
new file mode 100644
index 000000000000..d282ef52341f
--- /dev/null
+++ b/dev-python/py-himitsu/Manifest
@@ -0,0 +1 @@
+DIST py_himitsu-0.0.9.tar.gz 4834 BLAKE2B 31d947bd7ca58b5ac9c81fca88c26e309e1abbe085855a71f113f48163a0d184e58d26cac26654e759dcccf8385b2da53d255bb48e7b05562e0c2f1592d15c57 SHA512 7d390a3c9882f0bc65b7d608d660ed8dae28ce18b2f90ce2a50989855603d8652a82b51587719b217cc73b6d51583791861a19140acc4ae80952c0fa2601c08c
diff --git a/dev-python/py-himitsu/metadata.xml b/dev-python/py-himitsu/metadata.xml
new file mode 100644
index 000000000000..8c8101bcdb2c
--- /dev/null
+++ b/dev-python/py-himitsu/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>core@liguros.net</email>
+ <name>Development</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/py-himitsu/py-himitsu-0.0.9.ebuild b/dev-python/py-himitsu/py-himitsu-0.0.9.ebuild
new file mode 100644
index 000000000000..a66f4efe5028
--- /dev/null
+++ b/dev-python/py-himitsu/py-himitsu-0.0.9.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+DISTUTILS_USE_PEP517=hatchling
+PYPI_NONORMALIZE=1
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A python client library for himitsu"
+HOMEPAGE="https://pypi.org/project/py-himitsu/ https://git.sr.ht/~apreiml/py-himitsu"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/himitsu-0.9:=
+"
+
+DEPEND="${RDEPEND}"
diff --git a/dev-python/pycares/pycares-4.10.0.ebuild b/dev-python/pycares/pycares-4.10.0.ebuild
index f696aefe2e4a..36f268cd001c 100644
--- a/dev-python/pycares/pycares-4.10.0.ebuild
+++ b/dev-python/pycares/pycares-4.10.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="test"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/pygit2/pygit2-1.18.1.ebuild b/dev-python/pygit2/pygit2-1.18.1.ebuild
index 34a65ac2a6c1..b4b942396145 100644
--- a/dev-python/pygit2/pygit2-1.18.1.ebuild
+++ b/dev-python/pygit2/pygit2-1.18.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="GPL-2-with-linking-exception"
SLOT="0"
-KEYWORDS="~amd64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~loong ~riscv x86"
DEPEND="
<dev-libs/libgit2-1.10:=
diff --git a/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild b/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild
index 169d6659d6fe..9881456c1b4e 100644
--- a/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild
+++ b/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/pyotp/pyotp-2.9.0.ebuild b/dev-python/pyotp/pyotp-2.9.0.ebuild
index f8e922336070..489083aabc9b 100644
--- a/dev-python/pyotp/pyotp-2.9.0.ebuild
+++ b/dev-python/pyotp/pyotp-2.9.0.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
distutils_enable_tests unittest
diff --git a/dev-python/pypi-attestations/Manifest b/dev-python/pypi-attestations/Manifest
index 1396b9a869b9..2d475693a137 100644
--- a/dev-python/pypi-attestations/Manifest
+++ b/dev-python/pypi-attestations/Manifest
@@ -1 +1,2 @@
DIST pypi_attestations-0.0.27.tar.gz 123543 BLAKE2B 11e6dabcb58c5201af4df0392784c5cda02eabfde4d6d2cd39464d3bf89fa7a54495c435e86e5b7031ed7d9a85230ec273279d2f8ab86ba5e1dec2eb431829e4 SHA512 206c6aaf523a0143defe2ef35ee886d8d5d3cc7d3010a5f1ef6d5e9f0af3dac56b2a3b3af87256b50bf475d88ff397ea35f7512aac540a2918e8a52c91ac6e03
+DIST pypi_attestations-0.0.27.tar.gz.provenance 9602 BLAKE2B 70ace0f798e6bdeb1be3af64c78ba3d774a2944239776728c70c8d06f91c7a6fef1f929ca63ed52ffd83e4d623b1dfe457a670ab5c9e72908b59d93d1b54a3c5 SHA512 9cd9bed860bedd479800c52637e24a9fcbe9f03a8ea8c25a5c4029e4f8c61743843dbb583afd7958c6fa8418ef734f08d4a55a7c4222956fe1f934004c14cdf6
diff --git a/dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild b/dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild
index 56b7c226a594..8146d5c75d38 100644
--- a/dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild
+++ b/dev-python/pypi-attestations/pypi-attestations-0.0.27.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/trailofbits/pypi-attestations
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1 pypi
@@ -16,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
diff --git a/dev-python/pyscard/pyscard-2.3.0.ebuild b/dev-python/pyscard/pyscard-2.3.0.ebuild
index 21ede4943e6d..be5d399248de 100644
--- a/dev-python/pyscard/pyscard-2.3.0.ebuild
+++ b/dev-python/pyscard/pyscard-2.3.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
sys-apps/pcsc-lite
diff --git a/dev-python/pytest-cov/Manifest b/dev-python/pytest-cov/Manifest
index 4ec855bd35df..38875bf5d502 100644
--- a/dev-python/pytest-cov/Manifest
+++ b/dev-python/pytest-cov/Manifest
@@ -1 +1,2 @@
DIST pytest_cov-6.2.0.tar.gz 68872 BLAKE2B 2d1b011885db80497a3de6cda907b2d7e9ed6b4f5cdbe7da7e5d824ffc95c47d0603885deb227698c8536c77c98ceb8604c8bc00ac7a5aec73c867c6efad1a37 SHA512 11d4916b2a826981845b93944737813e2683a48e36cfe9c4a2a1b5a3f4009f8a3e87d1606636fdaf813dffc017bd5a81fd1769bbaca5ce360e1e89f51130c934
+DIST pytest_cov-6.3.0.tar.gz 70398 BLAKE2B 8082e94bf2430122f07dcf07c423f2cb4d4c41c1383baad36a6b89a1bb350f30dd8f53ad66efcb56f998d7e35d553fc0f1f41d47bf149cecca13b813100f8b2a SHA512 163b13aae0e335c7158614411f6ae2dc259b0c9de09e324ee909dc07992c2ee45b81e850bd13a0e00bf211af1a5262ef6cc2883c883b739a2be2e0efef5aee7c
diff --git a/dev-python/pytest-cov/pytest-cov-6.3.0.ebuild b/dev-python/pytest-cov/pytest-cov-6.3.0.ebuild
new file mode 100644
index 000000000000..d83dcd7fbd56
--- /dev/null
+++ b/dev-python/pytest-cov/pytest-cov-6.3.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin for coverage reporting"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-cov/
+ https://pypi.org/project/pytest-cov/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pluggy-1.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.2.5[${PYTHON_USEDEP}]
+ >=dev-python/coverage-6.4.4-r1[${PYTHON_USEDEP}]
+"
+# NB: xdist is also used directly in the test suite
+BDEPEND="
+ test? (
+ dev-python/fields[${PYTHON_USEDEP}]
+ >=dev-python/process-tests-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/py-1.4.22[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # https://github.com/pytest-dev/pytest-cov/issues/517
+ local sitedir="$(python_get_sitedir)"
+ local -x PYTHONPATH="${BUILD_DIR}/install${sitedir}:${BROOT}${sitedir#${EPREFIX}}:${PYTHONPATH}"
+ local -x PYTHONUSERBASE=/usr
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_pytest_cov.py::test_filterwarnings_error
+ )
+
+ epytest
+}
diff --git a/dev-python/pytest-datadir/pytest-datadir-1.8.0.ebuild b/dev-python/pytest-datadir/pytest-datadir-1.8.0.ebuild
index 0b0c0cf014c0..6828e4e21c7b 100644
--- a/dev-python/pytest-datadir/pytest-datadir-1.8.0.ebuild
+++ b/dev-python/pytest-datadir/pytest-datadir-1.8.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-fixture-classes/pytest-fixture-classes-1.0.3.ebuild b/dev-python/pytest-fixture-classes/pytest-fixture-classes-1.0.3.ebuild
index 93045765082e..31b0f501782c 100644
--- a/dev-python/pytest-fixture-classes/pytest-fixture-classes-1.0.3.ebuild
+++ b/dev-python/pytest-fixture-classes/pytest-fixture-classes-1.0.3.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild
index 4f3499149ff7..6f79d6824c63 100644
--- a/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild
+++ b/dev-python/pytest-httpx/pytest-httpx-0.35.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
=dev-python/httpx-0.28*[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.4.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.4.ebuild
index 6de647ffb82b..51bfcba50c5e 100644
--- a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.4.ebuild
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.3.4.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/pytest-7[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-regressions/Manifest b/dev-python/pytest-regressions/Manifest
index c6cc097c8bd5..ddccd1e88f59 100644
--- a/dev-python/pytest-regressions/Manifest
+++ b/dev-python/pytest-regressions/Manifest
@@ -1,2 +1,4 @@
DIST pytest_regressions-2.8.1.tar.gz 116486 BLAKE2B 3c70a62249b8b255f980f8ae3b83979c5850859a6497f7341266751cfd0588792f53afd80397fbfbe7567059076765dac2212ee7d12c87130149f61c51b7f77e SHA512 0dd244b1a186371decb6efb1e593cf1047ba34c57696400393f410d66c16918fb3b2eb7f7cf5dca78c48baf445c29d48cbe1e128d1b909dfd0320ef9e1efafed
DIST pytest_regressions-2.8.2.tar.gz 116642 BLAKE2B 7c46291cdbad722c3bc00328a4f2865891dfd76a3e808a8be5cb9e10b7ecec7d6fcb6876f578d4c6589c3f6e97523d04232c84b11e52868e9a787ee408ebd6af SHA512 1d37aa106c451470e541beda3254954d24135158e813bc3ffc37287a8364da45930a00729b37e6fc79d6353781a7158b69ca96950a3c540b2cd6e0e455b74027
+DIST pytest_regressions-2.8.3.tar.gz 117168 BLAKE2B e47121216fa3d2212eaac14c479ffcdd0c84d960f9b8e81d7720da2cb0bca3f34f5c632e2732a317a56c6ac60329bd66c8dfdea9460920e6dac2b5cf4e7108a4 SHA512 67edda9b0e0cc2ed7526a00b5cf45057307bee7dd7bf82b79c2d1e06a7ccef7a4b9787938322ab0aec52f11865a73f23bbcc1d7b9f7d162a77e63e94bb89b8c3
+DIST pytest_regressions-2.8.3.tar.gz.provenance 9801 BLAKE2B d2257b1c64b91031d46537f801ebe6f0cf1041cd32aafea347f67b5508bf9bd2af0dfee18ec87b356003d8b59a50ec4c0097993bf08331b0ad044202bfb0e396 SHA512 d658957c78dddf74159bde3d8fad6ee61e6ac2e493a190a76f009827f16c65c58a44a8f78402c3f632d60bd50069fcb26430333fa04c0b5aa1f1063c6acb73de
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.8.3.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.8.3.ebuild
new file mode 100644
index 000000000000..ec91dc35f8eb
--- /dev/null
+++ b/dev-python/pytest-regressions/pytest-regressions-2.8.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/ESSS/pytest-regressions
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy to use fixtures to write regression tests"
+HOMEPAGE="
+ https://github.com/ESSS/pytest-regressions/
+ https://pypi.org/project/pytest-regressions/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-datadir-1.7.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+distutils_enable_sphinx doc dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/matplotlib[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_image_regression.py::test_image_regression
+ )
+ fi
+ if ! has_version "dev-python/numpy[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_ndarrays_regression.py
+ )
+ fi
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_filenames.py::test_foo
+ tests/test_filenames.py::TestClass::test_foo
+ tests/test_filenames.py::TestClassWithIgnoredName::test_foo
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_dataframe_regression.py
+ tests/test_num_regression.py
+ )
+ fi
+ if ! has_version "dev-python/pillow[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_image_regression.py
+ )
+ fi
+
+ if [[ ${EPYTHON} == python3.14* ]] ; then
+ EPYTEST_DESELECT+=(
+ # Sensitive to warnings
+ tests/test_data_regression.py::test_regen_all
+ )
+ fi
+
+ local EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
+ epytest
+}
diff --git a/dev-python/pytest-twisted/pytest-twisted-1.14.3-r1.ebuild b/dev-python/pytest-twisted/pytest-twisted-1.14.3-r1.ebuild
index 47da4df878fc..af318f806101 100644
--- a/dev-python/pytest-twisted/pytest-twisted-1.14.3-r1.ebuild
+++ b/dev-python/pytest-twisted/pytest-twisted-1.14.3-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
RDEPEND="
dev-python/decorator[${PYTHON_USEDEP}]
diff --git a/dev-python/python-augeas/python-augeas-1.2.0.ebuild b/dev-python/python-augeas/python-augeas-1.2.0.ebuild
index 7f6102d4f4e0..b19f54244ff4 100644
--- a/dev-python/python-augeas/python-augeas-1.2.0.ebuild
+++ b/dev-python/python-augeas/python-augeas-1.2.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
app-admin/augeas
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index d2dc27ad917a..3e22ede426ca 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -9,13 +9,10 @@ DIST Python-3.13.7.tar.xz.asc 963 BLAKE2B ae8721488c7ce01c9c6fe1b184526044900b39
DIST Python-3.14.0rc2.tar.xz 23566140 BLAKE2B 6871d31eba6167f2d0b2d098b1582e465b1bb8df90ede41bba57b8dbdcb087ceba7cc047e93e43cf93c3c36d3166f4f99ab4c321566ec64cdc4c0e65c0abd1da SHA512 8021dc8e23239fd9e53fafd1fcaa1108da41ef376ee5b5e9c8dfd74995537131990239cd83de45b8bd5fb52b44c4dc08df1c837f69ce82c5b2d99ddf3ea5ef77
DIST Python-3.14.0rc2.tar.xz.sigstore 4942 BLAKE2B 650404fe155c874f05d114dda6ff47ef90b9ed09f6d40f7a3757a3f0fe4420380cb2e52696dda76badccd86b31117e6f8b906a61881b8f65949d00d692abd959 SHA512 2cce5b68b32f9f0f400e5c2d571ad9ce479cff904690ddd454ea69b612cd8c5c003f632f8866a220be46e5e56b92a1dfb12c4e12b381fc7c58710635be5ea715
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
-DIST python-gentoo-patches-3.11.13.tar.xz 16492 BLAKE2B 8b188742dd3f25974cead290e5793c31f02741a901dce65137c596045fa2fbd5baaef332204af90f95ddcd864ee542b252c00b190e15c25af60a7bda771b116f SHA512 b5abad341d2eede81df445b56a98720466ec23df40a8a2e99a04dba5a106205655c8e2b64df0ca2630f036c8fe457ba64524280d137bbc99f52e4fd8e6bbd5ae
DIST python-gentoo-patches-3.11.13_p1.tar.xz 27748 BLAKE2B 26e0b5397d7927711bcc40330f72f54fb16c660c56a2f87166c5336eb2f53ccd4e920b906854ee122d64360b414e11a38a31a410936b4a49f6610626203f4322 SHA512 7c7eca7bf827255925e073c0ed5c69e9036b79e35e8f6ccb2684709bdc41fec80823a1df192c3decf56ba6d53e2c9feaf7fb81f3a214da69773da6a2997ca19b
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
-DIST python-gentoo-patches-3.12.11.tar.xz 12020 BLAKE2B b419d32b1d7bef9408027edda7eac9a920a877e1b8f521483df595199bad1bbadd9dd9500079c09beab63286a801bfb25da5f93a5d31462ed3e457a6e40ad6af SHA512 1b0eaff4c0df06554525a50576da7eadb4067c4f2970851e5c9e3e527a9ccc4216cbd65c45fd562af4a1cedc2c66278a74bee5cf5c1a65df8feb22f34f5a19e4
DIST python-gentoo-patches-3.12.11_p1.tar.xz 23276 BLAKE2B 794485d0fa596f0f2797e2aa505f888a05e2ef63840068b3214efbe51b592586bcfdf193b71e239beb3c3037f01ca086b6b97aeff092b2a344e74d962fb9dffc SHA512 1402b0bbeb189ed4a16364398495fcccc31da0aad4fc88e30978e7754575fbd8f51974dcd97d2a57a581072f083233dfb00b30af687455ad170fc3c64875a9d5
DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289
-DIST python-gentoo-patches-3.13.5.tar.xz 8916 BLAKE2B 9d985b12af62b8a917cac1dab9576aac099bc81ad954a5de254a14a3c7d2254edcdcfaadc46314b69a1bb76bd30ca8bed7c866c0de3fc3f89aac0f76af344f32 SHA512 5ac92aa3eef82eae5d707ffcb5085ac98bd9bf64f72fc7ac4aa1b12a0c3aa86c57d0f671ca07f46e2250779f4cf4885916e4d175357ad626eca6e41257a027e7
DIST python-gentoo-patches-3.13.5_p1.tar.xz 19756 BLAKE2B ecc594573bbe3a28364d541d5e1014778c342b6e8ecb09e5e9def238ce73d51f178d02ae91bedce3f7aee4a753f2653aee4f4035f238fa60d603baa59ce4e89b SHA512 a60f3cf65b57aa6c85f59dc5f36fbabe1fa19a5225c3e224c99696bb3d1186b54bdad94627638a3a73b66ceb5958b3a5dcb2b83d13357c71ded04c98ad7da0b9
DIST python-gentoo-patches-3.13.7.tar.xz 7088 BLAKE2B 07acf2a1cc25f95131875e0282f33ce4710094bcb75b8ac1c383aa88456194d19ede17b41dda1b29bbb194a467f56e8fe976e387128aa82507529cba6ba315b7 SHA512 d79a450db4678bb494e85167e5f035ec146f9b8c400e34cbfa1211cda19aef517ffc624b11687425b1e0ff7a63c22129c649aba663fb9cfec12512b09b64d6a6
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
diff --git a/dev-python/python-tests/python-tests-0.3.13.5.ebuild b/dev-python/python-tests/python-tests-0.3.13.5.ebuild
deleted file mode 100644
index 926f8d2cdfe2..000000000000
--- a/dev-python/python-tests/python-tests-0.3.13.5.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit python-r1 verify-sig
-
-REAL_PV=${PV#0.}
-MY_PV=${REAL_PV}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 2-3)t
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.asc
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-3.11.13.ebuild b/dev-python/python-tests/python-tests-3.11.13.ebuild
deleted file mode 100644
index 2efeceea3f68..000000000000
--- a/dev-python/python-tests/python-tests-3.11.13.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit python-r1 verify-sig
-
-MY_PV=${PV}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
- !<dev-lang/python-3.11.9_p2-r1:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- local dirs=(
- ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
- ./test tkinter/test unittest/test
- )
- local dir
- for dir in "${dirs[@]}"; do
- python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
- python_domodule "${dir}"
- done
-}
diff --git a/dev-python/python-tests/python-tests-3.12.11.ebuild b/dev-python/python-tests/python-tests-3.12.11.ebuild
deleted file mode 100644
index e0939ea6e83c..000000000000
--- a/dev-python/python-tests/python-tests-3.12.11.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit python-r1 verify-sig
-
-MY_PV=${PV}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
- !<dev-lang/python-3.12.5_p1-r1:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-3.12.11_p1.ebuild b/dev-python/python-tests/python-tests-3.12.11_p1.ebuild
index b8c374867d8e..e0939ea6e83c 100644
--- a/dev-python/python-tests/python-tests-3.12.11_p1.ebuild
+++ b/dev-python/python-tests/python-tests-3.12.11_p1.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/python-tests/python-tests-3.13.5.ebuild b/dev-python/python-tests/python-tests-3.13.5.ebuild
deleted file mode 100644
index 1641a285b2af..000000000000
--- a/dev-python/python-tests/python-tests-3.13.5.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit python-r1 verify-sig
-
-MY_PV=${PV}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Test modules from dev-lang/python"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
- )
-"
-S="${WORKDIR}/${MY_P}/Lib"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-# enable by default to help CI handle it (we have no additional deps)
-IUSE="+python_targets_${PYTHON_COMPAT[0]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-lang/python-${PV}:${PYVER}
- !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
- fi
- default
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- cd .. || die
- default
-}
-
-src_install() {
- python_setup
- # keep in sync with TESTSUBDIRS in Makefile.pre.in
- python_moduleinto "/usr/lib/python${PYVER}"
- python_domodule test
- python_moduleinto "/usr/lib/python${PYVER}/idlelib"
- python_domodule idlelib/idle_test
-}
diff --git a/dev-python/python-tests/python-tests-3.13.5_p1.ebuild b/dev-python/python-tests/python-tests-3.13.5_p1.ebuild
index 73ebf647088b..1641a285b2af 100644
--- a/dev-python/python-tests/python-tests-3.13.5_p1.ebuild
+++ b/dev-python/python-tests/python-tests-3.13.5_p1.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/pyzmq/pyzmq-27.0.1.ebuild b/dev-python/pyzmq/pyzmq-27.0.1.ebuild
index bab90838e89a..2d11a1a0692b 100644
--- a/dev-python/pyzmq/pyzmq-27.0.1.ebuild
+++ b/dev-python/pyzmq/pyzmq-27.0.1.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="drafts"
# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
diff --git a/dev-python/readability-lxml/Manifest b/dev-python/readability-lxml/Manifest
index a2920017a0e5..095d8e8407fe 100644
--- a/dev-python/readability-lxml/Manifest
+++ b/dev-python/readability-lxml/Manifest
@@ -1,2 +1 @@
-DIST readability-lxml-0.8.1.gh.tar.gz 78871 BLAKE2B ef179d8bb727c0630e3af763a18170c1956be5cd3b8ad1cfe614b233964225e2e73b814c4ad628780eaffca21881d1ed276f45248a656b8c37ef1e6ccb121e85 SHA512 c5b296a35606f65643f72e7d9ee07d6820a7a6a36ce97350673ea6076b704f7ed72f92ded47dac56690cdf3776eb8fadbb02ea234355a9982d4127976b2e6c6e
DIST readability-lxml-0.8.4.1.gh.tar.gz 81767 BLAKE2B 5303f61c0317b233693f7d41ce3fb2d66c0bc1dd30997296dd32cc320b2a79cd5f65bb5ab074f623cf5dfc17679dc7c354694ed54661f46ccee34c8b27bdd333 SHA512 74d7163cd46df9ed60655cf0abc401a20001f39c03deb0e86d34942f9e50ddb8e2825b50599b43995f1db2cd26515c1abe03a63e1cab7f737c7aa59347000d25
diff --git a/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild b/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild
deleted file mode 100644
index c1bb5678e5a0..000000000000
--- a/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-MY_PN="python-readability"
-DESCRIPTION="fast html to text parser (article readability tool)"
-HOMEPAGE="
- https://pypi.org/project/readability-lxml/
- https://github.com/buriy/python-readability
-"
-SRC_URI="https://github.com/buriy/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/cssselect[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/lxml-html-clean[${PYTHON_USEDEP}]
- || (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/faust-cchardet[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- $(python_gen_cond_dep \
- 'dev-python/timeout-decorator[${PYTHON_USEDEP}]' python3_11)
- )
-"
-
-distutils_enable_tests unittest
-
-distutils_enable_sphinx doc/source \
- dev-python/recommonmark \
- dev-python/sphinx-rtd-theme
-
-src_prepare() {
- rm readability/compat/two.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/redis/redis-6.3.0.ebuild b/dev-python/redis/redis-6.3.0.ebuild
index a3d89451285b..4e64d3184910 100644
--- a/dev-python/redis/redis-6.3.0.ebuild
+++ b/dev-python/redis/redis-6.3.0.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/regex/regex-2025.7.31.ebuild b/dev-python/regex/regex-2025.7.31.ebuild
index ada993480d06..1d170ecafed6 100644
--- a/dev-python/regex/regex-2025.7.31.ebuild
+++ b/dev-python/regex/regex-2025.7.31.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="doc"
distutils_enable_tests unittest
diff --git a/dev-python/requests-cache/files/requests-cache-1.2.1-no-timeout-decorator.patch b/dev-python/requests-cache/files/requests-cache-1.2.1-no-timeout-decorator.patch
new file mode 100644
index 000000000000..87b6edea5c6a
--- /dev/null
+++ b/dev-python/requests-cache/files/requests-cache-1.2.1-no-timeout-decorator.patch
@@ -0,0 +1,111 @@
+From a0069d9c57337c0815d9767cf6352282066baf3f Mon Sep 17 00:00:00 2001
+From: Jordan Cook <jordan.cook.git@proton.me>
+Date: Thu, 4 Sep 2025 17:56:02 -0500
+Subject: [PATCH] Replace timeout-decorator with threading-based version for
+ compatibility with python 3.14 and xdist
+
+multiprocessing-based timeout now raises `PicklingError` on python 3.14
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index ecbf2b1a..aeff1e16 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -11,6 +11,7 @@
+
+ import os
+ import platform
++import threading
+ import warnings
+ from contextlib import contextmanager, nullcontext
+ from datetime import datetime, timedelta, timezone
+@@ -27,7 +28,6 @@
+ from requests_mock import ANY as ANY_METHOD
+ from requests_mock import Adapter
+ from rich.logging import RichHandler
+-from timeout_decorator import timeout
+
+ from requests_cache import ALL_METHODS, CachedSession, install_cache, uninstall_cache, utcnow
+
+@@ -294,6 +294,40 @@ def assert_delta_approx_equal(dt1: datetime, dt2: datetime, target_delta, thresh
+ assert abs(diff_in_seconds - target_delta) <= threshold_seconds
+
+
++def timeout(timeout_seconds: float):
++ """Timeout decorator that uses threading instead of multiprocessing, for compatibility with
++ pytest-xdist on python 3.14+.
++ """
++
++ def decorator(func):
++ @wraps(func)
++ def wrapper(*args, **kwargs):
++ result = None
++ exception = None
++
++ def target() -> None:
++ nonlocal result, exception
++ try:
++ result = func(*args, **kwargs)
++ except Exception as e:
++ exception = e
++
++ thread = threading.Thread(target=target)
++ thread.daemon = True
++ thread.start()
++ thread.join(timeout=timeout_seconds)
++
++ if thread.is_alive():
++ raise TimeoutError(f'Function timed out after {timeout_seconds} seconds')
++ if exception is not None:
++ raise exception
++ return result
++
++ return wrapper
++
++ return decorator
++
++
+ def fail_if_no_connection(connect_timeout: float = 1.0) -> bool:
+ """Decorator for testing a backend connection. This will intentionally cause a test failure if
+ the wrapped function doesn't have dependencies installed, doesn't connect after a short timeout,
+@@ -307,7 +341,7 @@ def decorator(func):
+ @wraps(func)
+ def wrapper(*args, **kwargs):
+ try:
+- timeout(connect_timeout, use_signals=False)(func)(*args, **kwargs)
++ timeout(connect_timeout)(func)(*args, **kwargs)
+ except Exception as e:
+ logger.error(e)
+ pytest.fail('Could not connect to backend')
+diff --git a/tests/integration/test_mongodb.py b/tests/integration/test_mongodb.py
+index 39f6dfef..d8ac5304 100644
+--- a/tests/integration/test_mongodb.py
++++ b/tests/integration/test_mongodb.py
+@@ -27,7 +27,10 @@ def ensure_connection():
+ from pymongo import MongoClient
+
+ client = MongoClient(serverSelectionTimeoutMS=2000)
+- client.server_info()
++ try:
++ client.server_info()
++ finally:
++ client.close()
+
+
+ class TestMongoDict(BaseStorageTest):
+diff --git a/tests/integration/test_redis.py b/tests/integration/test_redis.py
+index 2a34899d..a850096d 100644
+--- a/tests/integration/test_redis.py
++++ b/tests/integration/test_redis.py
+@@ -15,7 +15,11 @@ def ensure_connection():
+ """Fail all tests in this module if Redis is not running"""
+ from redis import Redis
+
+- Redis().info()
++ client = Redis()
++ try:
++ client.info()
++ finally:
++ client.close()
+
+
+ class TestRedisDict(BaseStorageTest):
diff --git a/dev-python/requests-cache/requests-cache-1.2.1.ebuild b/dev-python/requests-cache/requests-cache-1.2.1.ebuild
index f2148bd8e640..dc179551f70b 100644
--- a/dev-python/requests-cache/requests-cache-1.2.1.ebuild
+++ b/dev-python/requests-cache/requests-cache-1.2.1.ebuild
@@ -34,11 +34,8 @@ RDEPEND="
BDEPEND="
test? (
dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
dev-python/responses[${PYTHON_USEDEP}]
>=dev-python/rich-10.0[${PYTHON_USEDEP}]
- dev-python/timeout-decorator[${PYTHON_USEDEP}]
>=dev-python/ujson-5.4[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/time-machine[${PYTHON_USEDEP}]
@@ -46,8 +43,14 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=( pytest-httpbin requests-mock )
distutils_enable_tests pytest
+PATCHES=(
+ # https://github.com/requests-cache/requests-cache/pull/1111
+ "${FILESDIR}/${P}-no-timeout-decorator.patch"
+)
+
python_test() {
local EPYTEST_IGNORE=(
# These require extra servers running
diff --git a/dev-python/requests-file/requests-file-2.1.0.ebuild b/dev-python/requests-file/requests-file-2.1.0.ebuild
index 8f3dab41f146..679fece7d9db 100644
--- a/dev-python/requests-file/requests-file-2.1.0.ebuild
+++ b/dev-python/requests-file/requests-file-2.1.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv x86"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
diff --git a/dev-python/rfc3161-client/rfc3161-client-1.0.3.ebuild b/dev-python/rfc3161-client/rfc3161-client-1.0.3.ebuild
index 2d840d51ec46..b19a2696741c 100644
--- a/dev-python/rfc3161-client/rfc3161-client-1.0.3.ebuild
+++ b/dev-python/rfc3161-client/rfc3161-client-1.0.3.ebuild
@@ -98,7 +98,7 @@ LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=dev-python/cryptography-43[${PYTHON_USEDEP}]
diff --git a/dev-python/rfc8785/rfc8785-0.1.4.ebuild b/dev-python/rfc8785/rfc8785-0.1.4.ebuild
index 439594bd98f5..ce91b1196025 100644
--- a/dev-python/rfc8785/rfc8785-0.1.4.ebuild
+++ b/dev-python/rfc8785/rfc8785-0.1.4.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest
index 35b871ba37b0..599a773b9d1b 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1,2 +1,3 @@
DIST rq-2.4.1.tar.gz 664540 BLAKE2B e5e8617c165c555b150fc3e8d6eacdfb697d6490cf5d972eaf78437a92d70c80e3a8c36e399e85716f30bf0a80a87f49602abc50ad98074aa228dcfb2c99ad4a SHA512 4a4dc8810f2cfda8ec7af722358ccf18b61fdd2898177224ca1d686f1d20483518419adc88027bb671bc38e605894244189c0c0c6eabbaab0550a4ae632457da
DIST rq-2.5.0.tar.gz 666978 BLAKE2B 951c34282caef2983e58edc6fe3f92209941baa4d32767dd8d6f068e866ba569320bf7daaaec983e7e9c74e51eea47661c1114828b1cb57114e2554d5fc8f796 SHA512 fb76fdf9f1f73b2ce2a59b049a369749695b38f58ee62c14727d2b118fe97ca471d7113bd8825d8aa8661541b4b8b9355a3421c9eed86c2477433e8a49151ad9
+DIST rq-2.6.0.tar.gz 675315 BLAKE2B 96ec326d01a1e708dbe7318efc98f1ae5396aca2af0d26836bdcb85483a6c510f9c1ce67c57f9a4211bb5c56a63c083dd0e26cf9f81ab7baa192c79cc09c7a5d SHA512 1e93c84d0fc11841e02fe6fb191c1d490ba80a12a98f8780a025e0c90bd23dda1f9cedfc47fe87f075f8051e7a5368ec5a8376bb53f8163fdec6f755885484bc
diff --git a/dev-python/rq/rq-2.6.0.ebuild b/dev-python/rq/rq-2.6.0.ebuild
new file mode 100644
index 000000000000..010745a50ef5
--- /dev/null
+++ b/dev-python/rq/rq-2.6.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple, lightweight library for creating and processing background jobs"
+HOMEPAGE="
+ https://python-rq.org/
+ https://github.com/rq/rq/
+ https://pypi.org/project/rq/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ dev-python/croniter[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip pin
+ sed -i -e '/dependencies/s:,!=[0-9.]*::' pyproject.toml || die
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+ local redis_test_config="daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ "
+
+ # Spawn Redis itself for testing purposes
+ # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
+ # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ /usr/sbin/redis-server - <<< "${redis_test_config}" || die
+
+ # Run the actual tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires <sentry-sdk-2
+ tests/test_sentry.py::TestSentry::test_failure_capture
+ # hang
+ tests/test_commands.py::TestCommands::test_shutdown_command
+ tests/test_worker_pool.py::TestWorkerPool::test_check_workers
+ tests/test_worker_pool.py::TestWorkerPool::test_reap_workers
+ tests/test_dependencies.py::TestDependencies
+ # already present in older versions
+ tests/test_spawn_worker.py::TestWorker::test_work_and_quit
+ )
+
+ epytest
+}
diff --git a/dev-python/sabctools/sabctools-8.2.6.ebuild b/dev-python/sabctools/sabctools-8.2.6.ebuild
index 62b61658b9d2..98b9c419885f 100644
--- a/dev-python/sabctools/sabctools-8.2.6.ebuild
+++ b/dev-python/sabctools/sabctools-8.2.6.ebuild
@@ -25,7 +25,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
BDEPEND="
test? (
diff --git a/dev-python/securesystemslib/securesystemslib-1.3.0.ebuild b/dev-python/securesystemslib/securesystemslib-1.3.0.ebuild
index e99c968d29f6..88dac3f0608b 100644
--- a/dev-python/securesystemslib/securesystemslib-1.3.0.ebuild
+++ b/dev-python/securesystemslib/securesystemslib-1.3.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=dev-python/cryptography-40.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/setproctitle/Manifest b/dev-python/setproctitle/Manifest
index 64d9d10b6ce2..0e06c2d06081 100644
--- a/dev-python/setproctitle/Manifest
+++ b/dev-python/setproctitle/Manifest
@@ -1 +1,2 @@
DIST setproctitle-1.3.5.tar.gz 26737 BLAKE2B fccb12f651bdf8d8d585465ae56f7e37358692d8361fba77936513d19a395b196d15821ce4a902eba80f22fc84bc9ad919d730aebcbe53ded039b559238368dd SHA512 ab1dc0c22506d8c43b626e39fbad754aa0115faf592d011f84ae28dee31a3797fff61c236c80864eb2749a2e585c46678beb87c63334c55a53c31540e76eea3b
+DIST setproctitle-1.3.7.tar.gz 27002 BLAKE2B 4c750e871ab1e68ee1cfe2c575b99b94dd3d3bd99e6ee1c934c7b9b23f73bee09dcd207d665eeec79182a25295c4ade1e15107808fce911433be4d2c26017731 SHA512 b801a6291bf0b29c3b73f0fa3ce5e34949626abdd45a785c8806be582383525a576876c0b37f41fd6fa809256bd70cfcb64ba6a3609bb83a5387b4a4cf0a191d
diff --git a/dev-python/setproctitle/setproctitle-1.3.7.ebuild b/dev-python/setproctitle/setproctitle-1.3.7.ebuild
new file mode 100644
index 000000000000..eeba368cada3
--- /dev/null
+++ b/dev-python/setproctitle/setproctitle-1.3.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# The package has a fallback implementation which is a noop but warns
+# if the extensions weren't built, so we always build them.
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allow customization of the process title"
+HOMEPAGE="
+ https://github.com/dvarrazzo/py-setproctitle/
+ https://pypi.org/project/setproctitle/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # remove the override that makes extension builds non-fatal
+ sed -i -e '/cmdclass/d' setup.py || die
+}
diff --git a/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild b/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild
index 3535cf580ea2..0cca6f7362aa 100644
--- a/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild
+++ b/dev-python/sigstore-protobuf-specs/sigstore-protobuf-specs-0.3.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
~dev-python/betterproto-2.0.0_beta6[${PYTHON_USEDEP}]
diff --git a/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild b/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild
index 2c3c606f3296..aea5ee986f19 100644
--- a/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild
+++ b/dev-python/sigstore-rekor-types/sigstore-rekor-types-0.0.18.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
>=dev-python/email-validator-2[${PYTHON_USEDEP}]
diff --git a/dev-python/sigstore/sigstore-3.6.5.ebuild b/dev-python/sigstore/sigstore-3.6.5.ebuild
index 8f531a074c09..75ec16949619 100644
--- a/dev-python/sigstore/sigstore-3.6.5.ebuild
+++ b/dev-python/sigstore/sigstore-3.6.5.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
>=dev-python/cryptography-42[${PYTHON_USEDEP}]
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index ac06423f13c8..1ac4a6f20923 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1,3 +1,4 @@
-DIST SimSIMD-6.4.10.gh.tar.gz 223524 BLAKE2B d0a9940883e618fdc6b7097996c755b6cfa9719ccf3cee52b2e2d96db839cdb6b5930f0a94b08b5a44c2bad8bf716229fddf99b43e045155d357ab26e4f6630f SHA512 039e62da33abd0a2b36548c3e64af528a7d2b75d34cbb45c32ba8408d79692f11e73600e7c9e5464b28b51d271a26a02a0e3e086583055b5c298db51b7421c07
-DIST SimSIMD-6.5.0.gh.tar.gz 225878 BLAKE2B 8acc1d7ac540c0a5056a48bd1e1c7093737fdab6121e7bf5c09ec5c15af5d10b21581a18ca6cd4cc905a1dd5021d932234a0d8d7ba126d621d565a9c6148146d SHA512 d745782051250acd2e43bb6d35ee6c9e62b93d7f59ba58ac716715f638489d9c5f7f762381023a69f975eaa22ea239fb5b7bee2a73cdf91cf5d9112eee8d2c76
DIST SimSIMD-6.5.1.gh.tar.gz 225914 BLAKE2B f093f6c4cbd42d4c5c1e6c995a269d2fd0832cd754d1c6e897d8ba76e58d3cafd91b64227d70a511fb652d127a1b52c165345aca250c2d45f57257611964c865 SHA512 0003651b577b48205e581e99390c5969d38ad25e6264b505b43122e8480cf4834c1b24129c28793c3df8afbdf38fee63e3eefb6a8bfb9071d7808961438193d5
+DIST SimSIMD-6.5.2.gh.tar.gz 220738 BLAKE2B ae2a22bd3ac9dc1f02c3675061bee4e8e24ee535520db904d518560e0fa4daf80bec8a3d4451ea1f12143e6c584ed9e41fc7806011e958deadd6a887a6961243 SHA512 2963a74386771a32345b8018a6bf45fb77a42689ed4120e37257bec33a43a4a8802ca5ca8e2ce57fff73afa2564975b11a8ea0871e88194c16ce87129bf95956
+DIST simsimd-6.5.3.tar.gz 184865 BLAKE2B beb35b81ab1b5d722c4e3c824075e150620943bd66ba488be020c0de3d5fa3ffd24efc7870763fe3d4c9e0d824e2b116af942b2bd3e38463d5948a5832a2fbf8 SHA512 adc914bba666fc05b57b40f0b00b591d15d6e834eed27d232ef498bd93b0ed398a0348478fc4f2517a1f5d973985060d93a2c3346917ce4a47b90a5e359668b8
+DIST simsimd-6.5.3.tar.gz.provenance 9307 BLAKE2B ae0de33d7d106b0ecc3705bcb8d5b5ec6a42fd12657b2b429083991187747e4ea7f1d5b37205b9d1aae5f1db5acfb42fb3417ac89470e34c2d28fda1f4d3f4f0 SHA512 dda353b271dca77f89362ad18d24fea82c07395b2d753a2afaeb133cb50fa2d8fec7b2c2c836ab995f2292cc09b53c67e2aedccfff6111cbeb2445aab112185f
diff --git a/dev-python/simsimd/simsimd-6.5.0.ebuild b/dev-python/simsimd/simsimd-6.5.2.ebuild
index 55d9082076fd..55d9082076fd 100644
--- a/dev-python/simsimd/simsimd-6.5.0.ebuild
+++ b/dev-python/simsimd/simsimd-6.5.2.ebuild
diff --git a/dev-python/simsimd/simsimd-6.4.10.ebuild b/dev-python/simsimd/simsimd-6.5.3.ebuild
index 9b8eabb16211..281966593d5d 100644
--- a/dev-python/simsimd/simsimd-6.4.10.ebuild
+++ b/dev-python/simsimd/simsimd-6.5.3.ebuild
@@ -5,23 +5,16 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/ashvardanian/SimSIMD
PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-inherit distutils-r1 toolchain-funcs
+inherit distutils-r1 pypi toolchain-funcs
-MY_P=SimSIMD-${PV}
DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
HOMEPAGE="
https://github.com/ashvardanian/SimSIMD/
https://pypi.org/project/simsimd/
"
-# no sdist, as of 4.3.1
-# https://github.com/ashvardanian/SimSIMD/issues/113
-SRC_URI="
- https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
@@ -58,6 +51,13 @@ src_prepare() {
distutils-r1_src_prepare
}
+src_compile() {
+ einfo "Please disregard initial compiler errors -- the package is checking"
+ einfo "for target support."
+
+ distutils-r1_src_compile
+}
+
python_test() {
epytest scripts/test.py
}
diff --git a/dev-python/sphinx-tabs/files/sphinx-tabs-3.4.7-sphinx-8.1.patch b/dev-python/sphinx-tabs/files/sphinx-tabs-3.4.7-sphinx-8.1.patch
new file mode 100644
index 000000000000..ab222793cba8
--- /dev/null
+++ b/dev-python/sphinx-tabs/files/sphinx-tabs-3.4.7-sphinx-8.1.patch
@@ -0,0 +1,207 @@
+From b5528ac02f472ecf1ef8c45eb4cc7249d3329b3d Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57@gmail.com>
+Date: Sun, 24 Nov 2024 20:55:02 +0300
+Subject: [PATCH] Update the tests for Sphinx 8.1
+
+Fixes #199.
+---
+ tests/conftest.py | 4 ++++
+ tests/test_build/test_basic.html | 2 ++
+ .../test_conditional_assets_html_assets_policy_index_.html | 2 ++
+ .../test_conditional_assets_html_assets_policy_no_tabs1_.html | 2 ++
+ .../test_conditional_assets_html_assets_policy_no_tabs2_.html | 2 ++
+ tests/test_build/test_conditional_assets_index_.html | 2 ++
+ tests/test_build/test_conditional_assets_no_tabs1_.html | 2 ++
+ tests/test_build/test_conditional_assets_no_tabs2_.html | 2 ++
+ tests/test_build/test_custom_lexer.html | 2 ++
+ tests/test_build/test_disable_closing.html | 2 ++
+ tests/test_build/test_disable_css_loading.html | 2 ++
+ tests/test_build/test_nested_markup.html | 2 ++
+ tests/test_build/test_no_tabs.html | 2 ++
+ tests/test_build/test_other_with_assets.html | 2 ++
+ 14 files changed, 30 insertions(+)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 1dbf0ad..c4452df 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -91,6 +91,10 @@ def read(app, buildername="html", filename="index.html", encoding="utf-8"):
+ for div in soup.find_all("div", {"class": "highlight"}):
+ div.decompose()
+
++ if sphinx.version_info < (8, 1):
++ body = soup.select("div.body")[0]
++ body.append(soup.new_tag("div", **{"class": "clearer"}))
++
+ doc_div = soup.findAll("div", {"class": "documentwrapper"})[0]
+ doc = doc_div.prettify()
+
+diff --git a/tests/test_build/test_basic.html b/tests/test_build/test_basic.html
+index af63887..a5cc924 100644
+--- a/tests/test_build/test_basic.html
++++ b/tests/test_build/test_basic.html
+@@ -37,6 +37,8 @@
+ </p>
+ </div>
+ </div>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_conditional_assets_html_assets_policy_index_.html b/tests/test_build/test_conditional_assets_html_assets_policy_index_.html
+index b87a329..6e1cbc8 100644
+--- a/tests/test_build/test_conditional_assets_html_assets_policy_index_.html
++++ b/tests/test_build/test_conditional_assets_html_assets_policy_index_.html
+@@ -243,6 +243,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.html b/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.html
+index b87a329..6e1cbc8 100644
+--- a/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.html
++++ b/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs1_.html
+@@ -243,6 +243,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.html b/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.html
+index b87a329..6e1cbc8 100644
+--- a/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.html
++++ b/tests/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.html
+@@ -243,6 +243,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_conditional_assets_index_.html b/tests/test_build/test_conditional_assets_index_.html
+index b87a329..6e1cbc8 100644
+--- a/tests/test_build/test_conditional_assets_index_.html
++++ b/tests/test_build/test_conditional_assets_index_.html
+@@ -243,6 +243,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_conditional_assets_no_tabs1_.html b/tests/test_build/test_conditional_assets_no_tabs1_.html
+index b87a329..6e1cbc8 100644
+--- a/tests/test_build/test_conditional_assets_no_tabs1_.html
++++ b/tests/test_build/test_conditional_assets_no_tabs1_.html
+@@ -243,6 +243,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_conditional_assets_no_tabs2_.html b/tests/test_build/test_conditional_assets_no_tabs2_.html
+index b87a329..6e1cbc8 100644
+--- a/tests/test_build/test_conditional_assets_no_tabs2_.html
++++ b/tests/test_build/test_conditional_assets_no_tabs2_.html
+@@ -243,6 +243,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_custom_lexer.html b/tests/test_build/test_custom_lexer.html
+index 954a10a..a0af59a 100644
+--- a/tests/test_build/test_custom_lexer.html
++++ b/tests/test_build/test_custom_lexer.html
+@@ -19,6 +19,8 @@
+ </div>
+ </div>
+ </div>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_disable_closing.html b/tests/test_build/test_disable_closing.html
+index e245915..98ba6ef 100644
+--- a/tests/test_build/test_disable_closing.html
++++ b/tests/test_build/test_disable_closing.html
+@@ -37,6 +37,8 @@
+ </p>
+ </div>
+ </div>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_disable_css_loading.html b/tests/test_build/test_disable_css_loading.html
+index af63887..a5cc924 100644
+--- a/tests/test_build/test_disable_css_loading.html
++++ b/tests/test_build/test_disable_css_loading.html
+@@ -37,6 +37,8 @@
+ </p>
+ </div>
+ </div>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_nested_markup.html b/tests/test_build/test_nested_markup.html
+index 22588a9..b15d43e 100644
+--- a/tests/test_build/test_nested_markup.html
++++ b/tests/test_build/test_nested_markup.html
+@@ -207,6 +207,8 @@ <h1>
+ </div>
+ </div>
+ </section>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_no_tabs.html b/tests/test_build/test_no_tabs.html
+index 6a0af85..26e2d70 100644
+--- a/tests/test_build/test_no_tabs.html
++++ b/tests/test_build/test_no_tabs.html
+@@ -4,6 +4,8 @@
+ <p>
+ There are no tabs here
+ </p>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
+diff --git a/tests/test_build/test_other_with_assets.html b/tests/test_build/test_other_with_assets.html
+index 85b55c4..c8ee530 100644
+--- a/tests/test_build/test_other_with_assets.html
++++ b/tests/test_build/test_other_with_assets.html
+@@ -19,6 +19,8 @@
+ </div>
+ </div>
+ </div>
++ <div class="clearer">
++ </div>
+ </div>
+ </div>
+ </div>
diff --git a/dev-python/sphinx-tabs/sphinx-tabs-3.4.7.ebuild b/dev-python/sphinx-tabs/sphinx-tabs-3.4.7-r1.ebuild
index 8e75dd874ec4..0b3b171d0907 100644
--- a/dev-python/sphinx-tabs/sphinx-tabs-3.4.7.ebuild
+++ b/dev-python/sphinx-tabs/sphinx-tabs-3.4.7-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -23,7 +23,7 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.8[${PYTHON_USEDEP}]
"
@@ -31,14 +31,19 @@ RDEPEND="
BDEPEND="
test? (
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+PATCHES=(
+ # https://github.com/executablebooks/sphinx-tabs/pull/200
+ "${FILESDIR}/${P}-sphinx-8.1.patch"
+)
+
EPYTEST_DESELECT=(
# Unpackaged rinohtype
tests/test_build.py::test_rinohtype_pdf
diff --git a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild
index 9bd385add0c1..26b189c74ebf 100644
--- a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild
+++ b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.6.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -26,6 +26,7 @@ RDEPEND="
>=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_compile() {
diff --git a/dev-python/sphinxcontrib-mermaid/metadata.xml b/dev-python/sphinxcontrib-mermaid/metadata.xml
index 9b562ad93de4..db63a7bfa8e0 100644
--- a/dev-python/sphinxcontrib-mermaid/metadata.xml
+++ b/dev-python/sphinxcontrib-mermaid/metadata.xml
@@ -5,6 +5,10 @@
<email>kangie@gentoo.org</email>
<name>Matt Jolly</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<doc>https://sphinxcontrib-mermaid-demo.readthedocs.io/</doc>
</upstream>
diff --git a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild
index f0a4bf459efd..9352c7e62b48 100644
--- a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild
+++ b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-1.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
@@ -30,10 +30,10 @@ BDEPEND="
test? (
dev-python/defusedxml[${PYTHON_USEDEP}]
dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( pytest-asyncio )
distutils_enable_tests pytest
python_compile() {
diff --git a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.18.ebuild b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.18.ebuild
index 1b3afcbe8bc7..2fd8383f20d6 100644
--- a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.18.ebuild
+++ b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.18.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -22,6 +22,7 @@ RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
distutils_enable_sphinx docs \
dev-python/furo
diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild
index 27100a4b7742..abd1bb9ba768 100644
--- a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild
+++ b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -30,6 +30,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_compile() {
@@ -49,6 +50,5 @@ python_test() {
distutils_write_namespace sphinxcontrib
rm -rf sphinxcontrib || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest tests
}
diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild
index 63c6d3db934f..d73c229c463c 100644
--- a/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild
+++ b/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild
@@ -31,15 +31,12 @@ RDEPEND="
BDEPEND="
test? (
dev-python/dictdiffer[${PYTHON_USEDEP}]
- dev-python/pytest-check[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
>=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/timeout-decorator[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( pytest-{check,rerunfailures,timeout} )
distutils_enable_tests pytest
EPYTEST_DESELECT=(
@@ -57,8 +54,3 @@ src_prepare() {
distutils-r1_src_prepare
}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p check -p rerunfailures -p timeout
-}
diff --git a/dev-python/spotipy/spotipy-2.25.1.ebuild b/dev-python/spotipy/spotipy-2.25.1.ebuild
index d4bd777f8e84..5388c6bc7cfa 100644
--- a/dev-python/spotipy/spotipy-2.25.1.ebuild
+++ b/dev-python/spotipy/spotipy-2.25.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -33,6 +33,8 @@ RDEPEND="
distutils_enable_sphinx docs \
dev-python/redis \
dev-python/sphinx-rtd-theme
+
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_DESELECT=(
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 86203e648089..d1254b68a686 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,3 +1,3 @@
-DIST stripe-12.3.0.tar.gz 1407878 BLAKE2B 309c5732624fed061baec3f1ab8726ca69f5985c97a4ba98d15ff04ebb1f8b17f0ca638f946abf13812656b056484749c68b52fca4e3a142aa1a7d0c7f1e3423 SHA512 d0bd6fa26c8948818f7ac4e846afd7c1df9af8e0340415042301cd6d78d1019ad0c9341e5fd7f385a9d638ee04a10590fb53e753dad67bba3c7f383e25b57c35
DIST stripe-12.4.0.tar.gz 1414724 BLAKE2B ed0493787d3de0c60b4d6cdd48c6f82f6946715ab725f17652be6477b0db943f55092415832ca13891083947ab34dc9e91a41aa0901e5669581dfefef4f1f6af SHA512 34c335beffa30a763acd43eec182276e08fbc732829fc3ceceb6987b48a9a16a4c1b8d3047517b2bea5fb492fad4666e620016c40f9334fe0ca4115d8ec59588
DIST stripe-12.5.0.tar.gz 1432368 BLAKE2B 9410cbbe837fe3e2f0c923d6aa644ffd29929532a1a2e202ec2ac558f3b30742095b1181fd23c8f85ddad5f1a035b10bbf75cb2eb72bed23bc27ea2f3d3aeed8 SHA512 be4a3cf55f75aed82b10da2800f27d1f5f835d65a879fc65045bf4e0eb543bbfc58b7e16bdd3ec185b0f3547bee8abc82e0e068ddebdabc0dbb14dcd445162f0
+DIST stripe-12.5.1.tar.gz 1432826 BLAKE2B 84afb1f9dd9fa4b38d8781c7942d8ec2599c8f4a0552a3a39276beaaa6539c1d2ba07ef5b74493e13310310b29f803c37388bef3e46201d535c82babe2fc2e41 SHA512 037b1e45aa8be075eaec437a41a0701dd792324564fef8ffeee0b2a1428a52070e34c2ad5d40b10e31965daa4d83cc46024886e0527aac7961b9a5eef1b4ceed
diff --git a/dev-python/stripe/stripe-12.3.0.ebuild b/dev-python/stripe/stripe-12.5.1.ebuild
index 90dc7b46642b..13e57e4adcf1 100644
--- a/dev-python/stripe/stripe-12.3.0.ebuild
+++ b/dev-python/stripe/stripe-12.5.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="telemetry"
RDEPEND="
diff --git a/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild b/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild
index 5e217bcebfd9..2bdebe544c72 100644
--- a/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild
+++ b/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -34,6 +34,7 @@ PATCHES=(
"${FILESDIR}/${PN}-3.0.4-fix-importlib.patch"
)
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
distutils_enable_sphinx docs/source \
dev-python/sphinx-rtd-theme
diff --git a/dev-python/thriftpy2/Manifest b/dev-python/thriftpy2/Manifest
index 308bf8f00743..46ec58f0dfef 100644
--- a/dev-python/thriftpy2/Manifest
+++ b/dev-python/thriftpy2/Manifest
@@ -1 +1,2 @@
DIST thriftpy2-0.5.2.tar.gz 782261 BLAKE2B 657e8dadd8757f9f0f6b4a7f73e4347651f6301c969cf4d2c37cf87c6176322b7afad6372a39ed7d4c9f36d07850d6ae4edb73ff08dd3530b88e0194032abc9b SHA512 89a73d70b7ba74acc5344c1471587a66664331fb3d160eeb31d27434c78a3e76e3ec0d84dec14ec57d0bcc89e867759883d69247ae65bff1a9a8a00fc8ff7747
+DIST thriftpy2-0.5.3.tar.gz 814230 BLAKE2B 33e4702350d22e4f4c1eb4fedfc9358de93012511bcbdee95f266b9b45be85f16040f673c35fa47fd42dc498d2b132b13a1a6c49e957d9b551cd151ddd328e49 SHA512 09a66b623db6ad8e67d0e8ade9c5d2786f6d8fb967cd47492d48812a4553be2d2c50c5de1192a0d7fabc599d94cb50bdc94b73500d48b76804287cb91e9e3e89
diff --git a/dev-python/thriftpy2/files/thriftpy2-0.5.3-tomllib.patch b/dev-python/thriftpy2/files/thriftpy2-0.5.3-tomllib.patch
new file mode 100644
index 000000000000..d778ba9319e4
--- /dev/null
+++ b/dev-python/thriftpy2/files/thriftpy2-0.5.3-tomllib.patch
@@ -0,0 +1,30 @@
+diff --git a/setup.py b/setup.py
+index e4741c6..3294b1a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -3,16 +3,20 @@
+
+ import sys
+ import platform
+-import toml
++if sys.version_info < (3, 11):
++ import tomli as tomllib
++else:
++ import tomllib
+
+ from os.path import join, dirname
+ from setuptools import setup, find_packages, Extension
+
+
+-meta = toml.load(join(dirname(__file__), 'pyproject.toml') )
+-install_requires = meta["project"]["dependencies"]
+-dev_requires = meta["project"]["optional-dependencies"]["dev"]
+-tornado_requires = meta["project"]["optional-dependencies"]["tornado"]
++with open(join(dirname(__file__), 'pyproject.toml'), "rb") as f:
++ meta = tomllib.load(f)
++ install_requires = meta["project"]["dependencies"]
++ dev_requires = meta["project"]["optional-dependencies"]["dev"]
++ tornado_requires = meta["project"]["optional-dependencies"]["tornado"]
+
+ try:
+ from tornado import version as tornado_version
diff --git a/dev-python/thriftpy2/thriftpy2-0.5.3.ebuild b/dev-python/thriftpy2/thriftpy2-0.5.3.ebuild
new file mode 100644
index 000000000000..8c6e91eadc04
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.5.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure python approach of Apache Thrift"
+HOMEPAGE="
+ https://github.com/Thriftpy/thriftpy2/
+ https://pypi.org/project/thriftpy2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ <dev-python/ply-4[${PYTHON_USEDEP}]
+ <dev-python/six-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+ test? (
+ dev-python/tornado[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,reraise} )
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/Thriftpy/thriftpy2/pull/319
+ "${FILESDIR}/${P}-tomllib.patch"
+)
+
+python_test() {
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/time-machine/time-machine-2.19.0.ebuild b/dev-python/time-machine/time-machine-2.19.0.ebuild
index f4a08947ebfd..60213aead7a4 100644
--- a/dev-python/time-machine/time-machine-2.19.0.ebuild
+++ b/dev-python/time-machine/time-machine-2.19.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
dev-python/python-dateutil[${PYTHON_USEDEP}]
diff --git a/dev-python/tldextract/tldextract-5.3.0.ebuild b/dev-python/tldextract/tldextract-5.3.0.ebuild
index 1abc6bdedb2b..37273896f1a0 100644
--- a/dev-python/tldextract/tldextract-5.3.0.ebuild
+++ b/dev-python/tldextract/tldextract-5.3.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/filelock-3.0.8[${PYTHON_USEDEP}]
diff --git a/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild b/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild
index 279437470e6c..e4a9729e906f 100644
--- a/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild
+++ b/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
distutils_enable_tests pytest
diff --git a/dev-python/toolz/files/toolz-1.0.0-py314.patch b/dev-python/toolz/files/toolz-1.0.0-py314.patch
new file mode 100644
index 000000000000..cf9920032582
--- /dev/null
+++ b/dev-python/toolz/files/toolz-1.0.0-py314.patch
@@ -0,0 +1,27 @@
+diff --git a/toolz/curried/operator.py b/toolz/curried/operator.py
+index 35979a68..78e54f98 100644
+--- a/toolz/curried/operator.py
++++ b/toolz/curried/operator.py
+@@ -9,7 +9,7 @@
+ IGNORE = {
+ "__abs__", "__index__", "__inv__", "__invert__", "__neg__", "__not__",
+ "__pos__", "_abs", "abs", "attrgetter", "index", "inv", "invert",
+- "itemgetter", "neg", "not_", "pos", "truth"
++ "is_none", "is_not_none", "itemgetter", "neg", "not_", "pos", "truth"
+ }
+ locals().update(
+ {name: f if name in IGNORE else curry(f)
+diff --git a/toolz/tests/test_inspect_args.py b/toolz/tests/test_inspect_args.py
+index f26dbc64..b7f623c4 100644
+--- a/toolz/tests/test_inspect_args.py
++++ b/toolz/tests/test_inspect_args.py
+@@ -286,7 +286,8 @@ def test_has_keywords():
+ assert has_keywords(int)
+ assert has_keywords(sorted)
+ assert has_keywords(max)
+- assert has_keywords(map) is False
++ # map gained `strict=False` keyword in Python 3.14
++ assert has_keywords(map) == (sys.version_info[1] >= 14)
+ assert has_keywords(bytearray) is None
+
+
diff --git a/dev-python/toolz/toolz-1.0.0-r1.ebuild b/dev-python/toolz/toolz-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..27b790a1c598
--- /dev/null
+++ b/dev-python/toolz/toolz-1.0.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="List processing tools and functional utilities"
+HOMEPAGE="
+ https://github.com/pytoolz/toolz/
+ https://pypi.org/project/toolz/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pytoolz/toolz/pull/592
+ "${FILESDIR}/${P}-py314.patch"
+)
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-45.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-45.patch
new file mode 100644
index 000000000000..eda85551c2ac
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-45.patch
@@ -0,0 +1,74 @@
+From f6f1e8afdf4c476734e09b30d5eb9f86cb2c5309 Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Sun, 18 May 2025 14:01:20 +0200
+Subject: [PATCH] cryptograpy: add copy dunder for private keys
+
+cryptography >= 45.0.0 requires the copy dunder for private key implementations.
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ src/tpm2_pytss/cryptography.py | 12 ++++++++++++
+ test/test_cryptography.py | 19 +++++++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/src/tpm2_pytss/cryptography.py b/src/tpm2_pytss/cryptography.py
+index dd75623a..5b8432cc 100644
+--- a/src/tpm2_pytss/cryptography.py
++++ b/src/tpm2_pytss/cryptography.py
+@@ -257,6 +257,12 @@ def private_bytes(
+ """Always raises a NotImplementedError."""
+ raise NotImplementedError()
+
++ def __copy__(self) -> "tpm_rsa_private_key":
++ """Returns a shallow copy of the private key."""
++ return tpm_rsa_private_key(
++ ectx=self._ectx, handle=self._handle, session=self._session
++ )
++
+
+ class tpm_ecc_private_key(ec.EllipticCurvePrivateKey):
+ """Interface to a TPM ECC key for use with the cryptography module.
+@@ -428,3 +434,9 @@ def private_bytes(
+ ) -> None:
+ """Always raises a NotImplementedError."""
+ raise NotImplementedError()
++
++ def __copy__(self) -> "tpm_ecc_private_key":
++ """Returns a shallow copy of the private key."""
++ return tpm_ecc_private_key(
++ ectx=self._ectx, handle=self._handle, session=self._session
++ )
+diff --git a/test/test_cryptography.py b/test/test_cryptography.py
+index 3f81f6a6..3e4f30d4 100644
+--- a/test/test_cryptography.py
++++ b/test/test_cryptography.py
+@@ -11,6 +11,7 @@
+ from cryptography.hazmat.primitives.asymmetric.utils import Prehashed
+ from cryptography import x509
+ import datetime
++import copy
+
+
+ rsa_template = TPM2B_PUBLIC.parse(
+@@ -502,3 +503,21 @@ def test_csr_builder_ecc(self):
+ halg = privkey.get_digest_algorithm()
+ csr = builder.sign(privkey, algorithm=halg())
+ self.assertEqual(csr.is_signature_valid, True)
++
++ def test_rsa_copy(self):
++ handle, _, _, _, _ = self.ectx.create_primary(
++ in_sensitive=None, in_public=rsa_template
++ )
++ privkey = tpm_rsa_private_key(self.ectx, handle)
++ privkey_copy = copy.copy(privkey)
++
++ self.assertEqual(privkey.key_size, privkey_copy.key_size)
++
++ def test_ecc_copy(self):
++ handle, _, _, _, _ = self.ectx.create_primary(
++ in_sensitive=None, in_public=ecc_template
++ )
++ privkey = tpm_ecc_private_key(self.ectx, handle)
++ privkey_copy = copy.copy(privkey)
++
++ self.assertEqual(type(privkey.curve), type(privkey_copy.curve))
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r1.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r2.ebuild
index eb619644e4c1..ca209f4bd77f 100644
--- a/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r1.ebuild
+++ b/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r2.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -41,8 +41,12 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-2.3.0-preprocess-as-C99.patch"
"${FILESDIR}/${PN}-2.3.0-use-CC-enviromental-variable.patch"
- )
+ # https://github.com/tpm2-software/tpm2-pytss/pull/643
+ "${FILESDIR}/${P}-cryptography-45.patch"
+)
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
distutils_enable_tests pytest
diff --git a/dev-python/tuf/tuf-6.0.0.ebuild b/dev-python/tuf/tuf-6.0.0.ebuild
index 8817c161bcac..328040a7217d 100644
--- a/dev-python/tuf/tuf-6.0.0.ebuild
+++ b/dev-python/tuf/tuf-6.0.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
<dev-python/urllib3-3[${PYTHON_USEDEP}]
diff --git a/dev-python/twython/twython-3.9.1-r1.ebuild b/dev-python/twython/twython-3.9.1-r1.ebuild
index 1c49348458f8..4d894e2c6a36 100644
--- a/dev-python/twython/twython-3.9.1-r1.ebuild
+++ b/dev-python/twython/twython-3.9.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -32,6 +32,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_DESELECT=(
diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest
index cf9d28a03064..b22f62ff1f98 100644
--- a/dev-python/typer/Manifest
+++ b/dev-python/typer/Manifest
@@ -1,2 +1,4 @@
DIST typer-0.16.1.tar.gz 102836 BLAKE2B bc08cff5c2f0e8dbbcde171f136e89b4992d891b6cefe345a1126b76f12bf0dec3242a584dd5345f827d7d9847de09204826950a2f2f4ae247fba43988a8f30e SHA512 3867a82ea480d81733111088622a7946b771666ee46b0def5eb7e928b71444a16dcb37a54fb6c52872ec83254c27eb7d7e23ff15462d4e27e3933971c96dd608
DIST typer-0.17.3.tar.gz 103517 BLAKE2B 56cff8c8b14f2751c6534821d765dc49a5306373502527e1650aef6db3bf0aec2c0e3f3de49c6cc7ded3a542b60506b55a610fa976bd69b6d0a322ec3ce4c539 SHA512 8180052dbdb98495887d2209263d4336dc3ea923eedbdc2e8752da596c1d80149fa50ae49b410a3434d685ad0a0810bf4a9f12b8829a6c5f6fdc80a1250f9854
+DIST typer-0.17.4.tar.gz 103734 BLAKE2B 2eee439d050bfddf51f62d7d634cdccabfdffe1b866bb7fcffbe4d4b1ab0c95291cffe0a041cdf68b0575b16fec24bdff420f05afa5fe0af09efa4c9b5b636ee SHA512 2fa32742976efee760933e31c4a80508903b6901d2c63a9583866067807c55ca9ac0416825e030d164c00a612760a7c7da8aa20b428770b741853b7a0c5d5fee
+DIST typer-0.17.4.tar.gz.provenance 8937 BLAKE2B d8b90b79b7ba61ba1249a96ec46c40d6cd530f174b67d2a81ee6c095a8cd71436f70da438d42b2d6705aa386e91d707da4e0461026769045c4d280532d1d60ce SHA512 bb5ecb283f136f129bcc43f976d604b98ff9afe0be738ce780335ee28a71749c8a205adb5daaf126ec431b2509a1c35b3130b3b126825e09a7c9eca61e7ef9da
diff --git a/dev-python/typer/typer-0.17.4.ebuild b/dev-python/typer/typer-0.17.4.ebuild
new file mode 100644
index 000000000000..06ac178ad087
--- /dev/null
+++ b/dev-python/typer/typer-0.17.4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYPI_VERIFY_REPO=https://github.com/fastapi/typer
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 shell-completion pypi
+
+DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints"
+HOMEPAGE="
+ https://typer.tiangolo.com/
+ https://github.com/fastapi/typer/
+ https://pypi.org/project/typer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-10.11.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
+ cli? ( !dev-lang/erlang )
+"
+BDEPEND="
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use cli; then
+ sed -i -e '/typer\.cli/d' pyproject.toml || die
+ fi
+}
+
+python_test() {
+ # See scripts/tests.sh
+ local -x TERMINAL_WIDTH=3000
+ local -x _TYPER_FORCE_DISABLE_TERMINAL=1
+ local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
+
+ epytest
+}
+
+python_install() {
+ if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then
+ local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
+ newbashcomp - typer < <(typer --show-completion bash || die)
+ newzshcomp - typer < <(typer --show-completion zsh || die)
+ newfishcomp - typer < <(typer --show-completion fish || die)
+ COMPLETIONS_INSTALLED=1
+ fi
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/uncertainties/uncertainties-3.2.3.ebuild b/dev-python/uncertainties/uncertainties-3.2.3.ebuild
index 5bf605965c85..969c3b5e225b 100644
--- a/dev-python/uncertainties/uncertainties-3.2.3.ebuild
+++ b/dev-python/uncertainties/uncertainties-3.2.3.ebuild
@@ -25,6 +25,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
pkg_postinst() {
diff --git a/dev-python/unearth/Manifest b/dev-python/unearth/Manifest
index f94892f4c9aa..43abff1efae0 100644
--- a/dev-python/unearth/Manifest
+++ b/dev-python/unearth/Manifest
@@ -1 +1,2 @@
DIST unearth-0.17.5.tar.gz 284542 BLAKE2B 091813721c1d2218a75cf47c5cf07a818e9f21b567d5afab25d1585efd77de6a94d3ce14c46b89943ca833e78c2624e90804964b14161c18a45c4ade0a0125ef SHA512 8a4d273c216296ca7d86d0a2aadb0a9626b9cd606819b45dc80b02211d0e6bf11c2903d33a389ca4b10d88b800a94f2cce5349051bd97c5b66d13186c55074b6
+DIST unearth-0.17.5.tar.gz.provenance 9059 BLAKE2B 05dd9970903e4c87fdb2b1ece357ad309dce351b7d461ce9409e34a333576fe3c230afcc675997272015c5f25f390f54fa1b6ec19249edd12c2938d5f1674379 SHA512 ffbc09e43ecbdf3260157226e9d1b1a39bed90e20c6b9542ab5531ef853d3c1d3a1ef6a671f3dbfaeb90aec62432d85af266c1b55327e4d690155e85fb6d25d5
diff --git a/dev-python/unearth/unearth-0.17.5.ebuild b/dev-python/unearth/unearth-0.17.5.ebuild
index db0f086f694a..8b5254b55865 100644
--- a/dev-python/unearth/unearth-0.17.5.ebuild
+++ b/dev-python/unearth/unearth-0.17.5.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
+PYPI_VERIFY_REPO=https://github.com/frostming/unearth
PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1 pypi
@@ -26,17 +27,11 @@ RDEPEND="
BDEPEND="
test? (
dev-python/flask[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/requests-wsgi-adapter[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( pytest-{httpserver,mock} )
distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_httpserver -p pytest_mock
-}
diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest
index 85c89b15fcde..ab403c280cb2 100644
--- a/dev-python/weasyprint/Manifest
+++ b/dev-python/weasyprint/Manifest
@@ -1 +1,2 @@
DIST weasyprint-66.0.tar.gz 504224 BLAKE2B 2090b07fa06df89c847c4037fa2b7276bde2866b61e7b54b09d94658a2be3f988128619fa645569194f5087531a5403281e6d2bc926f18e8b5fe4f79dddc3ee9 SHA512 850996c6934156f4d4fca12cc052a8346b85aeadf1a3d99763e20a6ddabd2b93a39983615990e0e680a942c63c09563effa9b66abc5bf0c368963737ddf66264
+DIST weasyprint-66.0.tar.gz.provenance 9133 BLAKE2B 11ffc967072d8950d35ac3b9057a642a913626331abf7f326c6766f5dd9d6483c79e34ddf221b856e224e7162b76c830db847e9282f5f63d29d0d361eccd887d SHA512 d336e3f6db27ae2b40d39a2ed9108f151afb219746a2e3ba1081e4be6d6c66acf8b168b15bafa8b5298148750f2d999b81b72b516ba33bf334d0a001dfd22364
diff --git a/dev-python/weasyprint/weasyprint-66.0.ebuild b/dev-python/weasyprint/weasyprint-66.0.ebuild
index 20d015d1a084..725aba0f43af 100644
--- a/dev-python/weasyprint/weasyprint-66.0.ebuild
+++ b/dev-python/weasyprint/weasyprint-66.0.ebuild
@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYPI_VERIFY_REPO=https://github.com/Kozea/WeasyPrint
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -40,4 +41,5 @@ BDEPEND="
"
EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
distutils_enable_tests pytest
diff --git a/dev-python/xdoctest/files/xdoctest-1.2.0-py314.patch b/dev-python/xdoctest/files/xdoctest-1.2.0-py314.patch
new file mode 100644
index 000000000000..2c143ae4b157
--- /dev/null
+++ b/dev-python/xdoctest/files/xdoctest-1.2.0-py314.patch
@@ -0,0 +1,58 @@
+diff --git a/setup.py b/setup.py
+index e9c0f587..06b1eeb0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,8 @@ def parse_version(fpath):
+
+ def static_parse(varname, fpath):
+ """
+- Statically parse the a constant variable from a python file
++ Statically parse the a constant variable from a python file.
++ Raise an error if the variable is not a constant.
+ """
+ import ast
+
+@@ -29,10 +30,13 @@ def static_parse(varname, fpath):
+ pt = ast.parse(sourcecode)
+
+ class StaticVisitor(ast.NodeVisitor):
+- def visit_Assign(self, node):
++ def visit_Assign(self, node: ast.Assign):
+ for target in node.targets:
+ if getattr(target, "id", None) == varname:
+- self.static_value = node.value.s
++ value: ast.expr = node.value
++ if not isinstance(value, ast.Constant):
++ raise ValueError("variable {!r} is not a constant".format(varname))
++ self.static_value = value.value
+
+ visitor = StaticVisitor()
+ visitor.visit(pt)
+diff --git a/src/xdoctest/static_analysis.py b/src/xdoctest/static_analysis.py
+index d8171b2..cb1f798 100644
+--- a/src/xdoctest/static_analysis.py
++++ b/src/xdoctest/static_analysis.py
+@@ -21,8 +21,10 @@ import platform
+ PLAT_IMPL = platform.python_implementation()
+
+
+-IS_PY_GE_308 = sys.version_info[0] >= 3 and sys.version_info[1] >= 8
+-IS_PY_GE_312 = sys.version_info[0] >= 3 and sys.version_info[1] >= 12
++IS_PY_GE_312 = sys.version_info[0:2] >= (3, 12)
++IS_PY_GE_308 = sys.version_info[0:2] >= (3, 8) # type: bool
++IS_PY_LT_314 = sys.version_info[0:2] < (3, 14) # type: bool
++
+
+ if IS_PY_GE_312:
+ from xdoctest import _tokenize as tokenize
+@@ -771,7 +773,9 @@ def _parse_static_node_value(node):
+ values = map(_parse_static_node_value, node.values)
+ value = OrderedDict(zip(keys, values))
+ # value = dict(zip(keys, values))
+- elif isinstance(node, (ast.NameConstant)):
++ elif IS_PY_LT_314 and isinstance(node, (ast.NameConstant)):
++ value = node.value
++ elif isinstance(node, ast.Constant):
+ value = node.value
+ else:
+ print(node.__dict__)
diff --git a/dev-python/xdoctest/xdoctest-1.2.0-r1.ebuild b/dev-python/xdoctest/xdoctest-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..9a33f65f1229
--- /dev/null
+++ b/dev-python/xdoctest/xdoctest-1.2.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
+HOMEPAGE="
+ https://github.com/Erotemic/xdoctest/
+ https://pypi.org/project/xdoctest/
+"
+SRC_URI="
+ https://github.com/Erotemic/xdoctest/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+# dev-python/nbformat-5.1.{0..2} did not install package data
+BDEPEND="
+ test? (
+ >=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/Erotemic/xdoctest/pull/168
+ # + parts of https://github.com/Erotemic/xdoctest/pull/177
+ "${FILESDIR}/${P}-py314.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
+ )
+
+ epytest --pyargs tests xdoctest
+}
diff --git a/dev-python/xdoctest/xdoctest-1.2.0.ebuild b/dev-python/xdoctest/xdoctest-1.2.0.ebuild
index cd6eca10df07..56c00c031b78 100644
--- a/dev-python/xdoctest/xdoctest-1.2.0.ebuild
+++ b/dev-python/xdoctest/xdoctest-1.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,18 +32,14 @@ BDEPEND="
)
"
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
distutils_enable_tests pytest
-#distutils_enable_sphinx docs/source \
-# dev-python/autoapi \
-# dev-python/sphinx-rtd-theme
python_test() {
local EPYTEST_DESELECT=(
tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
)
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdoctest.plugin
-
epytest --pyargs tests xdoctest
}
diff --git a/dev-python/xmlsec/xmlsec-1.3.16.ebuild b/dev-python/xmlsec/xmlsec-1.3.16.ebuild
index 6df2dfc11e7e..f530c6df6641 100644
--- a/dev-python/xmlsec/xmlsec-1.3.16.ebuild
+++ b/dev-python/xmlsec/xmlsec-1.3.16.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
DEPEND="
dev-libs/xmlsec:=[openssl]
diff --git a/dev-python/zeep/files/zeep-4.3.1-httpx-0.28.patch b/dev-python/zeep/files/zeep-4.3.1-httpx-0.28.patch
new file mode 100644
index 000000000000..557c3500caf4
--- /dev/null
+++ b/dev-python/zeep/files/zeep-4.3.1-httpx-0.28.patch
@@ -0,0 +1,29 @@
+From 750326e549f467c5df170f46d1ae59939dbcce13 Mon Sep 17 00:00:00 2001
+From: Nikolai Korolev <korolevns98@gmail.com>
+Date: Sat, 16 Aug 2025 00:21:20 +0100
+Subject: [PATCH] Fix zeep for httpx after 0.28.0
+
+---
+ src/zeep/transports.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/zeep/transports.py b/src/zeep/transports.py
+index 2a1ee8bd..4036ecea 100644
+--- a/src/zeep/transports.py
++++ b/src/zeep/transports.py
+@@ -185,13 +185,13 @@ def __init__(
+ self.cache = cache
+ self.wsdl_client = wsdl_client or httpx.Client(
+ verify=verify_ssl,
+- proxies=proxy,
+ timeout=timeout,
++ **({"proxies": proxy} if httpx.__version__ < "0.28.0" else {"proxy": proxy}),
+ )
+ self.client = client or httpx.AsyncClient(
+ verify=verify_ssl,
+- proxies=proxy,
+ timeout=operation_timeout,
++ **({"proxies": proxy} if httpx.__version__ < "0.28.0" else {"proxy": proxy}),
+ )
+ self.logger = logging.getLogger(__name__)
+
diff --git a/dev-python/zeep/zeep-4.3.1.ebuild b/dev-python/zeep/zeep-4.3.1-r1.ebuild
index c96af5da8a9c..105078fc4f6e 100644
--- a/dev-python/zeep/zeep-4.3.1.ebuild
+++ b/dev-python/zeep/zeep-4.3.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
IUSE="async"
RDEPEND="
@@ -36,11 +36,15 @@ BDEPEND="
dev-python/freezegun[${PYTHON_USEDEP}]
>=dev-python/httpx-0.15.0[${PYTHON_USEDEP}]
dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpx[${PYTHON_USEDEP}]
dev-python/requests-mock[${PYTHON_USEDEP}]
dev-python/xmlsec[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( pytest-{asyncio,httpx} )
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mvantellingen/python-zeep/pull/1468
+ "${FILESDIR}/${P}-httpx-0.28.patch"
+)
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 267ad3e5a996..a13b611ef03e 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -1 +1,3 @@
DIST zeroconf-0.147.0.tar.gz 163958 BLAKE2B a706012207fc7b1b2a74dddb29729de1180f6025dfd19c59d06494fe62a66127231c96b3df49d10d55fb8b3d09bec78959092bd1b6cd68a4d6ea5c553a98579d SHA512 930902ea04f030bb557b9c2788c7c369d6f65c92b214bb094955e66868187ce8c8341b5a67382df2ddc42b769701b553bdb3b89871557bc9f2cc681fbe1ccc07
+DIST zeroconf-0.147.2.tar.gz 164391 BLAKE2B 8d8d273c4ea768b25834481b4cc3b245cd92cf9a04da723fbfe245fb7b516f39e44467edfb2be924e5a26b765f159e35b78da0c3aa8118082e4f4c10fc9929bb SHA512 ee327e3d53ab75f316a2ebaaed42be52395d9f4d4252b90dead6dea59234d0cbf5769efbef35aaef8056b40e9c637506a822977635b716f49be0c594badb506a
+DIST zeroconf-0.147.2.tar.gz.provenance 9593 BLAKE2B 4b97498d0e6014f18248fd3de3a608c376556ee3e1b99aa1012097ab84240f7c495f011a510c007600c535187c32937a6b161251aa0721dba3bc784fcb981239 SHA512 29c9659cd6185a55c3c824fa2d275b7f2f30b4913c477f1dfe9d6a1ac9a2a346a281bcc48baba8e2fb8d0e00925d1470f0e9101456b8af8a95b752cb8f1e8f99
diff --git a/dev-python/zeroconf/zeroconf-0.147.2.ebuild b/dev-python/zeroconf/zeroconf-0.147.2.ebuild
new file mode 100644
index 000000000000..5253bee3bcf2
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.147.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYPI_VERIFY_REPO=https://github.com/python-zeroconf/python-zeroconf
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
+HOMEPAGE="
+ https://github.com/python-zeroconf/python-zeroconf/
+ https://pypi.org/project/zeroconf/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
+"
+# the build system uses custom build script that uses distutils to build
+# C extensions, sigh
+BDEPEND="
+ native-extensions? (
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_compile() {
+ if use native-extensions; then
+ local -x REQUIRE_CYTHON=1
+ else
+ local -x SKIP_CYTHON=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local -x SKIP_IPV6=1
+ local EPYTEST_DESELECT=(
+ # network
+ tests/test_core.py::Framework::test_close_multiple_times
+ tests/test_core.py::Framework::test_launch_and_close
+ tests/test_core.py::Framework::test_launch_and_close_context_manager
+
+ # fragile to timeouts (?)
+ tests/services/test_browser.py::test_service_browser_expire_callbacks
+ tests/utils/test_asyncio.py::test_run_coro_with_timeout
+
+ # randomly broken by a leftover thread?
+ tests/test_circular_imports.py::test_circular_imports
+ )
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/zmq-anyio/Manifest b/dev-python/zmq-anyio/Manifest
index af9e15f936a3..20bf15a3d1ef 100644
--- a/dev-python/zmq-anyio/Manifest
+++ b/dev-python/zmq-anyio/Manifest
@@ -1,2 +1 @@
DIST zmq_anyio-0.3.10.tar.gz 14648 BLAKE2B 96864cddc1287df6c80432cd3693865eadf508482e10af3788ec1ffee6a2ea9fbc50ba13e8f527682c90fab5027be5cd1abbddecb05b099c4f8da0e78b60ff0a SHA512 b41ea654cff258fdba05108e4603c113bac8d56439ed65184d9cbb1c88b45471d989b7a0e232d9f5fc587691720135982fc39d39f0dfc7efc01178128f386630
-DIST zmq_anyio-0.3.9.tar.gz 13175 BLAKE2B 4fb0d2c6a3dd21cc518047462ee1f687a4330b15d7726fb054c5fe1ce3cfaf6482a426eb7f652beffc9fdde281058300827f05645943a8930560791e5fea078b SHA512 28fa7bfd18e0c56a3c2a43b60934c927aa8e95a8b2d68d54bd688b357756fa4070eaf8e49067bb94b09bdc2002d60edfbe0632bc68380dbf5a821e48005efce1
diff --git a/dev-python/zmq-anyio/zmq-anyio-0.3.9.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.3.9.ebuild
deleted file mode 100644
index 641afb2f2cdc..000000000000
--- a/dev-python/zmq-anyio/zmq-anyio-0.3.9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Asynchronous API for ZMQ using AnyIO"
-HOMEPAGE="
- https://github.com/QuantStack/zmq-anyio/
- https://pypi.org/project/zmq-anyio/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-4.8.0[${PYTHON_USEDEP}]
- <dev-python/anyioutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/anyioutils-0.7.1[${PYTHON_USEDEP}]
- <dev-python/pyzmq-27[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-26.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- test-rust? (
- >=dev-python/trio-0.27.0[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local args=()
- if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
- args+=( -k "not trio" )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p anyio "${args[@]}"
-}