summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-09 19:13:35 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-09 19:13:35 +0000
commit36c0b912da359cb29be13d9f840a71ce188153cb (patch)
treeb2a039b1e127810699a630678360ac12c7a8b47a /dev-python
parent9d2e1604c9c5507861156ab4013b33d24bafa01f (diff)
downloadbaldeagleos-repo-36c0b912da359cb29be13d9f840a71ce188153cb.tar.gz
baldeagleos-repo-36c0b912da359cb29be13d9f840a71ce188153cb.tar.xz
baldeagleos-repo-36c0b912da359cb29be13d9f840a71ce188153cb.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.109.0.ebuild62
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.86.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.86.ebuild67
-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/cliff/Manifest1
-rw-r--r--dev-python/cliff/cliff-4.13.3.ebuild44
-rw-r--r--dev-python/cryptography/Manifest2
-rw-r--r--dev-python/cryptography/cryptography-46.0.7.ebuild (renamed from dev-python/cryptography/cryptography-46.0.5.ebuild)15
-rw-r--r--dev-python/google-api-python-client/Manifest2
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild52
-rw-r--r--dev-python/greenlet/Manifest1
-rw-r--r--dev-python/greenlet/greenlet-3.4.0.ebuild47
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.151.12.ebuild112
-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/msgspec/Manifest1
-rw-r--r--dev-python/msgspec/msgspec-0.21.0.ebuild47
-rw-r--r--dev-python/octave-kernel/Manifest1
-rw-r--r--dev-python/octave-kernel/octave-kernel-1.0.3.ebuild40
-rw-r--r--dev-python/oslo-utils/Manifest1
-rw-r--r--dev-python/oslo-utils/oslo-utils-10.0.1.ebuild65
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2026.4.7.ebuild31
-rw-r--r--dev-python/platformdirs/Manifest2
-rw-r--r--dev-python/platformdirs/platformdirs-4.9.6.ebuild50
-rw-r--r--dev-python/puremagic/Manifest3
-rw-r--r--dev-python/puremagic/puremagic-2.1.0.ebuild28
-rw-r--r--dev-python/puremagic/puremagic-2.2.0.ebuild (renamed from dev-python/puremagic/puremagic-2.0.0.ebuild)0
-rw-r--r--dev-python/respx/Manifest1
-rw-r--r--dev-python/respx/respx-0.23.1.ebuild44
-rw-r--r--dev-python/rfc3161-client/Manifest1
-rw-r--r--dev-python/rfc3161-client/rfc3161-client-1.0.6.ebuild121
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-30.4.2.ebuild53
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-3.3.3.ebuild71
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild16
-rw-r--r--dev-python/types-gdb/Manifest1
-rw-r--r--dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild16
-rw-r--r--dev-python/types-psutil/Manifest1
-rw-r--r--dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild20
-rw-r--r--dev-python/types-python-dateutil/Manifest1
-rw-r--r--dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260408.ebuild23
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-82.0.0.20260408.ebuild20
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.11.5.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.11.5.ebuild164
61 files changed, 1459 insertions, 130 deletions
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index 4f7c317a21ce..b924137d0089 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,2 +1,3 @@
DIST serverless-application-model-1.107.0.gh.tar.gz 6828250 BLAKE2B 3df0ca4957a527372106bc3d4bf6135c400e6bbfeab332dbbb445b086a2d77372a7088febe42cc1049780303b254aa21b4418fd6ff2cba2fd79037ebad41589b SHA512 60e1e284e71c2f1efbaffba3a06094db44ae8772f44373bc44bc903f77f7163677f74495930141e7251ee37955bab9cd9bac71ba5cb0a159118e54eac9f9903f
DIST serverless-application-model-1.108.0.gh.tar.gz 8048482 BLAKE2B 5f894121d28c0f4a9eb97a5412f85e5df3f379bd6a69ea236a47ec7654b84a9c4dcc88607887ac1586cf6a114c94f23abf46c50bfae62d587ec0a7f5861dc6e7 SHA512 3c102a6d4e81685a8e38c650aaa2bf8613c114b785268ab5096b565fc2197f0ed7bc667c12f1f1968b820db7f51efd334d1993ee0a28e9f0a809474937a9689c
+DIST serverless-application-model-1.109.0.gh.tar.gz 8098960 BLAKE2B 490790dd8959a6ce062a4c22affb7f3071d418d9e7922d6cdfd071abea0ad42a6f49932aec36787b8e543840661dfffc8ea3df0df5d8621d9562a78a148aa04a SHA512 57bf7e6c2a8dc6d2ccdcb094cad259fb9b1b816c2deb0efcec2148cb2ff3b3863ff812ac118c96a72397a52d85d2fb4be2445e9b39c78729f7316e06707b0ea5
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.109.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.109.0.ebuild
new file mode 100644
index 000000000000..d77de532e010
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.109.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# py3.14: https://github.com/aws/serverless-application-model/issues/3831
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_P=serverless-application-model-${PV}
+DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
+HOMEPAGE="
+ https://github.com/aws/serverless-application-model/
+ https://pypi.org/project/aws-sam-translator/
+"
+SRC_URI="
+ https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.34.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23[${PYTHON_USEDEP}]
+ <dev-python/pydantic-3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.12.5[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # so much noise...
+ sed -i -e '/log_cli/d' pytest.ini || die
+
+ # deps are installed by ebuild, don't try to reinstall them via pip
+ truncate --size=0 requirements/*.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts= -o filterwarnings=
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index cc73eac003a3..a55628a6e51b 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,3 +6,4 @@ DIST boto3-1.42.78.gh.tar.gz 1104761 BLAKE2B 989dc99fbe05c2e5fa28bda83897a411dbf
DIST boto3-1.42.83.gh.tar.gz 1114541 BLAKE2B 8f43a35b343b6d028a7e864a9aa78b4215d458098929c5055b36abe33acb1be1579a9a2a587daa3a12f4b3ad85b7cddb3f05f154ac23f2915e124ee18790da89 SHA512 8160d49d7c6b38c35529388f6c18d01259d8804432becdab939a41b8d46f288a2a07cf28e353a9041e6acb622c9bffff9a4c2a2b8c4264e527c386cd2fbcaf58
DIST boto3-1.42.84.gh.tar.gz 1115838 BLAKE2B de89b745b6bc04a39e9fcc9fcb92261c654e7faf289f2547e6ecbb1d8800174ff054b4c4ca75cc46f37335b8a36a87d74249681c8a34c8e971c2f1a1b1d62e9c SHA512 18594daff40d4e8f69bb71e970e32bc137bdeed8c82a1d57e8b9ad317935cb6aee6bc37e8381ab0f37682a6c5c967f94f7d1f810cf027c637ac1e3338942982f
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
diff --git a/dev-python/boto3/boto3-1.42.86.ebuild b/dev-python/boto3/boto3-1.42.86.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.86.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 b73147e5e03f..630a00fcc7d4 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,3 +6,4 @@ DIST botocore-1.42.78.gh.tar.gz 15931724 BLAKE2B d0732ac14bb37ce0fd326b2edcdf066
DIST botocore-1.42.83.gh.tar.gz 16051706 BLAKE2B d34e6dfb9d1db5bfa58d84930167d8a7803f5535c7496105ec541c959d0dd3ec53a8c73bdf40388cb981c4243d1364a38029aaa833117142d5cb0f07dd86d855 SHA512 2805df77507d96cf5dd91d16938bd025091615a23bb6935674376b9013e8607511e5c63e7f42567d225fe57581390989ed3ed30d23a2782728ded8b1fd63e5c1
DIST botocore-1.42.84.gh.tar.gz 16065334 BLAKE2B 7166ab60b4a9c01528f87030460e0f783b54a2197ae4bcc72a9efb20dd21a8540695e96b2e45f7245fae373a46995c27ff61133518de42a9a3f2a59b2eae0906 SHA512 29e339d23d93d5ab1381a5f893c257fcf6e300ab509e18c36a6ddb61e402ddd203e37d53979a58b98bdcf935c0fd00d7351bd439f3553b8df3653a9bc7aa0ee0
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
diff --git a/dev-python/botocore/botocore-1.42.86.ebuild b/dev-python/botocore/botocore-1.42.86.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.86.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/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/cliff/Manifest b/dev-python/cliff/Manifest
index 07526519085c..fb8ea32ef9b0 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1 +1,2 @@
DIST cliff-4.13.1.tar.gz 89394 BLAKE2B 30144a3c4f0462053f493ae8780e8722e4078082da1b146d70cb3d16519a3dd9c7a6ab463c6058810ef56dbd7eb11998e560bd42dcbf401a34cde2beaf3b7466 SHA512 b72a040d46f392ee54c5680c947f0ee95d98a64224192dabf79cb53867c9e3f572b9ff7807ee00fea885838becc92c0994fdb24ea64a472f961d69c5c3939228
+DIST cliff-4.13.3.tar.gz 89309 BLAKE2B b7ca32ff1d2c64090491a773d3374b081e1dda308844928d882a5d770cb87d46579165f304ab8eef0b60e0944992285ea5d6223839a0834c3165bc74338c92b1 SHA512 542b84b6eb6633926490939c1b4505ccf0d69ffc0e9d128352763dc6edc51aace29a53a3c68b778d30e3cb7f553726a9b46909f87a5147c0d61f55305a477f77
diff --git a/dev-python/cliff/cliff-4.13.3.ebuild b/dev-python/cliff/cliff-4.13.3.ebuild
new file mode 100644
index 000000000000..064edd164f06
--- /dev/null
+++ b/dev-python/cliff/cliff-4.13.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="
+ https://opendev.org/openstack/cliff/
+ https://github.com/openstack/cliff/
+ https://pypi.org/project/cliff/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-5.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x COLUMNS=80
+ eunittest
+}
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
index d24807c5dd98..160b661608d5 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -5,8 +5,8 @@ DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9
DIST bitflags-2.9.4.crate 47950 BLAKE2B b880246b54377ef161c54a811f09ced975d1f2049400c1bbba944712b8ef8b9ea79599d2354cc2a9ccd4c1b1329faad78738ed4e051735b14b642a9451ce68ae SHA512 a832e01985551db9d700ba177bb2ffe436e78e3bdcf7b2d8e86fc7cb885674d5656fce05bffb5a4cbe0df7b015dcfa6df8dbc1351c097d2c3a3dac199d3f37b1
DIST cc-1.2.37.crate 90111 BLAKE2B c97656ab4642b180af1adf16736de03b5117774a2fd85d3cbbeb06744ab14a1f20accf8eb59c43dfc7fd803c59f92f30ccd7b2a6e3b53d8ecf45c8a2adb71483 SHA512 062bf65f73e5ae092391efaad510af39c96913d5647073eaa32e9475b34b6d87d2e4448f0dd54ecdf9b979a84819f861d05daf7fdbc06885f6b41162d55bb81f
DIST cfg-if-1.0.3.crate 8719 BLAKE2B 5cd0ac122110740895b45cdf8e0f738f2de1882d5a06c696d08e906765e4ddcd72a866dcc115da52d9fece205c9ad15dc25ad98dff36b32517012a7586e986ee SHA512 afe424a191c2aaaffec3d114e0116d0324d12117aeb22df78e47ad6752444bc5acb074ab0a174476b71e584a37743f9dcc2b0e8036d590fcc5afc7c55f86122b
-DIST cryptography-46.0.5.tar.gz 750064 BLAKE2B 7ae24a245583daf64a01cfbb9269e9d5aca82929543957572bea56f9e295593e81f836c87bd32bcb7aaa58253b7a156401a1d29992b60e73fd5926016fbbb4cd SHA512 5bc5ea5b85c600504c46e2376a45cee749f41e2b4a6eb639b05d289370dcdc82b2ace423532f5591da16ca56ea32919e47ec154cb72bf7e1f5f3f923c744a185
DIST cryptography-46.0.6.tar.gz 750542 BLAKE2B 9aec3ac9d938741f074d2d0ede964ac0c26018acd057d4b82b37c5d1b00797b8d967df400c0363aeafb0c3792c5a4c1db7352428143c720f0ed255e491f07be9 SHA512 c8207d0d3a687570bd0b1b371a30f76a9ba2b4494495cfdc0734c4839e477e64568695e5d37895acc13ee5477368904906013b48099cf39bde8d1973e2a4ebcf
+DIST cryptography-46.0.7.tar.gz 36166893 BLAKE2B 6397335f82ae692aacc00280c9b51d9309feb1b4c93cca3a7b37bf2a8a71eb7bb7b1f1673aa58a3ecb66d6c31aecbe5bcd11b1625822f7ecabfb59165f2c6320 SHA512 dea8eaae15d1053e0aa22391c8a4ff84bf002e01e85bb2d694629f74abd5876ba492e982f49c3e928eecc6e1d21376f640d9ca88b4892f05981159e793ec344b
DIST find-msvc-tools-0.1.1.crate 30228 BLAKE2B 9f6d84697a0310021a59789a0aebcf5895490e4dd719a2ef820ddf2f225ecd13c814e2c03e8d4de4089a2d1599b469a900c0c1072f9b57dcce9fb8634dcea6b2 SHA512 cc91ce79858db4a6feb3ff0fe24d7b29a523285247116a42b27affacc3f034afc0d458ac8716922f5fec5f23deafd62e875ec899d4ea58531d028535c22e137e
DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
diff --git a/dev-python/cryptography/cryptography-46.0.5.ebuild b/dev-python/cryptography/cryptography-46.0.7.ebuild
index 8b9a3380df9f..a70cc6a5ee40 100644
--- a/dev-python/cryptography/cryptography-46.0.5.ebuild
+++ b/dev-python/cryptography/cryptography-46.0.7.ebuild
@@ -9,6 +9,8 @@ PYTHON_COMPAT=( python3_{10..14} )
PYTHON_REQ_USE="threads(+)"
+
+
CRATES="
asn1-0.22.0
asn1_derive-0.22.0
@@ -63,17 +65,17 @@ SRC_URI="
LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
# Dependent crate licenses
LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="~amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="libressl"
RDEPEND="
!libressl? ( >=dev-libs/openssl-1.0.2o-r6:0= )
libressl? ( dev-libs/libressl:= )
$(python_gen_cond_dep '
- >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
+ >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}]
' 'python*')
"
DEPEND="
@@ -99,6 +101,11 @@ EPYTEST_PLUGINS=( hypothesis pytest-subtests )
EPYTEST_XDIST=1
distutils_enable_tests pytest
+PATCHES=(
+ # https://github.com/pyca/cryptography/pull/14319
+ "${FILESDIR}/${PN}-46.0.5-stray-files.patch"
+)
+
src_unpack() {
cargo_src_unpack
}
@@ -124,7 +131,7 @@ python_configure_all() {
}
python_test() {
- local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}"
+ local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/${VEC_P}"
local EPYTEST_IGNORE=(
tests/bench
)
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 83237e51626e..1007c198e568 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -2,3 +2,5 @@ DIST google_api_python_client-2.192.0.tar.gz 14209505 BLAKE2B 2f13be8ab8dd22e71b
DIST google_api_python_client-2.192.0.tar.gz.provenance 5878 BLAKE2B 5d277fe920e58691bc000504cff84057b256a3be0af4906d85a040fe194566b2cc580ed1b435867592d51919e5a3eaafde673fba97396e4d2eeea5e32b350e00 SHA512 416065f0d3ca73ce7bb5033e16a744ac4e6bea8bda4e8835813db7f7d1df5be034e2de90c45fdd545ff16cf49f1a58b24081d331dfa138044ac7e055a8ae243d
DIST google_api_python_client-2.193.0.tar.gz 14281006 BLAKE2B ee046d799e275c37cc827e7fc81def465932fa96f15036b33e60c26aeebf4a07255eb1a23777edf4ffb0d97c2f692e9673d3e7366dd3c0a779cac12cfb674505 SHA512 1afc4f3dc5f58f537201311ae371df8c0900ae7a5127b06ebda66f52baedbf145991b4e8e578216e0d63e81413259ad71defbe6c9eb68caddd9a746e559240e9
DIST google_api_python_client-2.193.0.tar.gz.provenance 5831 BLAKE2B 82a3bf62f7a7462408c666de22095dd3a4b5275890351cdd6ebcf7ae9973c78667876d39f4f487f42ef52fa0f3f81b134ca0a87b4c02080710aef8c718254e34 SHA512 831be52ab8fd52b93ce66f0cf9b6a7c517b043c3d0ecc29ce8d85cb05df24c0b1b2d534c72ac4f143a3f28ddd80c74555cb9629a463f7700e1ffb871afe65774
+DIST google_api_python_client-2.194.0.tar.gz 14443469 BLAKE2B 23bf328f9bde6ddc9a34fda4d2e9be87ff560f3c4190a3fb3a4adf441d6178d1cbb531e3d532974a28d388d43b8327f0329501d659360eef49fea01d41ab7fc6 SHA512 51c62af97c360270f2574b9c5c573a89258afb737d6267457cc86504e0fc66132b19bfbd2bb9413f9d73d3c5f8edcaa155fcb807c5e0407a7a1eed378238c3d0
+DIST google_api_python_client-2.194.0.tar.gz.provenance 5928 BLAKE2B c6f2f746d633be242e131d5aaafe7ee51f418eb0e489ccaae6186be32ba67bd909528479b0ba8800a2729bda6ca89f39f6388c801456cf3aac3808d0ec40081e SHA512 575884e1fd22321abdab31523e0d27f1e98f9a886cf6222ff7a923d60e6f00fa7635d3db80c55cf5ab873765248e5651a3bbefa0c5e1a6bc3f4b94ff243e4dac
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild
new file mode 100644
index 000000000000..16e1402184da
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.194.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index bf5c704671d1..2ed1f479b3fe 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -1 +1,2 @@
DIST greenlet-3.3.2.tar.gz 188267 BLAKE2B 528c8202d574cbf65ae9ebb1810553a0c2caf68dc83d8a7c9a0c3dea9740966ceb91f21fc5712d10eb30a617e283da2c542d8193374ded1fdf425e34cae9cf96 SHA512 94b12fb43157d0e989e256db8550e835a15b9894734e46a662b37e07d9863d4fef9dd7d7c87cde0d2cc18c19b7431d509977a2bf01f55a3eff79a83036dd9477
+DIST greenlet-3.4.0.tar.gz 195913 BLAKE2B d3c07b1606315d99d401a874fedd290c0ce3eb191c9bd4e4f291abaec424cc6f2e18f13ad62120d1de103950b15642be50cb2d28dccdf423e1f45cfcd6d30188 SHA512 b5d1499870552b9de89074bf5ac2b900c2a59319f9514073c346a08e69160b3c9b39b6b9a577ecd7c4fddd70c6cba1f9d891b2862027890fa5421aefe16686ba
diff --git a/dev-python/greenlet/greenlet-3.4.0.ebuild b/dev-python/greenlet/greenlet-3.4.0.ebuild
new file mode 100644
index 000000000000..c3b11e14304c
--- /dev/null
+++ b/dev-python/greenlet/greenlet-3.4.0.ebuild
@@ -0,0 +1,47 @@
+# 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
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+
+LICENSE="MIT PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa ~m68k ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # patch cflag manipulations out
+ sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
+}
+
+python_test() {
+ local -x GREENLET_SKIP_LEAKCHECKS=1
+ eunittest greenlet.tests
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 7d0a61697c3a..00655782d8c8 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.151.10.gh.tar.gz 9866123 BLAKE2B b50c998fa6d742133fcfd8ee61a2cdb841b9d35f395fa9a80c9f958fea70d0c8e93e73d9394b06dd11dffa4b713435f9f5c4496752a91d3915f8f3d83050a601 SHA512 858199c46e5a9ccf6ea2efefe947815c4b9e5cd106871cadf3abcdcde06ebda32969220cc7cf1421d81174c3cb1db86b7fb724a32e6953fa0fbf339ab81b5bd8
DIST hypothesis-6.151.11.gh.tar.gz 9866574 BLAKE2B a721b9d47552dba2828b233e04a0a01e401a600726ab2ed453f78600b07cde320bb45a6dfb3c42909f8d4f81066d23263db837526618480ca296269771ca66d4 SHA512 765f6822f8f7773e0c2251d4cae4e39edbe4db66efb93d60e4136ce7e66058ba378d1c15b62dcb1033081493b97a0ea44a8e7665c6c12f09d9cb61fc537f86bb
+DIST hypothesis-6.151.12.gh.tar.gz 9870628 BLAKE2B 4f0ffbdc31e11c6ab8541cd12df34c241c192d6bfe43aedcc530110ca5cd502d988f8c35aa0b138b8a5606a4ac013f883018a1bb6e998a8ccd4c7b7ca4eceb9f SHA512 5bfae6c4b0248d2e86b44b91ac633a0131577a64b36360661a5ae205b3f008c2797bf04b34aedf2e0c453cf266e14ca75e4624dc77a08f4078504629d78f677c
DIST hypothesis-6.151.9.gh.tar.gz 9864451 BLAKE2B 9d9c2800cf1212e743a599c261c78c0a7d349e58075a443e0d10e6373b1582e059abde416cec4f3a8185ae424725f93da8ab4e43dd70bd0f86071d69aca94def SHA512 3e41bdd077a18fe72360547bc03f2c3d7218e8cd6cb563fffd6024427bfa5ce0764ca9c7ef0dafdded896625128fc14b9d3f8c4564aa8a509545abf0ad24adbf
diff --git a/dev-python/hypothesis/hypothesis-6.151.12.ebuild b/dev-python/hypothesis/hypothesis-6.151.12.ebuild
new file mode 100644
index 000000000000..e2dc047d3cc6
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.151.12.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=(
+ # broken somehow (xdist?)
+ 'hypothesis-python/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
+ )
+ local EPYTEST_IGNORE=(
+ # require syrupy
+ tests/cover/test_custom_reprs.py
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
+ )
+ ;;
+ python3.14t)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
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/msgspec/Manifest b/dev-python/msgspec/Manifest
index df14448a338b..a94412537b89 100644
--- a/dev-python/msgspec/Manifest
+++ b/dev-python/msgspec/Manifest
@@ -1 +1,2 @@
DIST msgspec-0.20.0.gh.tar.gz 1328648 BLAKE2B 848b29f99148ee1d5a81a6f57fdb515760c838e3ed9b8161f775d5c17b5decf7fc16a6ebd04599a1f2580e98882a7674720da899ba789ae6dbc9659da0d5ba6f SHA512 91d66d79d25ba824bb39dc02b28038c61ce3aa20576867bacbba9e22146dce424247f941b51023cce02d069d25bb2eedfb749feb597679c623d7438bc04422e4
+DIST msgspec-0.21.0.gh.tar.gz 1329617 BLAKE2B fcb1581d808e615001a7b5de75a75a4c5d7e03404b353218d733333d3142ab1f3aab23fc0f206bab5862c52be09f9b924baed3e45b203e17011fbf07ca1bdf7c SHA512 4936bd1a514a9118e016c86a2f2d4018f76aafbeb1b40b97c906774d9d7655d0794ba9b6ec3514948572b24044b08d26ad1ae26ee5f02d45ca1600f21df6c46b
diff --git a/dev-python/msgspec/msgspec-0.21.0.ebuild b/dev-python/msgspec/msgspec-0.21.0.ebuild
new file mode 100644
index 000000000000..4ab906e9fa9e
--- /dev/null
+++ b/dev-python/msgspec/msgspec-0.21.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2025-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
+
+DESCRIPTION="Fast serialization and validation library, with builtin support for many formats"
+HOMEPAGE="
+ https://jcristharif.com/msgspec/
+ https://github.com/jcrist/msgspec
+ https://pypi.org/project/msgspec/
+"
+# No tests in sdist
+SRC_URI="https://github.com/jcrist/msgspec/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Lint tests
+ tests/unit/test_cpylint.py
+ )
+
+ rm -rf msgspec || die
+ epytest tests/unit
+}
diff --git a/dev-python/octave-kernel/Manifest b/dev-python/octave-kernel/Manifest
index 945972fb109d..a118a0e5e3f7 100644
--- a/dev-python/octave-kernel/Manifest
+++ b/dev-python/octave-kernel/Manifest
@@ -1,2 +1,3 @@
DIST octave_kernel-1.0.1.tar.gz 565924 BLAKE2B 4f2a3693128198cf25373c91c257b7efa91619184d51500d1c71af61a8d4366960876780466ab138e17ddee7b06c1d5f4ff160645453529f08ddd0ff9fd1c0a5 SHA512 c53308f29811b246f949d9b57a524f4a0a9219a2453520098e9b636facf013829abc1c4ec0af27a9431a08257822d512637b7ab5f124917408c72a9bf3abd856
DIST octave_kernel-1.0.2.tar.gz 566534 BLAKE2B 4c7ee35c010d6aa5a33437df0c133f721ca8e873dab1497ed0b89a1fbf5314e6b2bd77c681bccf7b0937cc9e1f79b325406337e137b08ea233fa8f6a7ee98b1c SHA512 bd44db3b01773f99bbcdd7704bd2a44555999adccfb1e74d118c201995381ff5a53a28e3c6a2e29ae4cba95f9a7025df8fb03dd69ca33d451b4a234905d74960
+DIST octave_kernel-1.0.3.tar.gz 566566 BLAKE2B 15fad097cc309e4d4a0bb0c92ad9ebb010723a633ac8ac68440690a4ffcae2ce548879b87c4121a2db3dd8a8d6d9792de0cf2ddc4e985eeff03981a2806b7a19 SHA512 0991a9e3819c5a517752f880e2141fba91a74463f81aff581c9a0dba649d11597a2b25dee259da769b2134014c5aed03c964eac3878117b706725da87128ab8e
diff --git a/dev-python/octave-kernel/octave-kernel-1.0.3.ebuild b/dev-python/octave-kernel/octave-kernel-1.0.3.ebuild
new file mode 100644
index 000000000000..6fd57d3247c6
--- /dev/null
+++ b/dev-python/octave-kernel/octave-kernel-1.0.3.ebuild
@@ -0,0 +1,40 @@
+# 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=hatchling
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Jupyter kernel for octave"
+HOMEPAGE="
+ https://github.com/Calysto/octave_kernel/
+ https://pypi.org/project/octave-kernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/ipykernel-6.22.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8.1.0[${PYTHON_USEDEP}]
+ >=dev-python/metakernel-1.0[${PYTHON_USEDEP}]
+ sci-mathematics/octave
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/oslo-utils/Manifest b/dev-python/oslo-utils/Manifest
index 6cc4773b40d6..f50daf952495 100644
--- a/dev-python/oslo-utils/Manifest
+++ b/dev-python/oslo-utils/Manifest
@@ -1 +1,2 @@
DIST oslo_utils-10.0.0.tar.gz 141716 BLAKE2B cf7322afb98936f9c8261e244ff629340e6c23e2cb34d1cbff9475a7eae18796da922e8dec051f24335eaf8a19276e5c5b9e0305d7371858a4e6bf4febf3a99f SHA512 1e511b872a916256a006bc915d3f01663f6b702024423141955033490d8e48a814cfda7eca8834f0d5546624d06b02cca766ba55b5cb3808d76471234a08e608
+DIST oslo_utils-10.0.1.tar.gz 141965 BLAKE2B 7c4c6ff4337d908f719c5b942cb2ddc652eaf2f575fbb7bd1a120cd3c30bb2b625fce3fa7fef9b6fcc5215a01dc7b0c068fdec89a312f5358c1d6551013cfbc3 SHA512 a3650dcd0674c9183f1635ec0346476fe4ed9194833a58174cc08ef6cc6b673092c87e9e09788df8798c96e9bb669b7151bbdf04292aee2961e8e80dfc295c5c
diff --git a/dev-python/oslo-utils/oslo-utils-10.0.1.ebuild b/dev-python/oslo-utils/oslo-utils-10.0.1.ebuild
new file mode 100644
index 000000000000..96283e882e83
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-10.0.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit check-reqs distutils-r1 pypi
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.utils/
+ https://github.com/openstack/oslo.utils/
+ https://pypi.org/project/oslo.utils/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ >=dev-python/pbr-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+"
+# qemu needed for qemu-img
+BDEPEND="
+ test? (
+ app-cdr/cdrtools
+ app-emulation/qemu
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+# note this only applies to USE=test
+CHECKREQS_DISK_BUILD=8G
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # require eventlet
+ rm oslo_utils/tests/test_eventletutils.py || die
+}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index 00311723e037..85beaa4851d6 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -1,2 +1,4 @@
DIST pbs_installer-2026.3.25.tar.gz 70501 BLAKE2B 4cc42854db663b33ab365b3fed23ef02458756027edc007a9d03ef185ab0fb78344d2956f4599df19c612413cc07bd643d6b728160fa6295d73467f48c6691d3 SHA512 117886f87274e40ce06699f4b3afe2dbd394a7a6a577461f189abbc6793f7c175a3523fe76cfc941cb6f3de1883ac12b14bf210365affe0ab5b8ab64c58d8211
DIST pbs_installer-2026.3.25.tar.gz.provenance 9838 BLAKE2B 3be7c123f86391e6eee337728e8b84de01a3bf8b7780f1e566c66f0778ee9bb12226ffbf828a3767cba77936f520c867425cde57c284776fc26bb73baaae42f5 SHA512 8f148003bc8b263a5dc32b3638b7bcc927fb1bffce017172c38e34c0c5f204ba73b714feaeb9dc1a60a9cc83130dc4e18995ee1a530a1b0355b4607cf1b263b0
+DIST pbs_installer-2026.4.7.tar.gz 71866 BLAKE2B 0617ec42b1f42a8f66a7b47de10ec294b4275c99974323de98abf28455a48126d5421afa524cfc0c9d2031e814e9a0effa3bb66acb0df9dd99d01de277632466 SHA512 d5fa4c513d47c4f9117d2ce392440f827705a53c8f672fdadb2ea2c2cc25ab47031616beaabe21896700204172c82d59355b5099bf4a77698c88de37e5e88849
+DIST pbs_installer-2026.4.7.tar.gz.provenance 9693 BLAKE2B 522a8e6fbfd26ab0f0d868ed1b81dfe78b8d1b12ba35ae4ad2d5ec155f0610db94d55beba051c9460513f76405b6d9a610f68073eb288ed70fb4bf1b256397b1 SHA512 a865874430b405ffa0a9a3f1947eee0c830641626abad740c278e6c27961c0457c2d59923653330285dcd41d3cdc6af7ff85173173dbce3865ae789d11c7e413
diff --git a/dev-python/pbs-installer/pbs-installer-2026.4.7.ebuild b/dev-python/pbs-installer/pbs-installer-2026.4.7.ebuild
new file mode 100644
index 000000000000..ab0e8cdfbbac
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2026.4.7.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024-2026 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/frostming/pbs-installer
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# httpx is needed to download builds
+# zstandard is needed to install them
+RDEPEND="
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.21.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-import-check )
+distutils_enable_tests import-check
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 5d1a41dca2f5..11b0cfc1bb14 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1,2 +1,4 @@
DIST platformdirs-4.9.4.tar.gz 28737 BLAKE2B a71ac9b3b3b2a9a02e3cf8b20cc91740da278f6581753a360600c6c2ee6c887872f08bea324ea4334337d1ccf4bdf83fc7a2b14895dc72d6421598f9234dd17b SHA512 32108f239e76693f63789dd975463a44cbd4cc06f96a86a01d3d7fc675cb953a0d6818fb8fc92daef7f1ceba8bc62f2577d092d0e58c6c616740699a2140a0d7
DIST platformdirs-4.9.4.tar.gz.provenance 9698 BLAKE2B dc9bcf69c9bd816e61ff77096aa90f1abcabd6abad3d037d1bdf5efc354f02f53cb05b5779d874f4d9b3997172969f21777ac204050cd662dda3d8feb3ea006c SHA512 1321d072852a555f54721a6e3241aa808da665848afb3f91ca3bd47d8231dc21b85b566bd1064c5a92324aecfecc599a035ced9a8cdfff766ba53af44142d2b4
+DIST platformdirs-4.9.6.tar.gz 29400 BLAKE2B 8b41e158994241e6aa9338e239afb4d4788b4c710e978f160b35768d53cfdf18379f64beec70d661d9574a833dc0bb41aedd4964f392ce67880e8cc97e917757 SHA512 90030693cbe91f05702902787ac35c61aa4818189dbb5742f1d662b501584bd63d9b978367d826b58ca30d42e8479db86b479a0a6549c66a10a6409b96329ff5
+DIST platformdirs-4.9.6.tar.gz.provenance 9611 BLAKE2B c5dd3f37a1a5e19b4c4589f72df520138ae9701e88ef65ebf1035296cfc2d652de0bc99e3f7063dfe08ee7a6a282a73ad5bb91b68fe2233803facf2aa266dbb1 SHA512 7ee87d1e8643f83801d1662df7f9de33bbe8948f14472d9ea3cbf6e33ae1cbc101b1f7e0073dac7c0ff3408234f4825186cbe862cb221299a65ada7bb6a4f334
diff --git a/dev-python/platformdirs/platformdirs-4.9.6.ebuild b/dev-python/platformdirs/platformdirs-4.9.6.ebuild
new file mode 100644
index 000000000000..c5c85a45c499
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.9.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/tox-dev/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
diff --git a/dev-python/puremagic/Manifest b/dev-python/puremagic/Manifest
index 5bb50a995230..6b94f5394c97 100644
--- a/dev-python/puremagic/Manifest
+++ b/dev-python/puremagic/Manifest
@@ -1,5 +1,4 @@
DIST puremagic-1.30.gh.tar.gz 315120 BLAKE2B a5329ffcd25f2f8024eb05a80f8c0a5f328087ffe30b9b744894b0b3261a9b08da3f3b68ed0a5cf2f51008f472626bee3afd26b5f97fee015094e96dd5cd8b06 SHA512 3937e0aa3f8222c7ce558e71da4d4b6dcb0c81ca61b432d39db70031b7fd9d8c273befc47f6e9d0d3d3667dd9c7fcf893d0fd45475a0dfa8be01f54110ac444e
-DIST puremagic-2.0.0.tar.gz 1119578 BLAKE2B 4b0fc7462002e53382ab57aee3a97669e05fa6acc515a36891fb1d317f04c4e300a1df5c41b812c4db99fecdbb1951cf94749cdf2889dd5ef837e7a9af78855e SHA512 d7815612896eb2d40d2ff603078621e117091bd2af1763ec8098c577b76d5dc2057901433dc74553ba6cbf5aa4e5e47d35413bad04994b7bbb59a23499954c2c
DIST puremagic-2.0.2.tar.gz 1129446 BLAKE2B ec98a256c9ed0f0f98f51c287846c8710afa14e1b2eb0b1026c5d9ce6b00fb9616ad0cb88760d41f088262e6ae1017442c538e5e6c145219156cb3dd95e23f7d SHA512 b92fb1ad23a95a44e7ddee7e5a0f07a694dcbc95e8508816f59f5ac8b2f16afcb10f8da5e1b3d11834bd6e23e395c5b482e9f47a62012c4915d26ae4660a2853
-DIST puremagic-2.1.0.tar.gz 1133014 BLAKE2B a43626c41fa6e4705fb514f1be548991f4bb1d6d305e55e76a713f784b107d3e8d66b2334bef0728418f948bd5ea9f9540e110768b262d08fca323d24fcab665 SHA512 23c83dff60eb98b7ef8e2bb1e9daf3931e86a60cf79885d380fa88af2c077ed24c755ccc1235e3e436010cf18341b040d0d0f580d53ba43dbb772f4716cbbe1f
DIST puremagic-2.1.1.tar.gz 1133417 BLAKE2B 2fdbddf09bb31b54bbca164d056292939cdc54e26ecb2ceaa1ce7164742f8b51ec1bac71d5cc851da23bb3ec7eb170058f4beeca0c88c15ac22d218239b0307c SHA512 d674361f790a8767c1db53f87d0788470ddd9f1dd42467e02ee891a4c7f8f3ff9f878c75bd0e901cf5bd8a73e516a82e73721d074ebf91ce9a9131d9a11ae13d
+DIST puremagic-2.2.0.tar.gz 1189752 BLAKE2B 1beb14b6536fecf81d4e60c34c8598c67723b7c8633ab6ca67fddd558348d18eeefea949dc4c98c69be6d004ce22e17e77f445ef5c7f733ed214da231c036f70 SHA512 5836500bb90fb5addc755f17364c6494c23683c6438ca096c8c3c10020fc64ffa65a2380f68da637c3e118dd06006e1524c325256ec6108caa109c10fd381aee
diff --git a/dev-python/puremagic/puremagic-2.1.0.ebuild b/dev-python/puremagic/puremagic-2.1.0.ebuild
deleted file mode 100644
index 6070ac118b86..000000000000
--- a/dev-python/puremagic/puremagic-2.1.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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="Pure python implementation of magic file detection"
-HOMEPAGE="
- https://github.com/cdgriffith/puremagic/
- https://pypi.org/project/puremagic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-DOCS=( CHANGELOG.md README.rst )
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/puremagic/puremagic-2.0.0.ebuild b/dev-python/puremagic/puremagic-2.2.0.ebuild
index 6070ac118b86..6070ac118b86 100644
--- a/dev-python/puremagic/puremagic-2.0.0.ebuild
+++ b/dev-python/puremagic/puremagic-2.2.0.ebuild
diff --git a/dev-python/respx/Manifest b/dev-python/respx/Manifest
index 6535b30326ee..6c265b525c75 100644
--- a/dev-python/respx/Manifest
+++ b/dev-python/respx/Manifest
@@ -1,2 +1,3 @@
DIST respx-0.22.0.gh.tar.gz 432547 BLAKE2B 60fb516b3793faeea8f236c3ccfae7dcf20087eb8af8f1fb8c128de454b9fa395f4c7ed6fc5c94c59eff225525de6bc7c2b89bedf882028076fa9fb668a46ac9 SHA512 3cc84edced79475764b00369b5926bb5a74627b3f0c966fdf4e96a1a5944b8ea2fccaa39f77ebde62324762cb4ff5e0b611c910093fc3010e8c8e1dbbbe678e3
DIST respx-0.23.0.gh.tar.gz 433626 BLAKE2B d0afa1befc8ad4209684893c638a5d958e74a5e0f33a5829d31ee549fb8758ec2a56eec230a07520f9d6fb22e527fbd9bb15695f12c07968097d137e066f7881 SHA512 1b0f3d821af8105ef13839b9e67a7c287b79ee4628cba89991c240d38bac1caedacf1f0a0df2aea6c9452a713daaca491955867bec10189861afa4ae34b0aa95
+DIST respx-0.23.1.gh.tar.gz 433870 BLAKE2B 8f7985ed964ef397f10eb343c777c2b140d1df1e2cd4481309d7229c2f77e61506bb3d59c9dc050ce02fad2d1f2b59186d1681c8dabcf710f580acdfe55c73d0 SHA512 eff24c815b91c757435c211ec6c1ee5478729ddf21f03c88b19242ed3f70ea3ffe95fa1b07f6e5afed3eb36f5bf283ba2a875451257fa65a2b6a20eec220efe0
diff --git a/dev-python/respx/respx-0.23.1.ebuild b/dev-python/respx/respx-0.23.1.ebuild
new file mode 100644
index 000000000000..68659e4e0a2d
--- /dev/null
+++ b/dev-python/respx/respx-0.23.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2024-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="Mock HTTPX with awesome request patterns and response side effects"
+HOMEPAGE="
+ https://lundberg.github.io/respx/
+ https://pypi.org/project/respx/
+ https://github.com/lundberg/respx/
+"
+# no tests in pypi sdist
+SRC_URI="
+ https://github.com/lundberg/respx/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httpx-0.28.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpcore[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/rfc3161-client/Manifest b/dev-python/rfc3161-client/Manifest
index 5b91672e4867..32f984743613 100644
--- a/dev-python/rfc3161-client/Manifest
+++ b/dev-python/rfc3161-client/Manifest
@@ -41,6 +41,7 @@ DIST rand_core-0.9.0.crate 23441 BLAKE2B 8f1543e2f33622edba457c340bdb4c266f8a3c9
DIST rfc3161-client-1.0.3.gh.tar.gz 56144 BLAKE2B 7ddfa2bfd837eb3d07a782f38e288bcb448e3a2d694e1d8aff1ccc4ea899df43d3dbff34fe46e67a3785db95c502e58cdbc1b06f712ed5717105519e70a3764a SHA512 b40b813c4fa6f348a330400b4a11be36cd2b31e4620c5141d522b005f80de329f5c07ff5ef7b83fc5e4c3be4fa7ee7a452d58b45c8811d9cd52cf6d4a630956b
DIST rfc3161-client-1.0.4.gh.tar.gz 57899 BLAKE2B b1abb505dedf010383988dbeb2dd5cfb49ef19a5d3b479d6c6253458b21a745bc300b34e90dcf37e286c7284d9588091b290d7c37dfc53ab2548cb332f37fe86 SHA512 96bf1ff902ad9280d7af6e7e337adea7e70da84169938db3291c8c50db4accd2cecb90d7d8ed1c72062132b05edef35ccceb06106aff23c8379047b359fe813f
DIST rfc3161-client-1.0.5.gh.tar.gz 57950 BLAKE2B d17595ef21abda0c49f15a0e06250015afb67bf297a605a19a439e8b43154f817d888406521a0a046b008d4c073fdf8316c9ee0f3e2e70691a8ab2c8f3de18fa SHA512 720dcf6f1aca60c6204da47ef63c4d08ba9bc61d7d4d3a253ddf67955e0ee034600c12743df102378dde48b28cf1e7a4cf631d5bf5662ccf493f402bd85346c2
+DIST rfc3161-client-1.0.6.gh.tar.gz 107790 BLAKE2B bf82f0bd3bc91758a3b5f725f34b274bc16415e822e642145c4ff795dcb8bc3ae719faa85e7ae9c57180db895dce3e04a98dba1cf60aaf20c2f62a4f8ec4102b SHA512 6f9ccacd73afe5c34de6a76afeea7f1794a2cf458fbd8438504e9bb9fa5f62061571f4ce6064672050a35198f9fc83e14d4eca2a877c940704d068f430ee4a1e
DIST self_cell-1.2.0.crate 16883 BLAKE2B 56bd187fabc138c530aa23dfc69a330a7d0a8f86609801924fd1f4b0cefc43a99a8ba21d05e59272c9d32b83405b4c980df4f01e529772b760a9564dd8eb0c0a SHA512 41addc9b737d0379c0236b1821d6051d31dca6a76f463e6e56c3bac9015da4243f9fedc3d57e051f68f6f0aa610383a0b2cade07b1ea17e92173e2088a625af0
DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
diff --git a/dev-python/rfc3161-client/rfc3161-client-1.0.6.ebuild b/dev-python/rfc3161-client/rfc3161-client-1.0.6.ebuild
new file mode 100644
index 000000000000..2615263a6c7c
--- /dev/null
+++ b/dev-python/rfc3161-client/rfc3161-client-1.0.6.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2024-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} )
+
+CRATES="
+ asn1@0.21.3
+ asn1_derive@0.21.3
+ autocfg@1.4.0
+ bitflags@2.6.0
+ block-buffer@0.10.4
+ byteorder@1.5.0
+ cc@1.2.2
+ cfg-if@1.0.0
+ cpufeatures@0.2.16
+ crypto-common@0.1.6
+ digest@0.10.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ generic-array@0.14.7
+ getrandom@0.3.1
+ heck@0.5.0
+ hex@0.4.3
+ indoc@2.0.5
+ itoa@1.0.14
+ libc@0.2.167
+ memoffset@0.9.1
+ once_cell@1.20.2
+ openssl-macros@0.1.1
+ openssl-src@300.4.1+3.4.0
+ openssl-sys@0.9.109
+ openssl@0.10.73
+ pkg-config@0.3.31
+ portable-atomic@1.10.0
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.92
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ quote@1.0.37
+ rand@0.9.1
+ rand_chacha@0.9.0
+ rand_core@0.9.0
+ self_cell@1.2.0
+ sha2@0.10.9
+ shlex@1.3.0
+ syn@2.0.90
+ target-lexicon@0.13.2
+ typenum@1.17.0
+ unicode-ident@1.0.14
+ unindent@0.2.3
+ vcpkg@0.2.15
+ version_check@0.9.5
+ wasi@0.13.3+wasi-0.2.2
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+ wit-bindgen-rt@0.33.0
+ zerocopy-derive@0.7.35
+ zerocopy-derive@0.8.14
+ zerocopy@0.7.35
+ zerocopy@0.8.14
+"
+
+declare -A GIT_CRATES=(
+ [cryptography-x509]='https://github.com/pyca/cryptography;678c0c59f743e3b301fbd34f1d26112db0cc2216;cryptography-%commit%/src/rust/cryptography-x509'
+)
+
+inherit cargo distutils-r1
+
+DESCRIPTION="An Opinionated Python RFC3161 Client"
+HOMEPAGE="
+ https://github.com/trailofbits/rfc3161-client/
+ https://pypi.org/project/rfc3161-client/
+"
+# no tests in sdist, as of 0.0.4
+SRC_URI="
+ https://github.com/trailofbits/rfc3161-client/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-43[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ epytest
+
+ # need this for (new) python versions not yet recognized by pyo3
+ local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+ cargo_src_test
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 67bdff85704f..aa18f6223950 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1 +1,2 @@
DIST sqlglot-29.0.1.tar.gz 5760786 BLAKE2B e4824db4673118db7c3aefb1bebe3ea7677726844fb4bfc23599981184ac47404270cb22ce141be86c502129c4fa3d3f48d136e7044bd7094ed71761b1bc8c7c SHA512 819aa9f2816a4f6f262242f3e15656f10ce2f30fe0bec387c11994f2b77d51f9dd14552b2a59c8466800b14a725f42443aba231e62f9cf6bb704eaacfb70e423
+DIST sqlglot-30.4.2.tar.gz 5827240 BLAKE2B 676200e6f39d46feee650bdd73ce132ebf6344f5c00ec76b6e0d1612ff6cf04c80d75dd42d82fbbcd9e244b3229612c9e0e95f7f40a510ec73a0e32f8fc633ae SHA512 a3367c7382abf55eabbb2552af82e2d691f1090aaa3d9f685b942721c89f959525ae5e1770a428d7e109a55795a1912439200e501edcdf285e3cc78c266b46cb
diff --git a/dev-python/sqlglot/sqlglot-30.4.2.ebuild b/dev-python/sqlglot/sqlglot-30.4.2.ebuild
new file mode 100644
index 000000000000..3216536fae1c
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-30.4.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2023-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 cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+# Native extensions removed: it uses mypyc which is incredibly slow
+# and then the extension crashes anyway. Upstream uses their own mypy
+# fork which might help but that's just insane.
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ rm -rf sqlglot || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 93a2bd5d78f6..155de3aa6aeb 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,2 +1,3 @@
DIST tavern-3.2.0.gh.tar.gz 708286 BLAKE2B ed5efcbdf4224aa23de12eb37ccbea50c1452f6a99950ea4bc9b373670485687223d12c728b8cb263f00fb6143c1ef659670b07ac38430375d076b47a28b56f7 SHA512 c08c5d6ab0fb1c2ed57797be4eae71d467e917104c1aab232797b09b8c6b1512bb441652f6df48582b2d0949f4f09857faf5f6654f4d2e35e1d278021b88d145
DIST tavern-3.3.2.gh.tar.gz 723821 BLAKE2B dbb729475ce99319207f6158057eacfd163807e5d15c1412045b3cf9a4cc3e2c6dffb47fa00cf7dc3f6aba5b09b89478001482f07ca8a636dbd607190814f1a8 SHA512 5f46ab779961f74d8a33f443f82cef33e77d4513278251b2353657c5fbec5b9c6d3d25476cc91288b40046263d3d6ebeb2372b224edf243af318332eba7e341a
+DIST tavern-3.3.3.gh.tar.gz 723923 BLAKE2B 55566efa69187761d1d838e7e2d517d691e5f7ec33fc7cce4812ed045923626082f9434e3900b6a76cd7ce096eef5340d9aa86b26bbf5980f3ad4dee0c2b11c3 SHA512 5b4019408f8443ffeca38d89c46ffdc849a578be92d1d3b859f1efc437da13e50e427f752789d7341af3a878945f303975daedd1692a8f452c76c266d9659086
diff --git a/dev-python/tavern/tavern-3.3.3.ebuild b/dev-python/tavern/tavern-3.3.3.ebuild
new file mode 100644
index 000000000000..963638bac7f6
--- /dev/null
+++ b/dev-python/tavern/tavern-3.3.3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/hypothesis-6[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ dev-python/paho-mqtt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+ # TODO
+ tests/unit/response/test_mqtt_response.py::TestResponse::test_same_topic
+)
+EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ # require gql
+ tavern/_plugins/graphql
+ tests/unit/plugins/graphql
+)
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 18c6642e20c5..59c2670c4dfa 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,4 @@
DIST types_docutils-0.22.3.20260223.tar.gz 57230 BLAKE2B 0de823a10d6b77e789113759c4e46747ce33ce3df1dc62840c599cd73408f4b35f8a5ad8949106311aa6ee81a67f733cc5ae93e0fe71e3da59d7aa2f08ff9586 SHA512 6091bb3eebd78bac56146dece271dd03804dd57d3f50c9ae848d7ff1dc6c5ff997510e536786bc4737ff304753eccd27497c6a524db9d8ec59aec7fcd35f8568
DIST types_docutils-0.22.3.20260316.tar.gz 57263 BLAKE2B 492f000970dcc60ca9893956e750812682de458f40b070b03cbe79ae4c48cdb46c318b59085192ba23a60e1e80e0c3141c10a23b78a0ab7ab0adb649f074c7ff SHA512 25c96cd05b6fa64c7ba97cd7f3a321b0ebdb80b22cc3efde92bf57dd5210f52fe0b6f97028a7cb1a37cb73d55a9a3ba7e8fa409958d954984affb3e2d02d45da
DIST types_docutils-0.22.3.20260322.tar.gz 57311 BLAKE2B 441f184bc0ef3b262eccedb6b1e9aca6ec2c99e529cdde3807f636ad18d9f35093233a9d065da8f76e23765fc8c6ceae679b7a01182b273ea790f0fb44bb2a6b SHA512 73616d36516b97df70e84430edf6589d9179ed6dee3dc2aca9acc9c782782580e2b41a71657625393a07191cb5b4acd6536f35062626617c4ee15d07f748437b
+DIST types_docutils-0.22.3.20260408.tar.gz 57383 BLAKE2B 83a4923113df46e9e34dabd0c96ed9d890d76281cc8f19623d4c4ddce0059649b859bac063258de79a07cddf2c8873d82ae9b5e780a8fcbc687327c145705795 SHA512 006e13a701e06c86f41ae1e7da147a016e6f5262a0928bbb602b72b34a7a528ebb5e38713499a3f173ff0000ead60f3b5791b865e046980b62f94fc96159bfd9
diff --git a/dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild b/dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild
new file mode 100644
index 000000000000..a83282aaa882
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.22.3.20260408.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-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="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index f88cc8deec09..403420ea94d3 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1 +1,2 @@
DIST types_gdb-16.3.0.20260203.tar.gz 25569 BLAKE2B da5f1e81f508f8383ab00a4581083d3c6e6e056380f9ab13308b732b3a597074d47fc7a359ee52756135cdfd00ca429d89366824b09b1c755002df12f3573513 SHA512 bd8665f5ce2ec975f9a59b5646332fec68e846614b9e4f84aafb60f6c84772448b847f7610e0d787a3b07904093d5983b5c8b5fe4da30d5dfc135c3eddf9044c
+DIST types_gdb-16.3.0.20260408.tar.gz 25606 BLAKE2B 6e2699b4d5a3e901d2267903cf0c9a85a64696b27eded54dd7f8f3852945b8e20f2bdbcf5a8e5b171e8fd2a574a8ae0522ad3d5b5a6dbdb4b2e94d741d4d0c6c SHA512 28e2f9cdfb796baac931a51a50824bf95c388d210ca3f02bd9ab47432f2d6a7f3ad413754d568dc7e74c7c8a566d17958293ee9a8df6f07a8602bf52a74ddd4f
diff --git a/dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild
new file mode 100644
index 000000000000..fbf77e18e21e
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-16.3.0.20260408.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-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="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest
index c741387ea3cf..01c4531d5db1 100644
--- a/dev-python/types-psutil/Manifest
+++ b/dev-python/types-psutil/Manifest
@@ -1,2 +1,3 @@
DIST types_psutil-7.2.2.20260130.tar.gz 26535 BLAKE2B 9012a4c2f3af6b5a6bf324377ab7f0c817dc61b8c9cf83b3f52252d802061e63edbbb26d63282da3ce96cd2be3beac2682f9580cc6202dbfba7cd9dda3476a7c SHA512 5c187fee31d31112db70675dc1b45efe0cdc4bd4af04fd10ffb91eed6b0ccc1cdf91c7363c9b38f4264751bfc94577339ede49888f8fc9c02f16511fd3b48421
DIST types_psutil-7.2.2.20260402.tar.gz 26522 BLAKE2B 1e2adbb06992e359312b6cfd96cfde896281a82dbe346309b81355365dfe05704934669057c6e3d026c1cb86b9d64c467941fa3a0ab46d6046cad125f0fe53c9 SHA512 aaa50a56c3f50cd0eb8fc7e51216fcfa05a3878394f2cf612d7a9ac66021b7dcd044fff00e8358dce30ff8c382e6db0c6f72c178921b9f06a0086d2324815b42
+DIST types_psutil-7.2.2.20260408.tar.gz 26556 BLAKE2B 9348e17cc616c3f6dc8e5de62bda803f97d6648585aa7d0156ee583a6d95197383fc0886f011c28b366005915ad43791524457f981bf566ef89f916e51e17c6c SHA512 969b6424777e01c6a7ec9d15f6cd0455cec21295c8494f5ba37581149e11679bd0d1cf8b266484e24443cc872d711787207a1961c7303afc31dd66fd15d6708e
diff --git a/dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild b/dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild
new file mode 100644
index 000000000000..2ecb6de47a46
--- /dev/null
+++ b/dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2023-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="Typing stubs for psutil"
+HOMEPAGE="https://pypi.org/project/types-psutil/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/types-python-dateutil/Manifest b/dev-python/types-python-dateutil/Manifest
index 99ca81e7e045..14dd89a8db9b 100644
--- a/dev-python/types-python-dateutil/Manifest
+++ b/dev-python/types-python-dateutil/Manifest
@@ -1 +1,2 @@
DIST types_python_dateutil-2.9.0.20260402.tar.gz 16941 BLAKE2B 8f5bcd0b848915ced25bb31cf19d4387234030122de5011c0fff6df1ba31b77082afb43341a11362d32be095f0a01b8144c380867f2a04341a4a1746feece70b SHA512 856eed7a6b1dfb5d655ca6a0521f48275c4560888028c42327e956993350617ed9d11751d70c0239b6a331c557b6c91f743d5dc02b9e5fe256f64973536c588a
+DIST types_python_dateutil-2.9.0.20260408.tar.gz 16981 BLAKE2B 370257483cc71a80d03aff060d13bfd7f25272c315f84b69e2f4fcedeba169852001a4218658b0713a6639678aad411a2df52f48e14d64570e122fd1854de3d8 SHA512 4b4ca3ed3f06490340e9e945ff3abfa1569387ab68af1d180c5ef3a766e46fa6e607865577cf9a6290e48b4b533b4b8d55df6e06850cd631c877444664db241f
diff --git a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260408.ebuild b/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260408.ebuild
new file mode 100644
index 000000000000..9ee72fee1d13
--- /dev/null
+++ b/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260408.ebuild
@@ -0,0 +1,23 @@
+# 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="Typing stubs for python-dateutil"
+HOMEPAGE="
+ https://github.com/python/typeshed/
+ https://pypi.org/project/types-python-dateutil/
+"
+
+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"
+
+BDEPEND="
+ >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index ba271498cb7e..32717249166f 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -2,3 +2,4 @@ DIST types_setuptools-80.10.0.20260124.tar.gz 43299 BLAKE2B a8b2a540aabd60c4ea02
DIST types_setuptools-80.9.0.20251223.tar.gz 42420 BLAKE2B 1c023a586b1898ab3e7d262e83f8e7c05b700a0c52362732c4f1a8b0b02f395b71373d0dca11121c230e0b4feece8175c5239a1dd8eaf214ba60ed019cd8fd35 SHA512 1cad22757d1ddce329f0b61c0f76f0c4b293b9fdc035330650cd0820e6554f0f5b430f4d76e0f8e3d3a9a74d192490aa65bdc89bda177456f8a905313307bcbe
DIST types_setuptools-82.0.0.20260210.tar.gz 44768 BLAKE2B 6c5b14731a8ece67e233dcaf3ae65a058351eba85865954dfdca5ccee563c5aa552d5731350b9bde92b5e16c2afd63f964ad3115cc45ca7609591f0ec36dba34 SHA512 e1ec89d826df32a77dbba33721402588fe363fb17f098df6473e6711d1ac67e90dce3d20c47774c28d08aceb1f134c15dbc9bfc3ca6306d10773ec7c80979aa0
DIST types_setuptools-82.0.0.20260402.tar.gz 44805 BLAKE2B fa5cc5ea424f428de58d8d0f6abb50fc6b9ddfa2d328a1fcdd3a34cce4a195507846cbf1cb4d7ace47c66fb3d4e1668310f64f8e3a3fd84ee80676f635e46d8e SHA512 89262a9894ecfad36e6f2dcf570b0f61f4cca6786eb863cab3e945012dd3b4556184a437cb79db4da3a66e83c051eb652daf524a2957a79aa52e4743c1e49cc8
+DIST types_setuptools-82.0.0.20260408.tar.gz 44861 BLAKE2B 962c26fe06a7c3e679820357cd754d2b86e0a6f23c8d73aa53f70f14c971b4c2adce4f1996f42a364d8a803c517d7ac9f64d925e2226a57580adae5170363f90 SHA512 13fa510d928db23f5a651e566862e3f27e5ff5182b48ba5fbc606363ef7221839baa29989530db046571ced6924733fed4f3a01f3f4961d1fe38fc952fa84d4d
diff --git a/dev-python/types-setuptools/types-setuptools-82.0.0.20260408.ebuild b/dev-python/types-setuptools/types-setuptools-82.0.0.20260408.ebuild
new file mode 100644
index 000000000000..6eb6ca6acfff
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-82.0.0.20260408.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2023-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="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 679b08e9f7b0..37c26e74e96d 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -3,3 +3,4 @@ DIST uv_build-0.11.0.tar.gz 381349 BLAKE2B 67141bb1d0a77ccff1e05e132a458ac6f62aa
DIST uv_build-0.11.1.tar.gz 381246 BLAKE2B 57bd4e5366899c745294e967b9c632ff12587faf5d016cf5dab90c722fa61ff999ec0d95274c88372b27f5ff4878ffe6a9a476bfea62ca4eccb1796666a09599 SHA512 7d1421bfd46635e7e927be951eaf4f5044dc6dceec99178a2c0204b6bafd54648f98107d9ac68ebf0685132c3a34fdbfb6a6b684455caa9acd9b4bb9cb9dfcab
DIST uv_build-0.11.2.tar.gz 381227 BLAKE2B a0989816b2c4f224fe78d88a0dbee2f87b6426d0cb67299ae7f5caec644bf11ba0a3503919103d5c2a747cf696f2e7447a618a8b11156ffad9c308eeb3fb1e7b SHA512 66ce17d053002eb3c7fe82bf0c0e9953770dbc5b75822fa6bacdddd3092b5899d5416cd669e633a58b644e6fb6ceb6a8ff940878d7874c08b5d23b02564f2ba3
DIST uv_build-0.11.3.tar.gz 382592 BLAKE2B c212ba9dbd57d588f229a6972a20824cb1439c1770d677a7754a2ccad598a0b9235edbd4c6e178bae99c04c2a31a104a6213335e2c8e005728b25500c1b3a729 SHA512 3ed531b2ac111a8446336861eb80e90d5e7aa595cc65de7e83c79f94f4b2a0183028e3738ed30169b00430ef380574701fd1beffd120bc2cf7510d3bcb28bf11
+DIST uv_build-0.11.5.tar.gz 360294 BLAKE2B 5e913cc609b40bbc906e574a16d1cecec8fa59517ef3dac392ebe81e7d377ca20346ddb09b4292377cbbc506cce95e5c4df284d80b5f26907de6539999bc52d3 SHA512 731cdd7a17ba40d20add0ef9928c688016b4f19b5378a7cb71a3d02aca09a4585a1bd6b6304ef4c1b5745fe3edb5ee36a1a49b563946dd29d1e210fd5946d1de
diff --git a/dev-python/uv-build/uv-build-0.11.5.ebuild b/dev-python/uv-build/uv-build-0.11.5.ebuild
new file mode 100644
index 000000000000..2ab229426f84
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.11.5.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 0ffafcf7f258..cce084496c65 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -8,3 +8,5 @@ DIST uv-0.11.2-crates.tar.xz 46998940 BLAKE2B d3447d8f11e14a01abb7531249a3c5806e
DIST uv-0.11.2.gh.tar.gz 5135705 BLAKE2B abcedb5bbf0ef2c6585580818a7b11046a1555559254c2255a929050a61d3906fe176007ca8d39d0b4a2fc8582ce70376a73b7b6c4856af796056099750ecea1 SHA512 5db8253e1403a21a82c172429f8a2ee336d19a7b1e640942bd8b6a523defa8308f60b035c8ffae40d1de9292a598a5619f36debf5bf7bb3663b1f630e311cfd4
DIST uv-0.11.3-crates.tar.xz 46981748 BLAKE2B be42ea0a2997d23ddbd1e2772c4ad1e7a2ab8866624fa3e8eee31638e65293a5241ae0a3b3c2cecab64250b8e166f548c041145ed840a91e8c90d4d1d79ffcb8 SHA512 99686a97e1f630c396b6e7b282e85b37642b3fefb05233ec0276f4fc8fc297738c600c2348c5f15c5744242dfe121412f0bf2d4339f59b254b02ab9f4612d614
DIST uv-0.11.3.gh.tar.gz 5161685 BLAKE2B 901bb7292d0febd3970ff84913143bc3d31252f6e2bad08ef67bdb3638eb00760b0eea5717f5b5e40e2fd862c065fafe1ac23b57b186434fe5f0899835795c44 SHA512 5694bbb75136052b929356d8a7c66d16af515709a5f68c8d5d0a8353fa51a724677bab16c6288a53d128e95614898444f6ee3cc686bb34817ff15796d4dc46f9
+DIST uv-0.11.5-crates.tar.xz 46830584 BLAKE2B 6fbf2c9aa231588833e5cce30da2a9238af8bd22fd849cf45c3ffab52b405bcd6c5b488a9cc6975e09781ce379405c6323d7cb3c330243ae5a7b53efb775d06e SHA512 243e69e5512d09a48d47c76f100dae390e2ea9de51eb4671a9bc84a8fcbbdafe96832b6afc7222185f09f1c11c5aa6a32be9185f723b7dc67e13a94205f759d2
+DIST uv-0.11.5.gh.tar.gz 5200922 BLAKE2B 67631c35da46465c324bb3417312be7f5e9f50cafaf7f32b679b282ab4e5997c7ddc3a6a0cba3af138d95c4890475e3055cd6dc0dacf0e42bfa63761b839d766 SHA512 ade88d151b3da1a73dbd43b6b9c27722822f61e7088a53dfc1a073436350705468b37ebd301eaa5ddb2fdcd39978096b2c95180c735bc49c4a07391ca3bd4c09
diff --git a/dev-python/uv/uv-0.11.5.ebuild b/dev-python/uv/uv-0.11.5.ebuild
new file mode 100644
index 000000000000..ea2607714c56
--- /dev/null
+++ b/dev-python/uv/uv-0.11.5.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.92.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB BZIP2
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+
+ # uv is now forcing bundled liblzma, sigh
+ sed -i -e '/xz/s:"static"::' Cargo.toml || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}