summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-11 07:11:53 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-11 07:11:53 +0000
commit4b131dc86055ae87f0b1783b79d1ffba7aa66e47 (patch)
tree027fa0deb471c16aa8502fbcff4241aea3616791 /dev-python
parent47d0d6dac7824a756585895e0fd0e68618522d12 (diff)
downloadbaldeagleos-repo-4b131dc86055ae87f0b1783b79d1ffba7aa66e47.tar.gz
baldeagleos-repo-4b131dc86055ae87f0b1783b79d1ffba7aa66e47.tar.xz
baldeagleos-repo-4b131dc86055ae87f0b1783b79d1ffba7aa66e47.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.88.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.88.ebuild67
-rw-r--r--dev-python/build/Manifest1
-rw-r--r--dev-python/build/build-1.4.3.ebuild75
-rw-r--r--dev-python/channels/Manifest6
-rw-r--r--dev-python/channels/channels-3.0.5.ebuild41
-rw-r--r--dev-python/channels/channels-4.2.2.ebuild34
-rw-r--r--dev-python/channels/channels-4.3.2.ebuild62
-rw-r--r--dev-python/channels/files/channels-4.3.2-fix-install.patch14
-rw-r--r--dev-python/channels/metadata.xml11
-rw-r--r--dev-python/inline-snapshot/Manifest2
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.32.6.ebuild65
-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.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/libvirt-python/libvirt-python-12.0.0.ebuild2
-rw-r--r--dev-python/mypy/mypy-1.20.0.ebuild1
-rw-r--r--dev-python/nox/Manifest1
-rw-r--r--dev-python/nox/nox-2026.04.10.ebuild65
-rw-r--r--dev-python/nuitka/Manifest1
-rw-r--r--dev-python/nuitka/nuitka-4.0.8.ebuild54
-rw-r--r--dev-python/pyghmi/Manifest1
-rw-r--r--dev-python/pyghmi/pyghmi-1.6.15.ebuild32
-rw-r--r--dev-python/pyqt6-sip/pyqt6-sip-13.11.1.ebuild2
-rw-r--r--dev-python/python-multipart/Manifest1
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.25.ebuild40
-rw-r--r--dev-python/qtawesome/Manifest1
-rw-r--r--dev-python/qtawesome/qtawesome-1.4.2.ebuild44
-rw-r--r--dev-python/rich/Manifest1
-rw-r--r--dev-python/rich/rich-14.3.4.ebuild70
-rw-r--r--dev-python/selenium/Manifest2
-rw-r--r--dev-python/selenium/selenium-4.43.0.ebuild165
-rw-r--r--dev-python/unicode-segmentation-rs/Manifest9
-rw-r--r--dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.2.4.ebuild56
-rw-r--r--dev-python/wrapt/Manifest1
-rw-r--r--dev-python/wrapt/wrapt-2.2.0_rc4.ebuild39
-rw-r--r--dev-python/zope-configuration/Manifest1
-rw-r--r--dev-python/zope-configuration/zope-configuration-7.1.ebuild38
-rw-r--r--dev-python/zope-interface/Manifest1
-rw-r--r--dev-python/zope-interface/zope-interface-8.3.ebuild51
43 files changed, 1044 insertions, 97 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index a5376739d27f..3407edeaf851 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -8,3 +8,4 @@ DIST boto3-1.42.84.gh.tar.gz 1115838 BLAKE2B de89b745b6bc04a39e9fcc9fcb92261c654
DIST boto3-1.42.85.gh.tar.gz 1117988 BLAKE2B cdebcfc426c6412ab2d501c9cafb2ce65f1f19c666ceeaa8999a9e09252e4eae1426368a124ceff2de0eb9db85180d9dd0dca927035dd653028912de0c6b0cc0 SHA512 0b4beb5a279c7401f8ff7adaf8fa56c1413283a96b225e16481d11af667f0f293a6fddc5c2858fb00530276cd7b8a6590e23359f7184d9c56c393d729d749c66
DIST boto3-1.42.86.gh.tar.gz 1118949 BLAKE2B 567875d3a130f6b7bb5a7eecfe81bddc24b7df8f8e1a45acf0ed28c10afc58f596cea71c347171bb86e73423b19f1e84bee8827da2b5b52e93ea0e9f1e7b51a7 SHA512 141373dcfbf13026f243433bd3b403bd31f08ed0f63496c7eac0779cf9bf798eee132854afb1b317226d905a98a86de93d95dd6815ec9863c01a66c1daf38eac
DIST boto3-1.42.87.gh.tar.gz 1119510 BLAKE2B f800b5931768f707c5f53c7171d5a0828f286f92bb87a7840747082dd18891dfa12140441d335be081b7b2f2d7143c65d15a8ba8ee9d164e2a2eefb814892d2d SHA512 caf856381edaee513a5331402efcc5ec79a86ea22d415850f91d24fb4f4704e1a68433b4b05e8100ab207be354c73f3a4d869716c1b624f543628692044b60c9
+DIST boto3-1.42.88.gh.tar.gz 1120718 BLAKE2B f45f5c0ee3a6b262f4e49a5fe670a225c1a3ea429072ad7a6318ac21802016aa8cf69a34c9a1d7dee710d6f8b5a2ba604825bb10efa6bc9f5b6a5c627f76a5ca SHA512 121dfb7ea610fb8689e53aa8a5e8bb203458b141cc48e725dd2df756d70b6d1de251e202544dfda07ce006958e96876ade58eeeac32053badd15d3ee4d090b73
diff --git a/dev-python/boto3/boto3-1.42.88.ebuild b/dev-python/boto3/boto3-1.42.88.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.88.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.16.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 a822471aa8fb..d1a98c41fe43 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -8,3 +8,4 @@ DIST botocore-1.42.84.gh.tar.gz 16065334 BLAKE2B 7166ab60b4a9c01528f87030460e0f7
DIST botocore-1.42.85.gh.tar.gz 16078818 BLAKE2B 16b7eeb119c7f3b6c99f89bf858632b1f47f9562861d63442b924943acce4b0295ed7078b7372f292111de9cad21fa4fdf67f47f0a0869150d5eb637565030e5 SHA512 ce022edf6c8c8c5515e916684384983fea68c51b13c3c659f445a842e4b7873577e3746954eeaff5be3343da6e93fd6589cae3053317addf47eda90dc8ce4754
DIST botocore-1.42.86.gh.tar.gz 16096034 BLAKE2B 8e3fa6ca0d609d658cf0e7be713d31a47a0f0295a2e6a808177fb1a57a9ef662eafa6c54e901370a08e7d945e67c3a0f2e6a9e21222fe89440c6994759c624a8 SHA512 d1d4206fde4a2c29a602513676b3a444679fb3d75c7d2fb1f37b6afde4d92dd5bdaab336cf3670eeff96fa99b557bc7b3e53be63fab4ea5de65b849db8410160
DIST botocore-1.42.87.gh.tar.gz 16110857 BLAKE2B d3f328970ab32dfcb4a139e15de275e468afb8441de33a16cb52ee605b316ce6ccf2c6b59c728766ee5e83d9327e3bb8ea5cbb05507783b423e61ea7a3a215e3 SHA512 bb549cd3de753cf05c6a60114743054c09a0f39e528f409702915a12f3bb687b338bd55e43be75fe6effa805c85af7a405680a4e385e9844a01bb89309446eac
+DIST botocore-1.42.88.gh.tar.gz 16115557 BLAKE2B cb2470ce6d16bb0e91d6976b84899eea502f7fe41dc0da6727f8d55150dfd6f3aff67a7b8282c6b09e1aa8f8df419d5bd4285788603e72406a9f6d7cb86da165 SHA512 c9ccab70325b68e69fd38c728b5d525a2420c1e9a32d1acb6892fcb61f607a68e1cf8021b15e754e74a869b0fc337cfe584cd75b4f60a480328e5050c47fac3d
diff --git a/dev-python/botocore/botocore-1.42.88.ebuild b/dev-python/botocore/botocore-1.42.88.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.88.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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"
+
+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/build/Manifest b/dev-python/build/Manifest
index 6eaaf32ac3d6..5d03a999e45c 100644
--- a/dev-python/build/Manifest
+++ b/dev-python/build/Manifest
@@ -2,3 +2,4 @@ DIST build-1.3.0.gh.tar.gz 50871 BLAKE2B 0ca200c92e3bfa3ee91643cb140e4e6e90b01cd
DIST build-1.4.0.gh.tar.gz 52372 BLAKE2B f7dac4752e908eee7e3f31af1da4c8854d5d1e3ac5210ea8acd1b306fa25a95b26ed68a7990782afc27e69b65f9719b8f914852ce2ac7989a89e77c06dd354bc SHA512 aad08af8a163c914671c1b149306061ea93fc1fb5f066dda5a351ddec4b7b374160bf657d30b0eccc498c4f53950307646d792b58cb0efb91975b2541e111d88
DIST build-1.4.1.gh.tar.gz 89234 BLAKE2B 2447acae8dd03b37bd0be043f4428566a7cd7ec0b816ae2c2f5cf460741ff54310b0eb9a017f797662170a2c37cde6e41a4c6a031fee47da8ca2d2d2dcf439df SHA512 ed6e6329ee07c547a8cd7568d4f769b50e117a684c1d087380f896183db4bd6c4d921d75913525b301f994ff865d5acbe44290d8a1aa7c13c169979b942ceedc
DIST build-1.4.2.gh.tar.gz 89637 BLAKE2B 723fdbf83eb942eb744f9bd000bbea8fc231f648ff38024aa29c6b7768b80907dfb4fa7360bbb3b61efa2a1d5f6854922447a988e19e012729fc09f9c45a14f8 SHA512 f404a97391497a21c401976ec95cc9544602c6d8c81443b011ecffe8785a42a9f7b8e4f1d2fdd7eba0f74e4ca74aae1c19f66dfe7dd53eb08c0a0efa8934b67d
+DIST build-1.4.3.gh.tar.gz 95503 BLAKE2B 71ba5fef2b9bd62eb1303d8d282ce5f6a18b7ba47632604a483f242d283295f8f52f2121a931607cbd9677e3e74cacb75f0a8992f147b07645fecd5121bb65ee SHA512 34158d518257aaeaffc0fba4275d4af9f62b2fa5fff80528aa968a33a3c2d91df96681167d964dd2922e2fcc694263a1a489ea1295f8dd4d75046ed7035ac266
diff --git a/dev-python/build/build-1.4.3.ebuild b/dev-python/build/build-1.4.3.ebuild
new file mode 100644
index 000000000000..b69bda624b0a
--- /dev/null
+++ b/dev-python/build/build-1.4.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="A simple, correct PEP517 package builder"
+HOMEPAGE="
+ https://pypi.org/project/build/
+ https://github.com/pypa/build/
+"
+SRC_URI="
+ https://github.com/pypa/build/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test test-rust"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/filelock-3[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
+ test-rust? (
+ !s390? ( !sparc? ( >=dev-python/uv-0.1.18 ) )
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # broken by uv being installed outside venv
+ tests/test_env.py::test_external_uv_detection_success
+ )
+
+ if ! has_version "dev-python/uv"; then
+ EPYTEST_DESELECT+=(
+ tests/test_env.py::test_uv_impl_install_cmd_well_formed
+ 'tests/test_env.py::test_venv_creation[uv-venv+uv-None]'
+ )
+ fi
+
+ local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+ local EPYTEST_XDIST=1
+ epytest -m "not network"
+}
diff --git a/dev-python/channels/Manifest b/dev-python/channels/Manifest
index b58c0c2009cc..93bbf2713782 100644
--- a/dev-python/channels/Manifest
+++ b/dev-python/channels/Manifest
@@ -1,5 +1 @@
-DIST channels-3.0.5.gh.tar.gz 200118 BLAKE2B 7a7653f986face1e87369917317db013e5c9fc912c6e2d7c737054ffef167bd01feb48f7e2d00d0d331e7a16093478e5416645717aed59e46dfec8f9b3641a2e SHA512 b12d1aec9602b702b5a097e9ca52dccad49940f82fcbe5594890c9bd1f1879a2fcf0f29630ca53e4972a26853df8f71d07d7b2cccd876abbf2417a76dee281bf
-DIST channels-4.2.2.gh.tar.gz 197010 BLAKE2B 321bf62c68038ce511145acd43c036dd298d58056f20ab2d676c3e3a8d6360a86a4f07c8f9ed6c123f888c012d69da22cfae4fb477dd5422cf326bf2de6a4c8f SHA512 8f7c8f27981988fed8ec254db91ce0a130b24842949ef94cc9ae21b4a259a7003654ec86c4e18aa81924e26d9b81b6a2aafaac404e490cbdda6b4a100476917a
-EBUILD channels-3.0.5.ebuild 936 BLAKE2B 788d0e9a2822dd9d0ed2d1d1a62135aeb5f244710b66f7591962518a5204cde5b8e779280783dd1d1a1b1a3fa9b272a0eb457f1d88d62c8ecefc8f67384929ef SHA512 89003fa68c7ab1cdd1a329f4389ba6fe28f491217a70c03b2979a992b450d8aa1a02f024f073ad5fc0aa1d093d81c6c8b1adaa45bdc9a179f5bd1607d85c13ef
-EBUILD channels-4.2.2.ebuild 829 BLAKE2B e5946c4a0eaf9fb3ffa2092a3d5d49d3d6ee16f151483fa2b716c8bab3350eca5e330a22822f881421d8882ffb970f4c56154c613477d094319e46addf1a5537 SHA512 84ce30d87a654c1a89ac299fb0f6447ca9c736e4b63497d83fc2687384e9cbe8094ba8f5021a19f726f9bae97c6b6d11eddef6a9ee5c275efe827bf95d3848ec
-MISC metadata.xml 445 BLAKE2B b4c0a41d6caadfbc53cbba3c41f8b7689a286b3f8d285c37a88a1f79d8dc350b82fea255048c022b92091a1e0cc67bf19645d6c32183b82a6dd49cccadf5078f SHA512 380c8b98efe8d9a2513c51899b7de90b115d4a51f104f46b552ff8929c322850e511e245a2ba0e976213416ae7241a17292ca98248caacfc891fcdcf5cea5d44
+DIST channels-4.3.2.gh.tar.gz 206077 BLAKE2B c0913d67dc74bc728dd828584cf803b4ad175bab717de71ccf1e1c5b6aaca296fd15d011deb07b2876e63b7daaefab5e5ee24c323e907b3c563f5358759f14b8 SHA512 29d9c91aca721fad44143978863c45812bf596bb65cf99084803f78d85c664d5cc7ca1015df151cdc27754b822c9cfd18102989b6e5f59bc50257f6c9d8b8b3e
diff --git a/dev-python/channels/channels-3.0.5.ebuild b/dev-python/channels/channels-3.0.5.ebuild
deleted file mode 100644
index 03a4923889fe..000000000000
--- a/dev-python/channels/channels-3.0.5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extends Django abilities beyond HTTP protocol"
-HOMEPAGE="https://github.com/django/channels"
-SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/daphne-3.0[${PYTHON_USEDEP}]
- <dev-python/daphne-4.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # https://github.com/django/channels/issues/1915
- echo 'asyncio_mode = auto' >> setup.cfg
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/channels/channels-4.2.2.ebuild b/dev-python/channels/channels-4.2.2.ebuild
deleted file mode 100644
index 710613a7cbd1..000000000000
--- a/dev-python/channels/channels-4.2.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extends Django abilities beyond HTTP protocol"
-HOMEPAGE="https://github.com/django/channels"
-SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-python/asgiref-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/daphne-4.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/channels/channels-4.3.2.ebuild b/dev-python/channels/channels-4.3.2.ebuild
new file mode 100644
index 000000000000..ffafd1ece52b
--- /dev/null
+++ b/dev-python/channels/channels-4.3.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="Brings async, event-driven capabilities to Django"
+HOMEPAGE="
+ https://channels.readthedocs.io/
+ https://github.com/django/channels/
+ https://pypi.org/project/channels/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/django/channels/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.9.0[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # avoid daphne as it requires autobahn
+ tests/sample_project/tests/test_selenium.py
+ tests/security/test_websocket.py
+ tests/test_database.py
+ tests/test_generic_http.py
+ tests/test_generic_websocket.py
+ tests/test_http.py
+ tests/test_testing.py
+)
+
+EPYTEST_PLUGINS=( pytest-django pytest-asyncio )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/channels-4.3.2-fix-install.patch
+)
+
+python_prepare_all() {
+ # avoid daphne as it requires autobahn
+ sed -e '/"daphne"/d' -i tests/sample_project/config/settings.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/channels/files/channels-4.3.2-fix-install.patch b/dev-python/channels/files/channels-4.3.2-fix-install.patch
new file mode 100644
index 000000000000..18eca8f75445
--- /dev/null
+++ b/dev-python/channels/files/channels-4.3.2-fix-install.patch
@@ -0,0 +1,14 @@
+diff --git a/setup.cfg b/setup.cfg
+index 742e1f6..43d8c0d 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -52,7 +52,7 @@ types =
+
+ [options.packages.find]
+ exclude =
+- tests
++ tests*
+
+ [flake8]
+ exclude = venv/*,tox/*,docs/*,testproject/*,build/*
+
diff --git a/dev-python/channels/metadata.xml b/dev-python/channels/metadata.xml
index 7093cae71294..0dec5a678a5f 100644
--- a/dev-python/channels/metadata.xml
+++ b/dev-python/channels/metadata.xml
@@ -2,11 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/django/channels/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index 60a5781dabbe..62a6282ee5ab 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -3,3 +3,5 @@ DIST inline_snapshot-0.29.4.tar.gz 2598478 BLAKE2B e9dea3721042b4cee764cc9ea7911
DIST inline_snapshot-0.29.4.tar.gz.provenance 9499 BLAKE2B b54184f05942c3b965fffd5cabbaa140b63e9478397bce6d4ba4e6875cb75d3349bc0743fbb05d70e13a6ab0cf85d1909b3169a5c9f4bb82b294fd9463a54d30 SHA512 d3512cb09708b241ab5a8e13f4561ac02ebd565f5c9cab858fd3ba39b805fc53e46f1758cf9a27806d2965bf0bb082f2a0151b7cd2e3d7dadd4d16d13e11accb
DIST inline_snapshot-0.32.5.tar.gz 2626796 BLAKE2B 3e811658e005b4c095564ba9d94b7290945d7f774b5cda1e2925dceca3ae75417634df90c5804b5322ef533299bc4abb195e210ee1ac4a4e070ad8a6e6d1485f SHA512 a5f4878a89a24ef8bd246ec652095363092f7127cc9135a63f6b2695be80593a67adb4b098a5f6f887fcbc566b48325bd4e3cf7be16aed13193ff7e0e6e31409
DIST inline_snapshot-0.32.5.tar.gz.provenance 9388 BLAKE2B af33c329be8e941a1a91f6f6d5967dbca4d9ad10d9e7c6d98298d5e3b590348b55b4024a01f45a2756c4ab03722e10c9b0008057eaead6b73aa2258013601702 SHA512 0018391d0373218743c438812af50d38e4ac1394ca5784e4380ca0642d789801b4c3f9d76f5880053e9a78094f99b60238b6d91a29ba111ec698b80f20147cf0
+DIST inline_snapshot-0.32.6.tar.gz 2627401 BLAKE2B bc5e6d2df47ee092fa26ed9f2206612dda294340e7df87dbf888583c5fd2965c52dd74d6039a3204f0a69a3679963b9137dd66c8c81e0c7d3b476d398ef7285c SHA512 853b0091e28244fd6d493a1a3d19ff947ce96b424f8e4700ec1f1e82c70fbda5113ee3b8b76f37efc74a80f14b999ff3f9c156936b3c626d67407216d00a8b3e
+DIST inline_snapshot-0.32.6.tar.gz.provenance 9438 BLAKE2B 8756279a2d22a5945eed8e973699399df90b12c021ecf501bc23c36cd3ac4deb0ddf0bc26e176fcefe4242381952ffa67a0348aa8b981bfbecd6d17b5009fd9f SHA512 0cafbbe3455c5e8c3938fa823c0acf0ab283d01e26ecacf9e4ab7a96dc5859f13d493c16246eac81b7770110ce7607500e27216dcf2247d29861b9631a9f5c49
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.32.6.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.32.6.ebuild
new file mode 100644
index 000000000000..0967f87cbd6d
--- /dev/null
+++ b/dev-python/inline-snapshot/inline-snapshot-0.32.6.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/15r10nk/inline-snapshot
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Create and update inline snapshots in your Python tests"
+HOMEPAGE="
+ https://15r10nk.github.io/inline-snapshot/
+ https://github.com/15r10nk/inline-snapshot/
+ https://pypi.org/project/inline-snapshot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
+ >=dev-python/executing-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/black-23.3.0[${PYTHON_USEDEP}]
+ >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/mypy[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,subtests,xdist} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pyright
+ 'tests/test_typing.py::test_typing_args[pyright]'
+ 'tests/test_typing.py::test_typing_call[pyright]'
+ # TODO
+ tests/test_formating.py::test_format_command_fail
+ 'tests/test_docs.py::test_docs[categories.md]'
+ 'tests/test_docs.py::test_docs[code_generation.md]'
+ 'tests/test_docs.py::test_docs[testing.md]'
+ )
+
+ local -x PYTHONPATH=${S}/src
+ epytest
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
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
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+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 271137de443d..7100f5f39dd8 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ 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 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/libvirt-python/libvirt-python-12.0.0.ebuild b/dev-python/libvirt-python/libvirt-python-12.0.0.ebuild
index e2a0e3ce0e2f..cb96979945d7 100644
--- a/dev-python/libvirt-python/libvirt-python-12.0.0.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-12.0.0.ebuild
@@ -23,7 +23,7 @@ else
MY_P="${P/-/_}"
SRC_URI="https://download.libvirt.org/python/${MY_P}.tar.gz
verify-sig? ( https://download.libvirt.org/python/${MY_P}.tar.gz.asc )"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+ KEYWORDS="amd64 ~arm arm64 ppc64 x86"
RDEPEND="app-emulation/libvirt:0/${PV}"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/dev-python/mypy/mypy-1.20.0.ebuild b/dev-python/mypy/mypy-1.20.0.ebuild
index fcb0eb485627..4544a2307417 100644
--- a/dev-python/mypy/mypy-1.20.0.ebuild
+++ b/dev-python/mypy/mypy-1.20.0.ebuild
@@ -6,6 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="sqlite"
inherit distutils-r1 optfeature
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index 57ae9a674393..663eb76cc8ab 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1 +1,2 @@
DIST nox-2026.02.09.gh.tar.gz 4031394 BLAKE2B 6d2c04dec43c09ef2163c04f73ea0833c1963abae7c13a96d6f526e2f936b976d19e4fe79e5272d7b86bed920e9cb362c60fae655a07296d7b509c959096a8e0 SHA512 3ae5901f7f001e5cc607e99d8360697343dd8c7717f2f5b55937b2a759617d0493b37779672cefa0f18153529f46945b10db6a8352e222b0508bc683fc6fbd3f
+DIST nox-2026.04.10.gh.tar.gz 4035107 BLAKE2B c714b751e689643ef340a08e1d004cde2775180688be683bd699dc2ed950809c322cb33c4891bc0e3b3b2c87cb51139f6ac07038763eedfdd0e17342fc805edd SHA512 4771fcb8df3a43a2aa3c4a01d4bb377d1f5720b234e147c062c5bbe539173da67823318a821c89f754e8eff1206ea84c43d32006438c98131e9eda766567b1ba
diff --git a/dev-python/nox/nox-2026.04.10.ebuild b/dev-python/nox/nox-2026.04.10.ebuild
new file mode 100644
index 000000000000..9cb55e11403f
--- /dev/null
+++ b/dev-python/nox/nox-2026.04.10.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Flexible test automation for Python"
+HOMEPAGE="
+ https://github.com/wntrblm/nox/
+ https://pypi.org/project/nox/
+"
+SRC_URI="
+ https://github.com/wntrblm/nox/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/attrs-24.1[${PYTHON_USEDEP}]
+ >=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/dependency-groups-1.1[${PYTHON_USEDEP}]
+ >=dev-python/humanize-4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pbs-installer-2025.01.06[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: conda?
+ 'tests/test_sessions.py::TestSessionRunner::test__create_venv_options[nox.virtualenv.CondaEnv.create-conda-CondaEnv]'
+ # Internet
+ tests/test_virtualenv.py::test_uv_install
+ tests/test_main.py::test_noxfile_script_mode
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # hardcoded CPython assumption
+ tests/test_tox_to_nox.py::test_commands_with_requirements
+ tests/test_tox_to_nox.py::test_skipinstall
+ tests/test_tox_to_nox.py::test_trivial
+ tests/test_tox_to_nox.py::test_usedevelop
+ )
+ ;;
+ esac
+
+ epytest -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest
index fd5a2a1b1128..32dea0db83ec 100644
--- a/dev-python/nuitka/Manifest
+++ b/dev-python/nuitka/Manifest
@@ -1 +1,2 @@
DIST nuitka-4.0.7.tar.gz 4421537 BLAKE2B 038d091f2ee8628a1f79f20f2739ea7b9e9e6305e5eb83bbedcc709702eef85061fcf062416991e0ff8b499d1a14a20c2afc84118fdd33a3837c786ed81fe1d8 SHA512 e29c8e037b651310cd8c937ee542b5d1d52e2ebd4b7ee475de87dfbebc47c40c8576a44c00a7d2ce2bcfeee1f13eb942ce1c28a31ae5e779cc5e6f06ca9d6485
+DIST nuitka-4.0.8.tar.gz 4422692 BLAKE2B c25756242cc778f63d008c76f23a145fa42187bc7a1c51eb95c36547ef819291618a906f33f676473cce9a0877564e8d7184a2f5c137931fd9f1e5ff8715f4c9 SHA512 570564d3ef298b8183b7966408a1d024c0f2218fc613936407a341b5b7771dde35382dedaf9c0976cc9b90db95dbddeba0fb824d421d10d29b2187f3034b9179
diff --git a/dev-python/nuitka/nuitka-4.0.8.ebuild b/dev-python/nuitka/nuitka-4.0.8.ebuild
new file mode 100644
index 000000000000..716e2509a99e
--- /dev/null
+++ b/dev-python/nuitka/nuitka-4.0.8.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest
index b47ecf1555cc..bb11e9e8d7b0 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1 +1,2 @@
DIST pyghmi-1.6.14.tar.gz 284679 BLAKE2B 9fd7943b3fd57eee6423a57fe26f052bb11c96ca26d4e9e7fc3e03d756a5ba7d928fa2512ae257ce928ae6be854d2e56ddde33860359eeddc398f1d89666826a SHA512 80b0704b357abc7d63adff5e226612ee94c1795969d4a877030c75bd4fe235e959711ff2b7715f53dfbb7a15969a922ffb889b4df998e06e4edfea635a3c2798
+DIST pyghmi-1.6.15.tar.gz 284731 BLAKE2B b26ba91dc36619d81351e94ee35ac456691e8f3ac74873f30dd4ae5e94709480881c38c0ec29fccf6594eff7489abfab42edcc6d138cf1b08ca86efa9ea5e8bc SHA512 2098304c7c03ae1ecabac35c8287bde69eedb2aee9e85d702014001cb6ad99880ddf427fbd47c9a6f69c331db1c11ea1d333a38a43f36507d8c373856e220837
diff --git a/dev-python/pyghmi/pyghmi-1.6.15.ebuild b/dev-python/pyghmi/pyghmi-1.6.15.ebuild
new file mode 100644
index 000000000000..52ebdfb77faa
--- /dev/null
+++ b/dev-python/pyghmi/pyghmi-1.6.15.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure python implementation of IPMI protocol"
+HOMEPAGE="
+ https://opendev.org/x/pyghmi/
+ https://pypi.org/project/pyghmi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.11.1.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.11.1.ebuild
index f8e9db0c1415..0b3da6d3984a 100644
--- a/dev-python/pyqt6-sip/pyqt6-sip-13.11.1.ebuild
+++ b/dev-python/pyqt6-sip/pyqt6-sip-13.11.1.ebuild
@@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt6-sip/"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest
index 03b87c1d3351..f0ed4cccb184 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1,2 +1,3 @@
DIST python-multipart-0.0.22.gh.tar.gz 93021 BLAKE2B 9207850473f4dcb8e49ed53a934086d46c62873140fac715f41f7a2b03ae4b958a6c942299ee535d3d8b345ca37cc2658afa3bc1e7aa525102fdd9c6ce437240 SHA512 6fcee170492ec68b29d79eadabab0c8a1e35f0ddd7ab9413956677149c81cc528ef96b52f4af543147b826a55e76807d8f03ee2971cce9d8f05cea8c87f27900
DIST python-multipart-0.0.24.gh.tar.gz 104640 BLAKE2B 6959d38e53ee4ffa3cd26271e2f73fa12a31b9b5e3110a8c0b1076df1379096e18c967bdd5cdc1a392c8e866210c8b5232c6fa81d087fb3345c9a77090e70f92 SHA512 e33243abbd7955c6878be715ed17333966ffb3b1623ce123df3b1040eb3cc588c8ee50c275da052716065a6417ca5241da7b0c1ff1fc5b4cb7627829c5c532b3
+DIST python-multipart-0.0.25.gh.tar.gz 109366 BLAKE2B 73c80b51c5bb24b30e2afdc3896032b8b6bf58072bd7a7ae002fe068355faaee97db7af3ff28ac5ea238ed18392fb4dbc11bf6566f3a640425cdc0e05018dcc5 SHA512 eab6a101dce9bb374b974b2ce12f6cb5bd6035327d35c66bc7b478ce9d0c9c7dc87e06d52c6ebaebf9171e1e207de1aae7a901f812e7150b70bc3f6b65552bea
diff --git a/dev-python/python-multipart/python-multipart-0.0.25.ebuild b/dev-python/python-multipart/python-multipart-0.0.25.ebuild
new file mode 100644
index 000000000000..440ede195d00
--- /dev/null
+++ b/dev-python/python-multipart/python-multipart-0.0.25.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A streaming multipart parser for Python"
+HOMEPAGE="
+ https://github.com/Kludex/python-multipart/
+ https://pypi.org/project/python-multipart/
+"
+SRC_URI="
+ https://github.com/Kludex/python-multipart/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not install the backwards compatibility package
+ # we're patching revdeps instead
+ rm -r multipart || die
+}
diff --git a/dev-python/qtawesome/Manifest b/dev-python/qtawesome/Manifest
index ac60b712c210..54f819fff2d9 100644
--- a/dev-python/qtawesome/Manifest
+++ b/dev-python/qtawesome/Manifest
@@ -1 +1,2 @@
DIST qtawesome-1.4.1.tar.gz 2614043 BLAKE2B f93a0c7c4775ad936ce68b6a4ad67b492da39f1e52aba5d16193e627fd8a57c2533b3e2e2a5a2dffad66004160437f4f926b29e3d4789aa5dc8b387993e1c1a0 SHA512 750f82d420b568d8dde45278fc1f9ceb73e41033c6f30920e0be0818079c9f7615177959b492f86ebc63941d188628a038ae064251a551fa3d20eac7ca7880f9
+DIST qtawesome-1.4.2.tar.gz 2614207 BLAKE2B d05849798a4a5e555e68b9d1681694de6cce5a7194117193adf1ef39defd52aded4935a1818e8f97ed42a18b48198cf2b79a635db5c9231e3003ccb281245e5d SHA512 01986aded5ae4752bd0093ed1b57993fb4745adba19143a9674f8789f7ecca790ca168ad71eee7885aa909ed11da7ff717d0293fee2ba73ed80d2786f9f9d678
diff --git a/dev-python/qtawesome/qtawesome-1.4.2.ebuild b/dev-python/qtawesome/qtawesome-1.4.2.ebuild
new file mode 100644
index 000000000000..b3a48e607e56
--- /dev/null
+++ b/dev-python/qtawesome/qtawesome-1.4.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Enables iconic fonts such as Font Awesome in PyQt"
+HOMEPAGE="
+ https://github.com/spyder-ide/qtawesome/
+ https://pypi.org/project/QtAwesome/
+"
+
+LICENSE="MIT"
+# bundled fonts
+# -------------
+# Font Awesome, Elusive Icons: OFL-1.1
+# Phosphor: MIT
+# Material Design Icons, Remix Icon: Apache-2.0
+# Codicons: CC-BY-4.0
+LICENSE+=" Apache-2.0 CC-BY-4.0 MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ media-fonts/fontawesome
+ dev-python/qtpy[gui,${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-qt )
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ nonfatal epytest || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest
index 695ab7aec9c8..967bcc7652f7 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1 +1,2 @@
DIST rich-14.3.3.gh.tar.gz 15087403 BLAKE2B 3d21a0b1e5b5441bdcb9d0051a552ffe771287707bc0ab24d75cea5f6dc14b8fad9daffd0d4b1f0704c96883259d11a0c57701ae7c2628b86157912a1b7fa591 SHA512 61026597c8224f64bb113231dc1e991b7ed471793c72700ca8d52adf5234f96c84de09ec8d175a60582e68d8ff935c507fdb2599d0a567832f739abcb599ef96
+DIST rich-14.3.4.gh.tar.gz 15087431 BLAKE2B f0bc3e99dc7ed2afbe06a98c36b950baf4cf62b9fba2b3d288b9ee87027fcb05e7d6b34400f3838858c8f19e8324aeed7eef53c248dfdf036074b6a038323a83 SHA512 78be1ea9ee57c79a9d7863d7842459b701c773805812b9e7bf702715f90f64b2e9462b7a0093dd80005f5d988c86682d9e67044570b9de255f9972f8cc1f6dbd
diff --git a/dev-python/rich/rich-14.3.4.ebuild b/dev-python/rich/rich-14.3.4.ebuild
new file mode 100644
index 000000000000..4f51a918264a
--- /dev/null
+++ b/dev-python/rich/rich-14.3.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
+HOMEPAGE="
+ https://github.com/Textualize/rich/
+ https://pypi.org/project/rich/
+"
+SRC_URI="
+ https://github.com/Textualize/rich/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_console.py::test_size_can_fall_back_to_std_descriptors
+ # TODO: segfault in recursion (PyQt6 interfering?)
+ tests/test_traceback.py::test_recursive
+ # TODO: some random dep changes?
+ tests/test_markdown.py::test_inline_code
+ tests/test_syntax.py::test_blank_lines
+ tests/test_syntax.py::test_python_render_simple_indent_guides
+ # pygments version?
+ tests/test_syntax.py::test_from_path
+ tests/test_syntax.py::test_syntax_guess_lexer
+ # flaky? plain broken?
+ tests/test_console.py::test_brokenpipeerror
+ )
+ # version-specific output -- the usual deal
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ tests/test_inspect.py::test_inspect_integer_with_methods_python311
+ )
+ ;;
+ esac
+
+ local -x COLUMNS=80
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
+}
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index e63f9995751d..f007b010f72e 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -2,7 +2,9 @@ DIST selenium-4.34.2.tar.gz 896309 BLAKE2B 094d3596a86e1cd50a6967a65b3e7b9a73300
DIST selenium-4.35.0.tar.gz 907991 BLAKE2B e2d0baade499b41cdb23bdbae0059163fb58157dc86c3bcf4d7b9c4d040bcec19aba4000a223a4e7dd0137d4cc321064e95cd12fe22beaa311237c18261518ce SHA512 09f9149b94974c7965d5b81ee1ca65cca7e7a1de775d7323335c21acbbdc21da17f0f6314a8162177c6a22fdbb23b4147c213b2c3a98bfd9a13ac077dc113812
DIST selenium-4.41.0.tar.gz 937872 BLAKE2B fd176e710970da5435b2d2daad90ad1f6a567dd77d9cfe0cb6980612155a5194c6c80ba7be444e8baade758a91dc2f9cdc6d3ce8fffcd8c31a03271e5f7dbc2c SHA512 517e38b38266e92b66bf072640777e037d1af4321a0399d665a0f2acdb76c574abf65f8e6412e7c606a4937010ffd6bff9c9f323b51c88e80d883b5c909c2de6
DIST selenium-4.42.0.tar.gz 956304 BLAKE2B f43bf9893135bc8b7bf739bccd4155db7200e1262abe0fdd311041066e1f37b7f090da64a17aa693e616bf27adc5e1897c2981356b6af4acb985b929e939be66 SHA512 36a17bd89f5ef03d5b72c981ba4b4e6b3c1173d3e211a9df8cd8fe77c48d99d6471f629dbaf9a2c476a446677b24574e1a37ce2370a4280ae0eb82003d0381ec
+DIST selenium-4.43.0.tar.gz 967747 BLAKE2B f0096d6a9a7d6836978f58e866b27f8b55a18ab5759ca2a90547578d36201613bb485f87dbf9f0a7a76f501d8548235d23446d0cb5cfc74a9d6f60300f297845 SHA512 48fd7223a685f9a200d52e81b56b5ccd36add26741ff67ba311e194d14e95061b3c55cf338ba8ea10cd0b2fd436092a382165631616664eb95de30e3d2394f47
DIST selenium-selenium-4.34.2-python.gh.tar.gz 52515190 BLAKE2B 319a7083d5942c1962b4f48f907fea12943a403e4490f74f3cd38662f1c63f57270b27b6039a5a8f29a980540cd0dcf1d1c7560c7ac126f07e491983dc0e81ef SHA512 5ca0b6e970ded3dc93cd55a2c1af7c43063d87f57f119a011313eb7d08faa4057896a56d4eac2e13d39857c94b54f04840a053153cc39008c76cbdd33c8ddbba
DIST selenium-selenium-4.35.0.gh.tar.gz 52550104 BLAKE2B b7ed0fb513cfb2ed24aa8393497b349f930739c3d24a330e5942fbaa5505f31d7086396a430776a3a28a5f65927b92bf27c0a32e8c36d893b5d62ef73151d5ef SHA512 dc73829e3b0fcb7fb7ee1cc04574b95b63d23f67974575dbd66338e14a5cb2b06f983145ce874be0d7124e8828b0a41b99c75d3befb19e04cbf8d027d0bb983a
DIST selenium-selenium-4.41.0.gh.tar.gz 43597635 BLAKE2B fb24f27bf3b64d4da4a117bbb62566b6c1dd6fa85357b9db4a81f17fb5167ca1f2265a0ad8b54efeb14568477390521f5b5774e3278091fd1a0110e5e0d9ce30 SHA512 68cf0ead725d09dcaa8bfe9f239e0f8c0ca7b9dde9d11b8c22dbe53c51611534136f910bc91c9ab237e2b9c106ae06efbe0e0fa9277ef668c4a4935f74613a6c
DIST selenium-selenium-4.42.0.gh.tar.gz 43696997 BLAKE2B 9836b8935586e21d487660f2031c316f9afd6d382a2c2e5f090fe40792215334da90c5d59b7debd612c8bb2146a3595624a5c9e949f84a4d551ec540c59b10e4 SHA512 89309fcadcbc7fdc110aa2a4c58e0f92f3872ff1addacc65813731aaca6ef48869346f69344731926dab84ecdd5a4a53a6968f7c2e953faa3cc4833ff9e511ff
+DIST selenium-selenium-4.43.0.gh.tar.gz 43705758 BLAKE2B d10a4167481924becfdc115175b7681ecda287e009288acda448cb81f081d7dc6b1789ae7cca3a8ef93dbcfb15f27bbc3f201b1b10fb9339dc2f5595221221aa SHA512 596c9a7631a25166391d92af931a660fd2bfe0994c720357e47552ca7101f6af2b578f05f160c24765ec81471b6a02af91ee7baf758c9b853d68ca7fbfa0820a
diff --git a/dev-python/selenium/selenium-4.43.0.ebuild b/dev-python/selenium/selenium-4.43.0.ebuild
new file mode 100644
index 000000000000..d44762270fc1
--- /dev/null
+++ b/dev-python/selenium/selenium-4.43.0.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+# base releases are usually ${P}, followups ${P}-python
+TEST_TAG=${P}
+[[ ${PV} != *.0 ]] && TEST_TAG+=-python
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+ https://seleniumhq.org/
+ https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+ https://pypi.org/project/selenium/
+"
+SRC_URI+="
+ test? (
+ https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+ -> ${TEST_P}.gh.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test test-rust"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/certifi-2026.1.4[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.31.0[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep "
+ dev-python/filetype[\${PYTHON_USEDEP}]
+ dev-python/pytest-mock[\${PYTHON_USEDEP}]
+ dev-python/rich[\${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/pytest[\${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
+ >=dev-util/selenium-manager-${PV}
+ net-misc/geckodriver
+ || (
+ www-client/firefox
+ www-client/firefox-bin
+ )
+ )
+ " "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not build selenium-manager implicitly
+ sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
+ -i pyproject.toml || die
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+ # remove nonsense typing deps
+ sed -i -e '/types/d' -e '/typing/d' pyproject.toml || die
+}
+
+python_test() {
+ # NB: xdist is causing random pytest crashes with high job numbers
+
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_PLUGINS=( pytest-mock )
+ local EPYTEST_IGNORE=()
+ local EPYTEST_DESELECT=(
+ # expects vanilla certifi
+ test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+ )
+ local pytest_args=(
+ # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+ # seriously?
+ -o "python_files=*_tests.py test_*.py"
+ )
+ if use test-rust; then
+ local -x PATH=${T}/bin:${PATH}
+ local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
+
+ local EPYTEST_RERUNS=5
+ pytest_args+=(
+ --driver=firefox
+ --browser-binary="$(type -P firefox || type -P firefox-bin)"
+ --driver-binary="$(type -P geckodriver)"
+ --headless
+ )
+
+ local EPYTEST_IGNORE+=(
+ # requires some "python.runfiles", also bidi tests generally fail
+ test/selenium/webdriver/common/bidi_webextension_tests.py
+ # throws some error that pytest doesn't even show
+ test/selenium/webdriver/firefox/ff_installs_addons_tests.py
+ )
+ EPYTEST_DESELECT+=(
+ # expects prebuilt executables for various systems
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
+
+ # TODO: these don't respect --*-binary and try to fetch versions
+ test/selenium/webdriver/firefox
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
+ test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
+
+ # TODO
+ 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
+
+ # TODO
+ test/selenium/webdriver/common/bidi_browser_tests.py
+ test/selenium/webdriver/common/bidi_browsing_context_tests.py
+ test/selenium/webdriver/common/bidi_emulation_tests.py
+ test/selenium/webdriver/common/bidi_errors_tests.py
+ test/selenium/webdriver/common/bidi_input_tests.py
+ test/selenium/webdriver/common/bidi_integration_tests.py
+ test/selenium/webdriver/common/bidi_log_tests.py
+ test/selenium/webdriver/common/bidi_network_tests.py
+ test/selenium/webdriver/common/bidi_permissions_tests.py
+ test/selenium/webdriver/common/bidi_script_tests.py
+ test/selenium/webdriver/common/bidi_session_tests.py
+ test/selenium/webdriver/common/bidi_storage_tests.py
+ test/selenium/webdriver/common/bidi_tests.py
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
+ test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_element_with_custom_locator
+ test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_elements_with_custom_locator
+
+ # Internet
+ test/selenium/webdriver/remote/remote_server_tests.py::test_download_latest_server
+ test/selenium/webdriver/remote/remote_hub_connection_tests.py::test_command_executor_ssl_certificate_is_verified
+ )
+ else
+ EPYTEST_IGNORE+=(
+ test/selenium
+ )
+ fi
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ epytest "${pytest_args[@]}"
+}
diff --git a/dev-python/unicode-segmentation-rs/Manifest b/dev-python/unicode-segmentation-rs/Manifest
index c81bb69ede20..d3c4fb9b6c5e 100644
--- a/dev-python/unicode-segmentation-rs/Manifest
+++ b/dev-python/unicode-segmentation-rs/Manifest
@@ -1,12 +1,14 @@
DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST cc-1.2.49.crate 93145 BLAKE2B 9321ab03753e16411e7da066f9cf742705ea2e815b81e790d3821c08e7eebede083a73a14f3911331c623554bc61941b5d586a3f635c2da2e7dce82f24bafeb3 SHA512 2bb2913928a5456db746a8cdb78db942392779bad0a20f0c1df1c905f984b84756c2ff9663aa2729ab5d0b83df7a7317c7b86c27917417b5ce4196d29712ffa1
DIST cc-1.2.57.crate 96188 BLAKE2B cc59c45170f146e45569b36b96cb037b737f6e93640ef9adbf423fb6f61fc07a0e48efc6e53a8536f91210c95971b15d93e5b8544ff5996b14902f181ff39c97 SHA512 9bcf7aaa2791ef9d2054fd93489a019c4a77c3376495bde01468dccf9ec81701061467372adcd3759f6d4ae962ac108199544860a4d3c5de7595bf28fe76c187
+DIST cc-1.2.60.crate 97051 BLAKE2B 292350c3fe7dc3e023fe4f7cd07b3a5a7233996963b42391243948f834a17cf69781bab32cf46d62722c45437f50123450811dce8aa0e96ee63f35480cc15d90 SHA512 d67fd7400bd1d20f26f7a6743ac02ad09dba0b8002172b87907f4a7ae2487ee41feb2f24fe375ca91a3ac4fde1dc8b48b6703b74297c9eb42bd1e91ac8fe4e80
DIST find-msvc-tools-0.1.5.crate 30942 BLAKE2B 25f061bfb8a195752109bd444deaebfd94228e52c6eb94396fff9ba9d450876a58bc4352158684c59d1a2cb2a13a32ecfa1e96f1d80ac0c63827bfd7f46d9c80 SHA512 71021ce1a16c454bdd30abbb937c2ca67ab28ffcf88574e3ab758683943b44a96312a53cd6f5b8e76c89284a0cedbf46edb606894af720e3612c812bed189ab8
DIST find-msvc-tools-0.1.9.crate 31493 BLAKE2B 4137592addf8b58f4e4c02be537a72b132b38cecc1c263c2569fe40e2cfe4377e7141679f32661f44ed467cf9723343ab13732b3d6f4a2a84c610d0958e7e30b SHA512 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73
DIST libc-0.2.178.crate 783720 BLAKE2B 72f5fecacf0494b3962ff893d647155af88e9942b14d110e521b25e5d65d95d41dc00f83431b82632a53c6e0ae7fd537d018d7bf29df65d5e56b908a893d77d0 SHA512 968b954e2edde88d14135decd9eaadc31ca1aad80529a6696591c06c4414d615c97ce0873f77bfebe08b862faa5f3cb79a6648ab90734d462bef06e06ea43dde
DIST libc-0.2.183.crate 816918 BLAKE2B d0c26ca25b0808575aa540a5f0f43acaaa5a972269c5f101122538a1733b37b6aac3696a0d7298fe16974b06efb0b92072252eef40b17b977af24cc857963daf SHA512 017986d4fa8c362f8900c1c82c7381066382a7272cfe114243b8d47637d042c87b5ebef7881cf46727e00e541a0a8270a32db694ce8d78372672cf08224a90b2
+DIST libc-0.2.184.crate 820172 BLAKE2B 61c2c133b14e79a6871eed0fef248a063f19d41def5bdf72bc7f96c3b60eac24b52d13e16f28d68d750a16fe546c26f245cc088782fd26f8fac78da91b1d5c0f SHA512 46e22ca28ee3562bfa2475a944390cf2d864e11d533889c753c4888a56c02b981bf9507b7866bec65c1b1aa32801cc1c57b660bd93149111547ece7ddc55f31e
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
@@ -16,15 +18,21 @@ DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db0217562
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.27.2.crate 1171342 BLAKE2B 421039fe650e01546661ab98593288f8058694d513261fe0025851a68b665bdfc001692c60a5a34ede92d13a6003e8f261e4bcdc17f67518a156f52916d2ff76 SHA512 b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
DIST pyo3-0.28.2.crate 1202843 BLAKE2B 18158e22631ab35348eab1f117f16b311932de832d910f37a71cf481ec04ced03c37baaf63f1c8afc7ecccef039fc8f9072cbe0dd5109a74e7fb9f6b3ddb18a4 SHA512 fd4a03eb1cdfa40c1ed67b588cd4da31c90972f95c669b20a1099fb9304cd9506337f674e0bc9efd1d22a453162aac79a36ab18ca97eaca3515d640e2e9b923f
+DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247
DIST pyo3-build-config-0.27.2.crate 35564 BLAKE2B 8786478e559613cc258e2d0153d549f65c13a24a3fe612da7ac96e5f4038a1714dbc6a01b2d3e3d99b3de3af9658ad220647fbba4a33305bef81c07100426ada SHA512 dc7cee79ce7febddeec9e70dd5de3b59696a5cf38afeccdfeda00307cc22166d0e9649d5e34e9801b7f495b31c104fa78dac2241248787daae8b9ea1f4551ce5
DIST pyo3-build-config-0.28.2.crate 35958 BLAKE2B 87163e11ff52061e11943f54e0fea1101ec6f877b4e6ecda33e32a19d1a8af3a6a83ab23d17f744fb0176e35f819669e931f88c55d611c8f7ea52eacd1c683a3 SHA512 f9b4863baffdf474ba9121edc19323d91565dd1411acabda03a307c8aae4969657167a80e197d4c8656e711e424053aced6a1de7978cedd38815304835fc5dbb
+DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126
DIST pyo3-ffi-0.27.2.crate 78552 BLAKE2B cdd6fb74a49615c42e6c6979e28c1d56e0061ae9e9897a20032d6be27c635433e9fa459847bf3c88de3be7503d045ef78d4ea3e028403c1ed00da96930ed73dd SHA512 29936c7a0fa524304ca8b017ac912e2c3e9237a86ac8510c17b96b75c7e83948599884f064428640456cd5fb256246d536da432d096f924e78360efd973cee0b
DIST pyo3-ffi-0.28.2.crate 80837 BLAKE2B ac17690399e5cf84602a974860d84856d9489c7d94ec618cdb3b4c5bcee81d3767a727f22dca0a06d492ee28ecf24c84f48cd391a6d81229b1464fbb17654ac5 SHA512 f6b4fdea320922b81395e593fe135fd4b4f483250fe94d84019c97a3a9f98b6e2122134e09613021f194782038ffea1d32d3c65b1458e15ce3021d39fd582738
+DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f
DIST pyo3-macros-0.27.2.crate 8913 BLAKE2B 99a9cf37cb05261fa75d0ede4ed8ad75bbe29b941a4c6a0907d1c1baa887d0777dcb5970c7fbe1337c1b127b6318d077e2d8374629485572f3f7997a3e3825b8 SHA512 b05f6b61c5b320e83e879384691cdb9ad57ade3ce5a9fdfb587ccd13ea1c92d2b210e2d7ca242c3d1a5f5173076a25578d3d81f5a8c3935a43f010bfa8452153
DIST pyo3-macros-0.28.2.crate 8960 BLAKE2B 54fdb3f2d04c1f04d3cdb4d8422cd9fe1098df2f2740eaf61e2868e19f0a93c677486cef56576e39ba2010e426901c95846b7b81285858094ef1fdf48edc65b1 SHA512 7125a41bd5ceaa5c85a2ac5ed1bf07708cf95f58dd18a8ba9000a3139ebc06e90776b4254820410e940c80ed45f7c09165c8fe57d8f79069622849c6c0861bcb
+DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1
DIST pyo3-macros-backend-0.27.2.crate 82513 BLAKE2B 9154f0275ac031fb456c313176490b7f98e033a9ff43caf32ca717e6dedc2c32435af5e7d9d2e784690fe2a379c033f0dc036b18c630fa7cb3c3365e335e3a12 SHA512 811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
DIST pyo3-macros-backend-0.28.2.crate 87939 BLAKE2B c70e46d44c935e58957cd53a76a1e6d2e97ee1bdc39c926b1a23ce391785f212c30e150286fc78724e945679ac1ff04a10ec958b6d3dfe30c4acee795f6c2e63 SHA512 24203c47d91be9acc949cfc70ec8b4aa32e089275cf9b0061a9909f5e60895c56446692be0056e13cc4df8efc0698e0655626f9524241b54cd172d8a25e42f98
+DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84
DIST python3-dll-a-0.2.14.crate 103489 BLAKE2B a2868aa62d9b5f33ba0ab3be85f486e7b0594b8e535749e251ae9c829eabf9f0211f928c729b0f5b847a89be978c4b5648d333ac657a82acaa3c39520dfe0b8c SHA512 fde53bac2b7009d409d5dfab991b431aea7c16c5e0227a7bb143e73a043cd0490cec2647f73cfc34f73a192e9b365a70fd5b42d969beb2e3251dff44230a2040
+DIST python3-dll-a-0.2.15.crate 104255 BLAKE2B d08eb9cdbc9011e8965b24aa9c9538f0a2e372c0e76fd96d9241b587d83d16cb5cb1f5fcf7f62123dee69970be900e9cf46ad959f130f5095eaacf44470b66ce SHA512 1f5bad896ef5f630e43fd76cd9ea73ce859ac98c9c569435045f21633ddff085416ba7ae387e823339696edb729a94700dba44e7351c79b1408f05ebdda0a7ba
DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
@@ -40,4 +48,5 @@ DIST unicode-segmentation-1.13.2.crate 111829 BLAKE2B dcca4af1f3d432c7f40366f7a2
DIST unicode-width-0.2.2.crate 282768 BLAKE2B c03a04bb159969f32447c7823f50b2686c515dff4f7778d2cac07a87cb9488d44844b0bb0b51c6996d8fa1fcb65cf4e6a8a9e697d95c1be8373535bc8d7c4215 SHA512 a0ff6ccc1d154e5a100808d3109fe30afa048c3ff402f0a0de34dbff2d58a7403903002185b33bee7b04dcb578c9dea66225a8697f3cd997205680ae3abce965
DIST unicode_segmentation_rs-0.2.1.tar.gz 25041 BLAKE2B e77e4f5c7a0f61e7a2400a3b306d5e321d610ab5740508f0ece98ad7ef8f2a806e70ef50f76d26176aa89c9fe7c07e7f6f28dcae81f8a9d1904a40bab67f4a51 SHA512 857b04ad72cfbac799d5dfa6a1970d2a246d893347569cf5bcc85881a4a712ac9fdda1fa1e8d713563275311ad55f057f565e75c717b5a252951f6a1bcf84026
DIST unicode_segmentation_rs-0.2.2.tar.gz 27124 BLAKE2B f370027defba5c82964cddc54d417b323c3503a0399fe870e9657f2bb20c75d37c47f3b8b0bfbbc0ec525b1459b4fb9bbb62214d858d27c2579a544afd5ead6f SHA512 296095a60683166de5a1996a8caaddaccc8c966bacfa5c77bf64a34aa0ce0ef324ca5d6502021346722a9305ac8dcf9433b25dfec69a34d626507ba3676e1c3a
+DIST unicode_segmentation_rs-0.2.4.tar.gz 27177 BLAKE2B d184f8cb3686d532f2fb8c78f3bb510bab63a99e288b631751992a6da84fc2b8b1efdefa512ec2dfbb07091f9a0d8b45aa280c0764e3ccfc8c97ee5ab044a028 SHA512 b60c04acd703bc0402213fad0b3498b09209a8498d11c9b3985b458c315f0ecd3dfc558ed118c6f8b73236e6a373c9143c67e6ae430f86308e7b73c4e9bfac12
DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.2.4.ebuild b/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.2.4.ebuild
new file mode 100644
index 000000000000..957bbcd54481
--- /dev/null
+++ b/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.2.4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..14} )
+
+RUST_MIN_VER="1.85.0"
+CRATES="
+ cc@1.2.60
+ find-msvc-tools@0.1.9
+ heck@0.5.0
+ libc@0.2.184
+ once_cell@1.21.4
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.28.3
+ pyo3-ffi@0.28.3
+ pyo3-macros-backend@0.28.3
+ pyo3-macros@0.28.3
+ pyo3@0.28.3
+ python3-dll-a@0.2.15
+ quote@1.0.45
+ shlex@1.3.0
+ syn@2.0.117
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+ unicode-segmentation@1.13.2
+ unicode-width@0.2.2
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Unicode segmentation and width for Python using Rust"
+HOMEPAGE="
+ https://github.com/WeblateOrg/unicode-segmentation-rs/
+ https://pypi.org/project/unicode-segmentation-rs/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+QA_FLAGS_IGNORED="
+ usr/lib/py.*/site-packages/unicode_segmentation_rs/unicode_segmentation_rs.*
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest
index 07f390587e34..ebf6f59531e6 100644
--- a/dev-python/wrapt/Manifest
+++ b/dev-python/wrapt/Manifest
@@ -1,3 +1,4 @@
DIST wrapt-1.17.3.gh.tar.gz 140900 BLAKE2B 88c4cd718cd98a97c866c4f0b9f7e095347fe6fa5fed60c54e389329c89f9f07099c8fb79561cf5e12c19c44a4067d81e805c55b54a74429e6b75913dedd6b3f SHA512 1a1f7419f20faa461a9e23ad09cc98d381ef2c48b3b24ed1dfe98d42d16857a958252301e78dd41b7fa8ef37eea379f9244cace2b396b49718c44cbc701308a3
DIST wrapt-2.1.2.tar.gz 81678 BLAKE2B f7fc45f31b8077d6d97c14c1f649437e0f1da7537769d369d427edede0ba1b84c8c07e6de9ded8088f29f2fb774272186d0f9b707e6b2bef650dc5f78444d852 SHA512 97f1af4cabfd7a4cfabfaf36d26d1afc577747f18946226fbb80256e13c55302b746005e01720e874d46d536826c83e9234544c98f8dd1ecd3c9a091113da808
DIST wrapt-2.2.0rc2.tar.gz 91919 BLAKE2B 5f3c42f36f2ec74677a0de7367a019f0b02a183ee28f77f91d2748f8a0cd6714a2d315bdd1900fffc9ea383e1f236b2437aada6fe308d1607578fdb70555f57b SHA512 a70626f14f1b59cc5dfcf99038a72dca022b953f280b34a9472621afe22cecda450b660244bade2956e1b8e13c21365839b186c60ac68e993a0f55f6e44a4ccd
+DIST wrapt-2.2.0rc4.tar.gz 95966 BLAKE2B 8c87e0998711cfa08b81c75ead0589bef8ab723df48d04b2304691cd0cbc0c5e25324381a6386f93deb022985285e025cb9600e210a8101e8bae782d8f531a3b SHA512 fb62f0e0b8448b246ee3b34497bf20ca0faac8b3b91da9ea07a2585bcc026ba0a58d5adb2786360a61cca54e212f931019675cb708de2bdda06d322c766ea31a
diff --git a/dev-python/wrapt/wrapt-2.2.0_rc4.ebuild b/dev-python/wrapt/wrapt-2.2.0_rc4.ebuild
new file mode 100644
index 000000000000..8514e94dc258
--- /dev/null
+++ b/dev-python/wrapt/wrapt-2.2.0_rc4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2026 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_{10..14} )
+
+inherit distutils-r1 pypi
+
+MY_P=${P/_}
+DESCRIPTION="Module for decorators, wrappers and monkey patching"
+HOMEPAGE="
+ https://github.com/GrahamDumpleton/wrapt/
+ https://pypi.org/project/wrapt/
+"
+
+LICENSE="BSD"
+SLOT="0"
+if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+IUSE="+native-extensions"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # skip mypy tests, they are fragile
+ rm -r tests/mypy || die
+}
+
+python_compile() {
+ local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
+ distutils-r1_python_compile
+}
diff --git a/dev-python/zope-configuration/Manifest b/dev-python/zope-configuration/Manifest
index 56571cc04810..f2196922fb88 100644
--- a/dev-python/zope-configuration/Manifest
+++ b/dev-python/zope-configuration/Manifest
@@ -1 +1,2 @@
DIST zope_configuration-7.0.tar.gz 84347 BLAKE2B 3a9f30d06e87969d73b95d260b73a88d4d6bae9783e3d1ebb080892361bc64d1d1074c185239e807c55fbe96a53823142bbf40efba63f1cdc3a4f2e43cf554b0 SHA512 52a5493c9b19918f6f4ba13c798af8fc8e31b53275cd2d52c4fa1a6b4c14c580c764d92d02b8f3736df037291f3fa54fa4a34e940a649fc1ce7ee611312bc2bf
+DIST zope_configuration-7.1.tar.gz 84561 BLAKE2B de16e5e9f91139cf0d2e88be1251b76646b2b2cbe9a0027105b3da4700fff3886a13b0a055ee35450964a5415f715a05dcb49262459261730ccb3ccde8455430 SHA512 2bf608971a7d75cb622aaca0f1884c7bb9385a64da2dba743830b5bd76b990c7ed183f9a5a160fc3f40a5e1bd00b43023a01caf1f9bd1d8e149b7b7b27c3a391
diff --git a/dev-python/zope-configuration/zope-configuration-7.1.ebuild b/dev-python/zope-configuration/zope-configuration-7.1.ebuild
new file mode 100644
index 000000000000..321b4fb0a456
--- /dev/null
+++ b/dev-python/zope-configuration/zope-configuration-7.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope Configuration Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.configuration/
+ https://github.com/zopefoundation/zope.configuration/
+ https://zopeconfiguration.readthedocs.io/en/latest/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/zope-i18nmessageid[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ >=dev-python/zope-schema-4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope"
+}
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index 72b5a8018502..c52e196855a6 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1 +1,2 @@
DIST zope_interface-8.2.tar.gz 254019 BLAKE2B 695eb63188d45f9f4cc5bf4376a8e63e8189e5c016945471582046bc75f07eb33fadd3a435855d51138b34dbd148044b3e210a55860161dc4f4c1337cc5f475f SHA512 f256c6d4f1edee2d742903a482054bd2c3a5facdfaeb108cb9b467e24ad7140db9efb4a092e08fb43f3f1024097405c3f1d05b6788179176b2dd6bb99f12fcf6
+DIST zope_interface-8.3.tar.gz 256822 BLAKE2B a5b50388647ec739d2dcd8b19218cdd871baf270e8ec11821f9528b4d808bc1e1080e2c2153b31667c6d8e4ff6dd05e445159797c7402e4aa22dfc817a3cd1a4 SHA512 a8825567a2f617e259a72919b96f544cf4ff7a9a9b9f4fb9ae93d0dee15e9df8490104d320017ed34eeb7c309ce4e8bee0b4d2d8221e9534b2278ad456af3469
diff --git a/dev-python/zope-interface/zope-interface-8.3.ebuild b/dev-python/zope-interface/zope-interface-8.3.ebuild
new file mode 100644
index 000000000000..aec4eb770ed8
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-8.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2026 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_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Interfaces for Python"
+HOMEPAGE="
+ https://github.com/zopefoundation/zope.interface/
+ https://pypi.org/project/zope.interface/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+native-extensions test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # force failure if extension build fails
+ sed -i -e "/'build_ext':/d" setup.py || die
+ if ! use native-extensions; then
+ sed -i -e '/ext_modules=/d' setup.py || die
+ fi
+}
+
+python_test() {
+ local -x PURE_PYTHON=0
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ PURE_PYTHON=1
+ fi
+
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope"
+}