summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-08 07:13:47 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-08 07:13:47 +0000
commita6a2723d14d4f75c9ff0ca130d38adb96945ada5 (patch)
treeace138fb5a1eb1ee0988577ad0689b2c01c3dabd /dev-python
parent63cc2c766bddbc62e012b702853544b13e1d9612 (diff)
downloadbaldeagleos-repo-a6a2723d14d4f75c9ff0ca130d38adb96945ada5.tar.gz
baldeagleos-repo-a6a2723d14d4f75c9ff0ca130d38adb96945ada5.tar.xz
baldeagleos-repo-a6a2723d14d4f75c9ff0ca130d38adb96945ada5.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiofile/Manifest1
-rw-r--r--dev-python/aiofile/aiofile-3.9.0_p20250714.ebuild30
-rw-r--r--dev-python/aiofile/metadata.xml (renamed from dev-python/nkdfu/metadata.xml)4
-rw-r--r--dev-python/aiomisc-pytest/Manifest1
-rw-r--r--dev-python/aiomisc-pytest/aiomisc-pytest-2.0.0.ebuild34
-rw-r--r--dev-python/aiomisc-pytest/metadata.xml10
-rw-r--r--dev-python/aiomisc/Manifest1
-rw-r--r--dev-python/aiomisc/aiomisc-18.0.19.ebuild71
-rw-r--r--dev-python/aiomisc/metadata.xml10
-rw-r--r--dev-python/aiothreads/Manifest1
-rw-r--r--dev-python/aiothreads/aiothreads-1.1.1.ebuild36
-rw-r--r--dev-python/aiothreads/metadata.xml10
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.85.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.85.ebuild67
-rw-r--r--dev-python/caio/Manifest1
-rw-r--r--dev-python/caio/caio-0.10.0.ebuild29
-rw-r--r--dev-python/caio/metadata.xml10
-rw-r--r--dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild2
-rw-r--r--dev-python/dasbus/dasbus-1.7.ebuild4
-rw-r--r--dev-python/django/Manifest6
-rw-r--r--dev-python/django/django-4.2.30.ebuild100
-rw-r--r--dev-python/django/django-5.2.13.ebuild100
-rw-r--r--dev-python/django/django-6.0.4.ebuild100
-rw-r--r--dev-python/dnspython/dnspython-2.8.0.ebuild4
-rw-r--r--dev-python/fastapi/Manifest4
-rw-r--r--dev-python/fastapi/fastapi-0.135.2.ebuild (renamed from dev-python/fastapi/fastapi-0.127.0.ebuild)27
-rw-r--r--dev-python/fastapi/fastapi-0.135.3.ebuild (renamed from dev-python/fastapi/fastapi-0.125.0.ebuild)33
-rw-r--r--dev-python/fastapi/files/fastapi-0.115.6-httpx-0.28-test-fix.patch26
-rw-r--r--dev-python/fastmcp/Manifest1
-rw-r--r--dev-python/fastmcp/fastmcp-3.1.1.ebuild60
-rw-r--r--dev-python/fastmcp/metadata.xml10
-rw-r--r--dev-python/graphql-core/Manifest1
-rw-r--r--dev-python/graphql-core/graphql-core-3.2.3.ebuild49
-rw-r--r--dev-python/gsd/Manifest1
-rw-r--r--dev-python/gsd/gsd-5.0.1.ebuild41
-rw-r--r--dev-python/jsonpath-ng/jsonpath-ng-1.8.0.ebuild2
-rw-r--r--dev-python/levenshtein/files/levenshtein-0.27.3-cython.patch26
-rw-r--r--dev-python/levenshtein/levenshtein-0.27.3.ebuild4
-rw-r--r--dev-python/librt/librt-0.8.1.ebuild2
-rw-r--r--dev-python/litestar/files/litestar-2.21-timemachine-3.patch143
-rw-r--r--dev-python/litestar/litestar-2.21.1.ebuild9
-rw-r--r--dev-python/mcp/Manifest2
-rw-r--r--dev-python/mcp/mcp-1.26.0.ebuild80
-rw-r--r--dev-python/mcp/metadata.xml13
-rw-r--r--dev-python/mypy/mypy-1.20.0.ebuild2
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.17.1.ebuild80
-rw-r--r--dev-python/nkdfu/Manifest1
-rw-r--r--dev-python/nkdfu/nkdfu-0.2.ebuild23
-rw-r--r--dev-python/octave-kernel/Manifest1
-rw-r--r--dev-python/octave-kernel/octave-kernel-1.0.2.ebuild40
-rw-r--r--dev-python/plexapi/Manifest1
-rw-r--r--dev-python/plexapi/plexapi-4.18.1.ebuild37
-rw-r--r--dev-python/py-key-value-aio/Manifest1
-rw-r--r--dev-python/py-key-value-aio/metadata.xml10
-rw-r--r--dev-python/py-key-value-aio/py-key-value-aio-0.4.4.ebuild96
-rw-r--r--dev-python/pydantic-extra-types/Manifest2
-rw-r--r--dev-python/pydantic-extra-types/pydantic-extra-types-2.11.1.ebuild65
-rw-r--r--dev-python/pylsqpack/pylsqpack-0.3.24.ebuild2
-rw-r--r--dev-python/pyrefly/Manifest44
-rw-r--r--dev-python/pyrefly/pyrefly-0.59.1.ebuild (renamed from dev-python/pyrefly/pyrefly-0.56.0.ebuild)69
-rw-r--r--dev-python/pytest/Manifest2
-rw-r--r--dev-python/pytest/pytest-9.0.3.ebuild121
-rw-r--r--dev-python/python-discovery/Manifest2
-rw-r--r--dev-python/python-discovery/python-discovery-1.2.2.ebuild51
-rw-r--r--dev-python/python-tests/Manifest6
-rw-r--r--dev-python/python-tests/python-tests-0.3.13.13.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-0.3.14.4.ebuild73
-rw-r--r--dev-python/python-tests/python-tests-3.13.13.ebuild71
-rw-r--r--dev-python/python-tests/python-tests-3.14.4.ebuild72
-rw-r--r--dev-python/rapidfuzz/Manifest2
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.14.5.ebuild51
-rw-r--r--dev-python/respx/Manifest1
-rw-r--r--dev-python/respx/respx-0.23.0.ebuild44
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild2
-rw-r--r--dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild2
-rw-r--r--dev-python/sqlmodel/Manifest3
-rw-r--r--dev-python/sqlmodel/sqlmodel-0.0.29.ebuild59
-rw-r--r--dev-python/sqlmodel/sqlmodel-0.0.38.ebuild (renamed from dev-python/sqlmodel/sqlmodel-0.0.31.ebuild)9
-rw-r--r--dev-python/sse-starlette/Manifest1
-rw-r--r--dev-python/sse-starlette/sse-starlette-3.3.4.ebuild37
-rw-r--r--dev-python/strawberry-graphql/Manifest1
-rw-r--r--dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild99
-rw-r--r--dev-python/textual/Manifest2
-rw-r--r--dev-python/textual/textual-8.2.2.ebuild107
-rw-r--r--dev-python/textual/textual-8.2.3.ebuild107
-rw-r--r--dev-python/uuid-utils/Manifest60
-rw-r--r--dev-python/uuid-utils/metadata.xml12
-rw-r--r--dev-python/uuid-utils/uuid-utils-0.14.1.ebuild100
-rw-r--r--dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild2
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.4-setuptools.patch78
-rw-r--r--dev-python/wxpython/wxpython-4.2.4.ebuild1
94 files changed, 2699 insertions, 246 deletions
diff --git a/dev-python/aiofile/Manifest b/dev-python/aiofile/Manifest
new file mode 100644
index 000000000000..1cfdab7ba0da
--- /dev/null
+++ b/dev-python/aiofile/Manifest
@@ -0,0 +1 @@
+DIST aiofile-3.9.0_p20250714.gh.tar.gz 35576 BLAKE2B edc22b4ed53a18b73b83f887ba71c893c644f0aeeff7cd69caf116ce050aa6fe54eb990306e0811619c2b6566e563b9cb3a6336427ab5788788b64443a15b8c7 SHA512 32fe853476f09265e8d33c0fb137bedc26d5f63067083ceaf8a6ea9e0c6158bb506b475b03398ac00cf2a7d4fafb662849f2df7b747b3f1a72e4fa889434d6fc
diff --git a/dev-python/aiofile/aiofile-3.9.0_p20250714.ebuild b/dev-python/aiofile/aiofile-3.9.0_p20250714.ebuild
new file mode 100644
index 000000000000..c23a094433a2
--- /dev/null
+++ b/dev-python/aiofile/aiofile-3.9.0_p20250714.ebuild
@@ -0,0 +1,30 @@
+# Copyright 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
+
+DESCRIPTION="Asynchronous file operations"
+HOMEPAGE="
+ https://github.com/mosquito/aiofile
+ https://pypi.org/project/aiofile/
+"
+# We depend on some unreleased fixes
+MY_COMMIT="ba7cbede109d7972064ad39433648051f659c0f1" # _p20250714
+SRC_URI="https://github.com/mosquito/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/caio-0.9.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( aiomisc-pytest )
+distutils_enable_tests pytest
diff --git a/dev-python/nkdfu/metadata.xml b/dev-python/aiofile/metadata.xml
index 736a1167c898..a2cf3f904da1 100644
--- a/dev-python/nkdfu/metadata.xml
+++ b/dev-python/aiofile/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
<origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/aiomisc-pytest/Manifest b/dev-python/aiomisc-pytest/Manifest
new file mode 100644
index 000000000000..6c366fae9448
--- /dev/null
+++ b/dev-python/aiomisc-pytest/Manifest
@@ -0,0 +1 @@
+DIST aiomisc-pytest-2.0.0.gh.tar.gz 37909 BLAKE2B 2db2a7e6457f9af0f772ba1726929ea60a4cea3089db65f9e042ee8cb38970ae7d1b722f2087fcb421e4aa2379672f7a97c61b1ae330b2ca44a48388386bcad6 SHA512 cd215d341ed5a1f9b4ba00cbc5d2be679268b3e1a9b82273d33e882e880a413d3495bf6c1627614d789be822b711c870150e7629467b5fb10c658500456ba477
diff --git a/dev-python/aiomisc-pytest/aiomisc-pytest-2.0.0.ebuild b/dev-python/aiomisc-pytest/aiomisc-pytest-2.0.0.ebuild
new file mode 100644
index 000000000000..2672fc271815
--- /dev/null
+++ b/dev-python/aiomisc-pytest/aiomisc-pytest-2.0.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 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 optfeature
+
+DESCRIPTION="pytest integration for aiomisc"
+HOMEPAGE="
+ https://github.com/aiokitchen/aiomisc-pytest
+ https://pypi.org/project/aiomisc-pytest/
+"
+
+MY_COMMIT="b6f974d9ce1dc892b6c33d6e5b04a36f092b9c57" # v2.0.0 (untagged, inferred)
+SRC_URI="https://github.com/aiokitchen/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/aiomisc-18[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( aiomisc-pytest )
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "uvloop" dev-python/uvloop
+}
diff --git a/dev-python/aiomisc-pytest/metadata.xml b/dev-python/aiomisc-pytest/metadata.xml
new file mode 100644
index 000000000000..a2cf3f904da1
--- /dev/null
+++ b/dev-python/aiomisc-pytest/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/aiomisc/Manifest b/dev-python/aiomisc/Manifest
new file mode 100644
index 000000000000..a4f3d2eb79b7
--- /dev/null
+++ b/dev-python/aiomisc/Manifest
@@ -0,0 +1 @@
+DIST aiomisc-18.0.19.gh.tar.gz 480681 BLAKE2B 484fb21da132c14b65c341d44f2476f12178a14a99c8708e666c98f3e94a7bc41a079145c8c3f323af1440558a2414bc812cfb463155296172b284333c933207 SHA512 8f6ba5a31ce1fc796e3b4d223628514caaf5efd9af72dc4eb5b5fe956d775aef5abca32cec5918cadbaf146c66ae5e8131a87b9e5135fcd45cffd490cad9dd0e
diff --git a/dev-python/aiomisc/aiomisc-18.0.19.ebuild b/dev-python/aiomisc/aiomisc-18.0.19.ebuild
new file mode 100644
index 000000000000..1fced8f694fd
--- /dev/null
+++ b/dev-python/aiomisc/aiomisc-18.0.19.ebuild
@@ -0,0 +1,71 @@
+# 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 optfeature
+
+DESCRIPTION="aiomisc - miscellaneous utils for asyncio"
+HOMEPAGE="
+ https://github.com/aiokitchen/aiomisc
+ https://pypi.org/project/aiomisc/
+"
+
+MY_COMMIT="ebfdb45c8d60fda24e42f7589d2fc7fe11ae4f0c" # v18.0.9 (untagged, inferred)
+SRC_URI="https://github.com/aiokitchen/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/caio-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/colorlog-6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/rich-12.6[${PYTHON_USEDEP}]
+ >=dev-python/setproctitle-1.3[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( aiomisc-pytest )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_AIOMISC=${PV}
+
+EPYTEST_IGNORE=(
+ # Missing dependencies
+ tests/test_carbon_service.py # aiocarbon
+ tests/test_dns.py # dnslib
+ tests/test_dns_server.py # dnslib
+ tests/test_entrypoint.py # various
+ tests/test_raven_service.py # raven
+)
+
+EPYTEST_DESELECT=(
+ # Broken (race conditions)
+ tests/test_thread_pool.py::test_from_thread_channel
+ tests/test_thread_pool.py::test_from_thread_channel_wait_before
+)
+
+pkg_postinst() {
+ optfeature "aiohttp" dev-python/aiohttp
+ # optfeature "ASGI" dev-python/aiohttp-asgi
+ # optfeature "Carbon" dev-python/aiocarbon
+ optfeature "cron" dev-python/croniter
+ # optfeature "DNS" dev-python/dnslib
+ # optfeature "gRPC" "dev-python/grpcio dev-python/grpcio-tools dev-python/grpcio-reflection"
+ # optfeature "Raven" "dev-python/aiohttp dev-python/raven"
+ optfeature "uvicorn" "dev-python/uvicorn dev-python/asgiref"
+ optfeature "uvloop" dev-python/uvloop
+
+ optfeature_header "For additional logging features install:"
+ optfeature "clorized log output with Rich" dev-python/rich
+ # optfeature "log output to systemd journald" dev-python/logging-journald
+}
diff --git a/dev-python/aiomisc/metadata.xml b/dev-python/aiomisc/metadata.xml
new file mode 100644
index 000000000000..a2cf3f904da1
--- /dev/null
+++ b/dev-python/aiomisc/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/aiothreads/Manifest b/dev-python/aiothreads/Manifest
new file mode 100644
index 000000000000..8d927a1728fb
--- /dev/null
+++ b/dev-python/aiothreads/Manifest
@@ -0,0 +1 @@
+DIST aiothreads-1.1.1.gh.tar.gz 112607 BLAKE2B 2489b7a344653dc73383b0480aa43260ba480c3f3158612b777461f2ede2d959a61eb0f443020bea2dbe9bbd5746582717076e6926260010d6fc54ab577d5a82 SHA512 d45e5145720ab544ba773e4415a8379867f7f33d034b5ce19b34733c1b3f53d8702c0814bcfa6cf1b58147df9ca47b8fe4a4c1d4543f7948d19c2c7e8b7bd490
diff --git a/dev-python/aiothreads/aiothreads-1.1.1.ebuild b/dev-python/aiothreads/aiothreads-1.1.1.ebuild
new file mode 100644
index 000000000000..09009e571084
--- /dev/null
+++ b/dev-python/aiothreads/aiothreads-1.1.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 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="glue between async and thread worlds"
+HOMEPAGE="
+ https://github.com/mosquito/aiothreads
+ https://pypi.org/project/aiothreads/
+"
+SRC_URI="https://github.com/mosquito/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+EPYTEST_PLUGINS=(
+ async-timeout
+ pytest-asyncio
+)
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i "s/^version = \"1.0.0\"/version = \"${PV}\"/" pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/aiothreads/metadata.xml b/dev-python/aiothreads/metadata.xml
new file mode 100644
index 000000000000..a2cf3f904da1
--- /dev/null
+++ b/dev-python/aiothreads/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 6a464dae8a41..cc73eac003a3 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.42.73.gh.tar.gz 1101832 BLAKE2B 2f187945feb18a6d8a4576f0f5766235095
DIST boto3-1.42.78.gh.tar.gz 1104761 BLAKE2B 989dc99fbe05c2e5fa28bda83897a411dbf929e1e5df3c78e0a52bbb5df61a5331aeceb48c6ba8e3ae7a6d8e0587d4a1f6094be7936bf107d75c15d0291d7701 SHA512 4a28b614b39591cca6f4e7f0c00612dffd701f39d6128d81b95e4022f5da833434897b6428dda50bb4280a715eaca289f863785f599e8149a7115ecc12cd9d36
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
diff --git a/dev-python/boto3/boto3-1.42.85.ebuild b/dev-python/boto3/boto3-1.42.85.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.85.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 a8b008b063f9..b73147e5e03f 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.42.73.gh.tar.gz 15909831 BLAKE2B a7032e431644adda779bcdc5241af66
DIST botocore-1.42.78.gh.tar.gz 15931724 BLAKE2B d0732ac14bb37ce0fd326b2edcdf06665306c7c06c3004f78aa5405ea8c2335eb1267e31c9cfe803ca6e551617c14177ea3319bcb2e1eafe4acd35e7f5e5b610 SHA512 18ad9458ee5ede54ab43eebc2d235371c84fc5fe8cb21a067a54612a4cfd14fedca54ae45f40516ec5a91aa4049837f94fa3fced2ea0f4deb8089f78a13f59a2
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
diff --git a/dev-python/botocore/botocore-1.42.85.ebuild b/dev-python/botocore/botocore-1.42.85.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.85.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/caio/Manifest b/dev-python/caio/Manifest
new file mode 100644
index 000000000000..199efc72a1e3
--- /dev/null
+++ b/dev-python/caio/Manifest
@@ -0,0 +1 @@
+DIST caio-0.10.0.gh.tar.gz 140190 BLAKE2B 6765d68a65693703aeee4fd88433e83bb8b905c95a7c1cd84848962a26d8f5d17bd68df43023ed02d9182e25395c22a34dac0b531c3e5bcd57387f8063e04f8d SHA512 de67da8778ce3c1f59fa63ea1318c95e916c0ede156a7eac2205ba917c10ed2e1b1f766a8cfe596491108f3f2842b4297e011d7d08c02c36ba7762e31e2e6212
diff --git a/dev-python/caio/caio-0.10.0.ebuild b/dev-python/caio/caio-0.10.0.ebuild
new file mode 100644
index 000000000000..8f81c2953e9b
--- /dev/null
+++ b/dev-python/caio/caio-0.10.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 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
+
+DESCRIPTION="Asynchronous file IO for Linux MacOS or Windows"
+HOMEPAGE="
+ https://github.com/mosquito/caio
+ https://pypi.org/project/caio/
+"
+SRC_URI="https://github.com/mosquito/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+EPYTEST_PLUGINS=( aiomisc-pytest )
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf caio || die
+ epytest
+}
diff --git a/dev-python/caio/metadata.xml b/dev-python/caio/metadata.xml
new file mode 100644
index 000000000000..a2cf3f904da1
--- /dev/null
+++ b/dev-python/caio/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild
index 66d11fa08bc9..e8bd1b19f0ab 100644
--- a/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild
+++ b/dev-python/charset-normalizer/charset-normalizer-3.4.7.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/dasbus/dasbus-1.7.ebuild b/dev-python/dasbus/dasbus-1.7.ebuild
index 9d0bc0b9076a..36f8f900ab1a 100644
--- a/dev-python/dasbus/dasbus-1.7.ebuild
+++ b/dev-python/dasbus/dasbus-1.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/dasbus-project/${PN}/archive/refs/tags/v${PV}.tar.gz
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
RDEPEND="dev-python/pygobject:3[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 2aff4a0895b8..a1743694c08a 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,6 +1,12 @@
DIST Django-4.2.29.checksum.txt 2490 BLAKE2B 2afe41048729e74193c22031ed0a0a1905df9ff873fd763be9274c66ff27eb138fd020d9249be4e71929777e27c992b49770c98fb41393ef3672e7fdcc1d36b4 SHA512 f2077772fb6e1fa9ceabd0e227053e134056d176e8b26985d8411adb3032afe4bc532bf905f496f40f6e67ad97a9733cc7d012d9951218bb28646ec706305d89
+DIST Django-4.2.30.checksum.txt 2498 BLAKE2B 82da291f4b5df6d4058f30e918f47388938429b0b4030672e80ac0b566dd138aa7edf88479cbafe9757c9443b16bc20d8a0708ddad310ebd16390847793cbe20 SHA512 a71849dd02eb2cbfed340ae286c7d02bf6b9cef0509ea04c6b38160ae2779240f54b50ec25487d485ef505c04cb5dc20afd01708460bc1ef5485f1ff0adecba2
DIST Django-5.2.12.checksum.txt 2490 BLAKE2B 03f6e66701d23132e2f52f1388a94695de68846bf568bc48556bfe127b55985dee5a8bfb19f53da16460d80304b582786843b1e33c9f0dac7d552add7a196279 SHA512 1a59795dee1628d2b45033d2b03ba3c9bfb682f5eb69fa30d8143cf8462599d31052cec56a11b676e953ed04769be49bba931cf76a1ae30c4d63ed88d2a9dfd1
+DIST Django-5.2.13.checksum.txt 2498 BLAKE2B 87b8f43819321dfe61964fe157b3c732a4db7674a717e71603ce888871f21a5bd991f6ed40f3bb8e8819f954cd4c4befda305962b88127a85d11a49eb086afaf SHA512 7b148ce939b257dc2f94a616564e0e3e0db05ea1d93c5324865fe124f16727063ca0b268fa4e463b3847172095baa276487b272bae608400fac9c69cbcd598d1
DIST Django-6.0.3.checksum.txt 2480 BLAKE2B 031a1b1f3fbf96ad4dcbe2e05e2e48e7b61fc98aeed7ef3bfbf8c0a041177060eb7aef459814c6ec7d5d71d0eb0281b1514f5fd4fd53aafa231ffdd215adb874 SHA512 b47df3a959073fe2427ae95c939b482ff9dfaf8dae5120a831a049d094bc16968f4dee24796f652d3cbc6cf425c869722668b21baed3c7febec1192a476ccf48
+DIST Django-6.0.4.checksum.txt 2488 BLAKE2B 47d11160eda2ab91264a6c92e963e8e238d92f985276a97335c01d4dd591c12828a2b709583e9c8ad0fe7f1aace73742582a4229a513d057c0cba1c40a0acebe SHA512 01ace44fd2e8c4a56f6bba29f767d24504bd6e1ea64d9d3356bb2787410e5c6aef30f764d84e31b2fe8a17d507c5030c238d0384c27a4c3fab9b4008d8e039cf
DIST django-4.2.29.tar.gz 10438980 BLAKE2B 144d264dd256901bcf52924e883fa77f3a7bafcbf87ffc5b618da6e7ad553817b48daa7830051ea1b790cfaa7082d8dae15c86749df77ec56c20d20df4806856 SHA512 3ac0b42a2c727fd99eb3e3df2c244a4be1855b0205a2145c9e274c720c60b3cc8b03a66b7326d4861119e0aca73b369e05110d4ec8ac8505580d3f25b406a6f3
+DIST django-4.2.30.tar.gz 10468707 BLAKE2B 760101d8eede890455e1df29bf6cd018007216f8f7ceaba8381c757eec5387b0d8524af2e4519cf6adeca93d3116f3f82b57887f73cc68c89dfbffddc79158e8 SHA512 62bbb451a3ab61ab1679ce9e86178147930cc711f01a0d983aa231ffbc4152f1926d3da240751ee4636f1c0c421248d2f3ee5ebd6827c45a4743adae7b46fbe8
DIST django-5.2.12.tar.gz 10860574 BLAKE2B 05b088b5903da57f5e43b9b706efbcbfb43990cf88a50990d6b1eaea34d3b9e65a064dcac7726ac03eb9e22e5d94aba6b2ce0d8e74e39e4d4bd0cc35a2ec4a0c SHA512 04406e135d4d5c0f0a63ac830732f41d5d8e8e24c78f0d542e57f431cd7affa8625a4db8d840ae0cf88d67098598c08e92146c7bff49cd187809e3ac0f8905e2
+DIST django-5.2.13.tar.gz 10890368 BLAKE2B 9fd67406297589e5a6764031dbc73701b7cbbf9f8699a72da8fed389145dc4326b4b01721d544a1c33ad6e636be5d9078275edd1750428f7d4d5f80c95c45cee SHA512 dfe3bcc9cf8cfcacf832e7968687605bb06590d1c77f89373bdf4228baefa857faa441e757a5bf1b7b8b75027daec86f88f5fd7a37d579f26918cdb54448581f
DIST django-6.0.3.tar.gz 10872701 BLAKE2B b9878ca6bcce4f28b655cf75d0840b41e72f71f2953d021bd71ee68cb5358ad0c72cf61d650c9e453b0ebff52df94abc6e6d80caf165ed86e08fc061087e0b6e SHA512 147e9eb8381d1a8bde547456b1392c4e2f6a7b75137f43398730f925e7d00564e84c8603bb940fc2f0a4e42c04c564afc4841226b2666041aebabcec62cb6eda
+DIST django-6.0.4.tar.gz 10907407 BLAKE2B 0cccac99762dd0f447816c04c199a9a37c7b3582306ca72b22053d7c2512d464efddbd6b6797c8a57248b17d461606accf36a353f95c379a0911ad702df015bc SHA512 3a750cd96d5f7655d67adad0ead1079f350b4874234e8163c85155a757900119cc0070679b84ec838e9416cf61e3f2199b7a3a88e886cfc67a85d00e53ce5551
diff --git a/dev-python/django/django-4.2.30.ebuild b/dev-python/django/django-4.2.30.ebuild
new file mode 100644
index 000000000000..e0eb8bb70599
--- /dev/null
+++ b/dev-python/django/django-4.2.30.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ # https://code.djangoproject.com/ticket/34900
+ "${FILESDIR}"/django-4.2.21-py313.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-5.2.13.ebuild b/dev-python/django/django-5.2.13.ebuild
new file mode 100644
index 000000000000..a3115d0e40f8
--- /dev/null
+++ b/dev-python/django/django-5.2.13.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ # d55979334dcefdb11626220000bec97ade09df07
+ "${FILESDIR}"/django-5.2.7-py314.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-6.0.4.ebuild b/dev-python/django/django-6.0.4.ebuild
new file mode 100644
index 000000000000..98d3fe282383
--- /dev/null
+++ b/dev-python/django/django-6.0.4.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+MY_P=${P/_}
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${MY_P^}.checksum.txt )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.9.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${MY_P^}.checksum.txt" sha256 "${MY_P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion django-admin
+ bashcomp_alias django-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/dnspython/dnspython-2.8.0.ebuild b/dev-python/dnspython/dnspython-2.8.0.ebuild
index 72dc4849caa1..414e02f6a2c3 100644
--- a/dev-python/dnspython/dnspython-2.8.0.ebuild
+++ b/dev-python/dnspython/dnspython-2.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
IUSE="dnssec examples https quic"
RDEPEND="
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index f1bdf804dff1..3ceb1c1acf6b 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1,3 +1,3 @@
-DIST fastapi-0.125.0.tar.gz 370550 BLAKE2B 0aff60b022fbe6252981ca962aab599aef2a4bbff06e44d919aa23ebdb587605327690c9572d3b021ad24df5d6b83acdc223a21c86598cfe38e1017552962170 SHA512 45ac3cce536ad8efe12f01db9a3347b9d8d023433f07a76efc2c10363db747abcaecbea9c597f571fa6f90355e5b75ec9416e5648660240427d9a77155b44b0a
-DIST fastapi-0.127.0.tar.gz 369269 BLAKE2B 5d7372892fdc63b3f8e9b75f3c7d9d23a902792badb91298e423e1d4630c77edf03ececef01db4fb0da750b6f5df4ec774e13da16c076f191aeeaf89fb2d72a4 SHA512 ec453a68385904b5d2d073ff362062a903b6b91c47cfce50e482715f4acd11574052c6d0d63f9a3932895226cff92d2c3771400b2d1230ebe55e1c9a45845c60
DIST fastapi-0.135.1.tar.gz 394962 BLAKE2B 95e002ac88880562fb19c51d6a9fa5b3a10f58ebfed32d70f8e4fcb9dd2e3c3366c5cbdefc3b4a8cd4d0fee8dc2e64dd9b1f5393d479cb6b3a62d5ee9b34abca SHA512 bd9b2789dbf98fbf566f340f9c890229ccb6f283066df54a82fab62763bd417a08b5fe3aa287409f224c30dbb4879b78f48e0a90d2261303879926621f4bc326
+DIST fastapi-0.135.2.tar.gz 395833 BLAKE2B 2177788bea82b840256beb46b1b15414a4aa26753c727107a3528101dd51f1f5f05e02f3603d4076df07c62824ba76d769aa72ad41c023c52072fa3e7c02d5b1 SHA512 62744ff30649569e74ee067c8d8fc96308f17a4d9ed055cb70b61cb38b7f0d0dd6d06a218294e2e6b96bd41a7b8b54947d75a56534f4b65af41e89c5cb108760
+DIST fastapi-0.135.3.tar.gz 396524 BLAKE2B 83ad655935be38c602c3a851910ab02dcc5e744241bb0e8f90864d97d37304a65e6d93790dbf8d7f05cc2d8e65e7d4ff1e5f934b4b272bbec43229db2a78e2d9 SHA512 3813ef68b3b090bb37970acdc43b29e468f9d17f48ebd960422188cc73854204eb425f743c13e84df622926475b971c74dacfac062f8392e1608b3ee1a47511c
diff --git a/dev-python/fastapi/fastapi-0.127.0.ebuild b/dev-python/fastapi/fastapi-0.135.2.ebuild
index 3cc081489421..ec8d2b8f0c24 100644
--- a/dev-python/fastapi/fastapi-0.127.0.ebuild
+++ b/dev-python/fastapi/fastapi-0.135.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,22 +28,25 @@ SLOT="0"
RDEPEND="
>=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
- >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
- <dev-python/starlette-0.51.0[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/aiosqlite[${PYTHON_USEDEP}]
>=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
dev-python/dirty-equals[${PYTHON_USEDEP}]
dev-python/email-validator[${PYTHON_USEDEP}]
- >=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
>=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
>=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
- dev-python/orjson[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
>=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
>=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
@@ -51,17 +54,19 @@ BDEPEND="
>=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
<dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
>=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
dev-python/sqlmodel[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
)
"
# brotli and zstd due to starlette based tests expecting it
-PATCHES=(
- "${FILESDIR}/${PN}-0.115.6-httpx-0.28-test-fix.patch"
-)
-
+# Hung once
+: ${EPYTEST_TIMEOUT:=60}
EPYTEST_PLUGINS=( anyio )
distutils_enable_tests pytest
diff --git a/dev-python/fastapi/fastapi-0.125.0.ebuild b/dev-python/fastapi/fastapi-0.135.3.ebuild
index d02d1761c364..ec8d2b8f0c24 100644
--- a/dev-python/fastapi/fastapi-0.125.0.ebuild
+++ b/dev-python/fastapi/fastapi-0.135.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,40 +28,45 @@ SLOT="0"
RDEPEND="
>=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
- <dev-python/pydantic-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.7.4[${PYTHON_USEDEP}]
- <dev-python/starlette-0.51.0[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/aiosqlite[${PYTHON_USEDEP}]
>=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
dev-python/dirty-equals[${PYTHON_USEDEP}]
dev-python/email-validator[${PYTHON_USEDEP}]
- >=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
>=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
>=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
- dev-python/orjson[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
>=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
- dev-python/pydantic-settings[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
>=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
<dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
>=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
dev-python/sqlmodel[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
)
"
# brotli and zstd due to starlette based tests expecting it
-PATCHES=(
- "${FILESDIR}/${PN}-0.115.6-httpx-0.28-test-fix.patch"
-)
-
+# Hung once
+: ${EPYTEST_TIMEOUT:=60}
EPYTEST_PLUGINS=( anyio )
distutils_enable_tests pytest
@@ -104,6 +109,8 @@ pkg_postinst() {
optfeature "forms and file uploads" dev-python/python-multipart
optfeature "validate emails" dev-python/email-validator
optfeature "uvicorn with uvloop" dev-python/uvicorn
+ optfeature "settings management" dev-python/pydantic-settings
+ optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
optfeature_header "Alternative JSON responses"
optfeature "ORJSONResponse" dev-python/orjson
optfeature "UJSONResponse" dev-python/ujson
diff --git a/dev-python/fastapi/files/fastapi-0.115.6-httpx-0.28-test-fix.patch b/dev-python/fastapi/files/fastapi-0.115.6-httpx-0.28-test-fix.patch
deleted file mode 100644
index 1ce4fe1d97d9..000000000000
--- a/dev-python/fastapi/files/fastapi-0.115.6-httpx-0.28-test-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py
-+++ b/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py
-@@ -14,6 +14,22 @@ def test_endpoint_works():
- def test_exception_handler_body_access():
- response = client.post("/", json={"numbers": [1, 2, 3]})
- assert response.json() == IsDict(
-+ {
-+ 'detail': {
-+ 'body': '{"numbers":[1,2,3]}',
-+ 'errors': [
-+ {
-+ 'input': {'numbers': [1, 2, 3]},
-+ 'loc': ['body'],
-+ 'msg': 'Input should be a valid list',
-+ 'type': 'list_type'
-+ }
-+ ]
-+ }
-+ }
-+ ) | IsDict(
-+ # Pre httpx-0.28.0 json output
-+ # https://github.com/encode/httpx/pull/3367
- {
- "detail": {
- "errors": [
-
diff --git a/dev-python/fastmcp/Manifest b/dev-python/fastmcp/Manifest
new file mode 100644
index 000000000000..cb417af3761c
--- /dev/null
+++ b/dev-python/fastmcp/Manifest
@@ -0,0 +1 @@
+DIST fastmcp-3.1.1.tar.gz 17347644 BLAKE2B 6450d347c1107b4ecdff0d95793e6be05a459fb82ffbd161236f02ab9c9236b3bd508015a77d9c4024cefddab8dec527a4ddfdda510b9b6523fb048584d52286 SHA512 4cd5c61b60c52bf1ebf54157ead362a069dc78794c09592366a58cfe67543b68373a5bf26b7896869a84bc712302fa17037e899328c09559b988bef0620fce52
diff --git a/dev-python/fastmcp/fastmcp-3.1.1.ebuild b/dev-python/fastmcp/fastmcp-3.1.1.ebuild
new file mode 100644
index 000000000000..b5b23f3af21c
--- /dev/null
+++ b/dev-python/fastmcp/fastmcp-3.1.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 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 pypi
+
+DESCRIPTION="The fast, Pythonic way to build MCP servers and clients"
+HOMEPAGE="
+ https://gofastmcp.com/
+ https://github.com/PrefectHQ/fastmcp
+ https://pypi.org/project/fastmcp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/authlib-1.6.5[${PYTHON_USEDEP}]
+ >=dev-python/cyclopts-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/exceptiongroup-1.2.2[${PYTHON_USEDEP}]
+ >=dev-python/fastapi-0.115.12[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonref-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-path-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/mcp-1.24.0[${PYTHON_USEDEP}]
+ >=dev-python/openapi-pydantic-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-api-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/py-key-value-aio-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.11.7[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.9.4[${PYTHON_USEDEP}]
+ >=dev-python/uncalled-for-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/uvicorn-0.35[${PYTHON_USEDEP}]
+ >=dev-python/watchfiles-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/websockets-15.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/dirty-equals-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.27.2[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-sdk-1.20.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=(
+ inline-snapshot
+ pytest-{asyncio,env,httpx,timeout}
+)
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
diff --git a/dev-python/fastmcp/metadata.xml b/dev-python/fastmcp/metadata.xml
new file mode 100644
index 000000000000..a2cf3f904da1
--- /dev/null
+++ b/dev-python/fastmcp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/graphql-core/Manifest b/dev-python/graphql-core/Manifest
index d917eb16df1d..da438cfc3ae5 100644
--- a/dev-python/graphql-core/Manifest
+++ b/dev-python/graphql-core/Manifest
@@ -1,2 +1 @@
-DIST graphql-core-3.2.3.tar.gz 529552 BLAKE2B 5931579fe860ffd8f0166e703ba3d055eb39660ac3bcd5335c42811da1a692382ab0e968bacfc7b3cb9fae72c74bec160516c74ab56775e3ed6e3756c67ee23a SHA512 6a43b802ae71de7229daa3c9bc8266a17955b163d6b342107034168bc71fb026ad2f8de1ab5fc40dfb6ebbd5c47030ad978d54a825f6aca1c318190e325b405e
DIST graphql_core-3.2.8.tar.gz 513181 BLAKE2B d19ceae19149718c6dd2caa56c88a5f5b1808783e83a622bfa6d11e97bcb242f2845b011b1cbcefb15a9c48e3cb2a9979cdd5c72f9a62c9b0ee393467c1ddefc SHA512 8dd89e04530a0635398ce114c0b1a644a2a5ace88b652fbb211f8fb3250b2e5a13f0f91ceb2ce2866c6daac8fe66bd70dc84226fc58caf4e579ee9c2d76c9ebf
diff --git a/dev-python/graphql-core/graphql-core-3.2.3.ebuild b/dev-python/graphql-core/graphql-core-3.2.3.ebuild
deleted file mode 100644
index 91dc280c2d4c..000000000000
--- a/dev-python/graphql-core/graphql-core-3.2.3.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# 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=poetry
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python port of GraphQL.js, the JavaScript reference implementation for GraphQL"
-HOMEPAGE="
- https://pypi.org/project/graphql-core/
- https://github.com/graphql-python/graphql-core
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- $(python_gen_cond_dep \
- 'dev-python/typing-extensions[${PYTHON_USEDEP}]' python3_9)
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-describe[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=( tests/benchmarks )
-
-distutils_enable_tests pytest
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed "/addopts =/d" -i setup.cfg pyproject.toml || die
-}
-
-python_test() {
- cd "${S}"/tests || die
- epytest
-}
diff --git a/dev-python/gsd/Manifest b/dev-python/gsd/Manifest
index ff5f0b82999c..791d381f73c1 100644
--- a/dev-python/gsd/Manifest
+++ b/dev-python/gsd/Manifest
@@ -1,2 +1,3 @@
DIST gsd-4.2.0.tar.gz 141527 BLAKE2B 243223caff126a999cfa3cb35faec09a41a43ab91f4595724a23d346874bfe1e1b6f7d0dfd383075b97078316cf3d0478308adb88ff7ea90dad4719d0523542e SHA512 a1ce3855dd01403fc52ad209589f201d169c766f99a9bea2ddc7dfc7d3b05022e2658759b757408df38bc4ebbdb38fde560b71d19600ca6b2387c0f6ba1c3a48
DIST gsd-5.0.0.tar.gz 140095 BLAKE2B 9fcfd0b4984a80c4a8ca1880184a89ebd6bd4c4c5eec616d138fe18d8fd21f76bd5ce02b5477eb472327b4c2cf1f00d51dfd0b2bda48d257d6c3aff12600c575 SHA512 92426fb313b68c0916ded14971da918f1a672b12fa67b5394c7dee7b8d7dff956ef2f2131fae9d8ccbed0ef819d715e7ea16ab7e4e0209da81faf92711385954
+DIST gsd-5.0.1.tar.gz 140861 BLAKE2B 85aecd32b1f9e5970c9b1bc72a7073bcd21eb48027eefd83c65fd8db69c6f0999e9df71f19d22c3d186aa81694badc03c661fca934d961d32e78d7abc4e104d8 SHA512 04e7c2e8f3501306ecf9f3a117754294e28b54abb24ad0bdf2efc6b5fc520e8533feb69ef508d32b83e3ff2db880457a19b88c1ba411c0c08176d1d1a4407f10
diff --git a/dev-python/gsd/gsd-5.0.1.ebuild b/dev-python/gsd/gsd-5.0.1.ebuild
new file mode 100644
index 000000000000..c44a2e6f807a
--- /dev/null
+++ b/dev-python/gsd/gsd-5.0.1.ebuild
@@ -0,0 +1,41 @@
+# 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
+
+DESCRIPTION="GSD - file format specification and a library to read and write it"
+HOMEPAGE="
+ https://github.com/glotzerlab/gsd/
+ https://pypi.org/project/gsd/
+"
+SRC_URI="
+ https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs gsd
+}
diff --git a/dev-python/jsonpath-ng/jsonpath-ng-1.8.0.ebuild b/dev-python/jsonpath-ng/jsonpath-ng-1.8.0.ebuild
index 2992a7cf29a8..7e0c7e94a69a 100644
--- a/dev-python/jsonpath-ng/jsonpath-ng-1.8.0.ebuild
+++ b/dev-python/jsonpath-ng/jsonpath-ng-1.8.0.ebuild
@@ -23,7 +23,7 @@ RDEPEND="
"
BDEPEND="
test? (
- dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/levenshtein/files/levenshtein-0.27.3-cython.patch b/dev-python/levenshtein/files/levenshtein-0.27.3-cython.patch
new file mode 100644
index 000000000000..65baf46d5207
--- /dev/null
+++ b/dev-python/levenshtein/files/levenshtein-0.27.3-cython.patch
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/966947
+https://github.com/rapidfuzz/Levenshtein/commit/759c0b42036813bc82504c5ca287d1d6bdaac852
+
+From 759c0b42036813bc82504c5ca287d1d6bdaac852 Mon Sep 17 00:00:00 2001
+From: Martin Weinelt <hexa@darmstadt.ccc.de>
+Date: Thu, 22 Jan 2026 22:32:31 +0100
+Subject: [PATCH] Compile extension as C++
+
+This fixes the build with Cython 3.2. Tested against 3.2.4.
+---
+ src/Levenshtein/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Levenshtein/CMakeLists.txt b/src/Levenshtein/CMakeLists.txt
+index 721f7a7..f6159ed 100644
+--- a/src/Levenshtein/CMakeLists.txt
++++ b/src/Levenshtein/CMakeLists.txt
+@@ -9,7 +9,7 @@ function(create_cython_target _name)
+ MAIN_DEPENDENCY "${CMAKE_CURRENT_LIST_DIR}/${_name}.pyx"
+ VERBATIM
+ COMMAND
+- Python::Interpreter -m cython "${CMAKE_CURRENT_LIST_DIR}/${_name}.pyx"
++ Python::Interpreter -m cython --cplus "${CMAKE_CURRENT_LIST_DIR}/${_name}.pyx"
+ --output-file "${CMAKE_CURRENT_BINARY_DIR}/${_name}.cxx")
+
+ set(${_name}
diff --git a/dev-python/levenshtein/levenshtein-0.27.3.ebuild b/dev-python/levenshtein/levenshtein-0.27.3.ebuild
index 4b66ea80f2d3..ba0c5ff2a34b 100644
--- a/dev-python/levenshtein/levenshtein-0.27.3.ebuild
+++ b/dev-python/levenshtein/levenshtein-0.27.3.ebuild
@@ -38,6 +38,10 @@ BDEPEND="
>=dev-python/scikit-build-core-0.11[${PYTHON_USEDEP}]
"
+PATCHES=(
+ "${FILESDIR}"/${P}-cython.patch
+)
+
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/librt/librt-0.8.1.ebuild b/dev-python/librt/librt-0.8.1.ebuild
index 528654953a6a..3141e6033308 100644
--- a/dev-python/librt/librt-0.8.1.ebuild
+++ b/dev-python/librt/librt-0.8.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT PSF-2.4"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
BDEPEND="
test? (
diff --git a/dev-python/litestar/files/litestar-2.21-timemachine-3.patch b/dev-python/litestar/files/litestar-2.21-timemachine-3.patch
new file mode 100644
index 000000000000..2c17ef72ffe9
--- /dev/null
+++ b/dev-python/litestar/files/litestar-2.21-timemachine-3.patch
@@ -0,0 +1,143 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index a2dd94355..4dfabc726 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -17,7 +17,7 @@ import pytest
+ from pytest_lazy_fixtures import lf
+ from redis.asyncio import Redis as AsyncRedis
+ from redis.client import Redis
+-from time_machine import Coordinates, travel
++from time_machine import Traveller, travel
+
+ from litestar.logging import LoggingConfig
+ from litestar.middleware.session import SessionMiddleware
+@@ -36,7 +36,7 @@ if TYPE_CHECKING:
+ from types import ModuleType
+
+ from pytest import FixtureRequest, MonkeyPatch
+- from time_machine import Coordinates
++ from time_machine import Traveller
+
+ from litestar import Litestar
+ from litestar.types import (
+@@ -266,7 +266,7 @@ def create_module(tmp_path: Path, monkeypatch: MonkeyPatch) -> Callable[[str], M
+
+
+ @pytest.fixture()
+-def frozen_datetime() -> Generator[Coordinates, None, None]:
++def frozen_datetime() -> Generator[Traveller, None, None]:
+ with travel(datetime.utcnow, tick=False) as frozen:
+ yield frozen
+
+diff --git a/tests/e2e/test_response_caching.py b/tests/e2e/test_response_caching.py
+index 462302843..943162f16 100644
+--- a/tests/e2e/test_response_caching.py
++++ b/tests/e2e/test_response_caching.py
+@@ -21,7 +21,7 @@ from litestar.testing import TestClient, create_test_client
+ from litestar.types import HTTPScope
+
+ if TYPE_CHECKING:
+- from time_machine import Coordinates
++ from time_machine import Traveller
+
+ T = TypeVar("T")
+
+@@ -60,7 +60,7 @@ def test_default_cache_response(sync_to_thread: bool, mock: MagicMock) -> None:
+ assert mock.call_count == 1
+
+
+-def test_handler_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> None:
++def test_handler_expiration(mock: MagicMock, frozen_datetime: "Traveller") -> None:
+ @get("/cached-local", cache=10)
+ async def handler() -> str:
+ return mock() # type: ignore[no-any-return]
+@@ -78,7 +78,7 @@ def test_handler_expiration(mock: MagicMock, frozen_datetime: "Coordinates") ->
+ assert mock.call_count == 2
+
+
+-def test_default_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> None:
++def test_default_expiration(mock: MagicMock, frozen_datetime: "Traveller") -> None:
+ @get("/cached-default", cache=True)
+ async def handler() -> str:
+ return mock() # type: ignore[no-any-return]
+diff --git a/tests/unit/test_middleware/test_session/test_server_side_backend.py b/tests/unit/test_middleware/test_session/test_server_side_backend.py
+index d9905ff45..cb291a588 100644
+--- a/tests/unit/test_middleware/test_session/test_server_side_backend.py
++++ b/tests/unit/test_middleware/test_session/test_server_side_backend.py
+@@ -11,7 +11,7 @@ from litestar.stores.memory import MemoryStore
+ from litestar.testing import TestClient
+
+ if TYPE_CHECKING:
+- from time_machine import Coordinates
++ from time_machine import Traveller
+
+ from litestar.middleware.session.server_side import ServerSideSessionBackend
+
+@@ -70,7 +70,7 @@ async def test_get_renew_on_access(
+ server_side_session_backend: "ServerSideSessionBackend",
+ session_data: bytes,
+ memory_store: MemoryStore,
+- frozen_datetime: "Coordinates",
++ frozen_datetime: "Traveller",
+ ) -> None:
+ server_side_session_backend.config.max_age = 1
+ server_side_session_backend.config.renew_on_access = True
+@@ -121,7 +121,7 @@ async def test_max_age_expires(
+ server_side_session_backend: "ServerSideSessionBackend",
+ session_data: bytes,
+ memory_store: MemoryStore,
+- frozen_datetime: "Coordinates",
++ frozen_datetime: "Traveller",
+ ) -> None:
+ server_side_session_backend.config.max_age = 1
+ await server_side_session_backend.set("foo", session_data, memory_store)
+diff --git a/tests/unit/test_stores.py b/tests/unit/test_stores.py
+index 471ae754b..97c8f2db9 100644
+--- a/tests/unit/test_stores.py
++++ b/tests/unit/test_stores.py
+@@ -12,7 +12,7 @@ from unittest.mock import MagicMock, Mock, patch
+ import pytest
+ from _pytest.fixtures import FixtureRequest
+ from pytest_mock import MockerFixture
+-from time_machine import Coordinates
++from time_machine import Traveller
+
+ from litestar.exceptions import ImproperlyConfiguredException
+ from litestar.stores.file import FileStore
+@@ -69,7 +69,7 @@ async def test_set_special_chars_key(store: Store, key: str) -> None:
+ assert await store.get(key) == value
+
+
+-async def test_expires(store: Store, frozen_datetime: Coordinates) -> None:
++async def test_expires(store: Store, frozen_datetime: Traveller) -> None:
+ await store.set("foo", b"bar", expires_in=1)
+
+ frozen_datetime.shift(2)
+@@ -87,7 +87,7 @@ async def test_expires(store: Store, frozen_datetime: Coordinates) -> None:
+
+ @pytest.mark.flaky(reruns=5)
+ @pytest.mark.parametrize("renew_for", [10, timedelta(seconds=10)])
+-async def test_get_and_renew(store: Store, renew_for: int | timedelta, frozen_datetime: Coordinates) -> None:
++async def test_get_and_renew(store: Store, renew_for: int | timedelta, frozen_datetime: Traveller) -> None:
+ if isinstance(store, (RedisStore, ValkeyStore)):
+ pytest.skip()
+
+@@ -176,7 +176,7 @@ async def test_delete_all(store: Store) -> None:
+ assert await store.get(key) is None
+
+
+-async def test_expires_in(store: Store, frozen_datetime: Coordinates) -> None:
++async def test_expires_in(store: Store, frozen_datetime: Traveller) -> None:
+ if not isinstance(store, (RedisStore, ValkeyStore)):
+ pytest.xfail("bug in FileStore and MemoryStore")
+
+@@ -460,7 +460,7 @@ async def test_namespaced_store_delete_all_propagates_down(namespaced_store: Nam
+
+
+ @pytest.mark.parametrize("store_fixture", ["memory_store", "file_store"])
+-async def test_memory_delete_expired(store_fixture: str, request: FixtureRequest, frozen_datetime: Coordinates) -> None:
++async def test_memory_delete_expired(store_fixture: str, request: FixtureRequest, frozen_datetime: Traveller) -> None:
+ store = request.getfixturevalue(store_fixture)
+
+ expect_expired: list[str] = []
+
diff --git a/dev-python/litestar/litestar-2.21.1.ebuild b/dev-python/litestar/litestar-2.21.1.ebuild
index ae22d424cc05..26b220ff1c58 100644
--- a/dev-python/litestar/litestar-2.21.1.ebuild
+++ b/dev-python/litestar/litestar-2.21.1.ebuild
@@ -55,9 +55,10 @@ BDEPEND="
dev-python/psycopg:0[${PYTHON_USEDEP}]
dev-python/pydantic-extra-types[${PYTHON_USEDEP}]
dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
dev-python/starlette[${PYTHON_USEDEP}]
dev-python/structlog[${PYTHON_USEDEP}]
- <dev-python/time-machine-3[${PYTHON_USEDEP}]
+ >=dev-python/time-machine-3[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
dev-python/uvicorn[${PYTHON_USEDEP}]
)
@@ -104,6 +105,10 @@ EPYTEST_IGNORE=(
# Avoid the dependency
"tests/unit/test_contrib/test_opentelemetry.py"
"tests/unit/test_plugins/test_prometheus.py"
+
+ # appears to require installing litestar properly prior
+ "tests/e2e/test_routing/test_path_mounting.py"
+ "tests/e2e/test_routing/test_path_resolution.py"
)
EPYTEST_DESELECT=(
# Requires docker
@@ -144,6 +149,8 @@ distutils_enable_tests pytest
PATCHES=(
# valkey not packaged
"${FILESDIR}"/litestar-2.19.0-no-valkey.patch
+
+ "${FILESDIR}"/litestar-2.21-timemachine-3.patch
)
python_test() {
diff --git a/dev-python/mcp/Manifest b/dev-python/mcp/Manifest
new file mode 100644
index 000000000000..0adec0a72e14
--- /dev/null
+++ b/dev-python/mcp/Manifest
@@ -0,0 +1,2 @@
+DIST mcp-1.26.0.tar.gz 608005 BLAKE2B d1dd8dd2cbe38574a9a7a6e7e9369e5944a63b750ed932c1b7751e171f06dca7f95db7f76dd0d9cc4b049baa3c945bc1074efd9e1a583dd41e183b40bdce5f7e SHA512 3de0c77f0fe580065a92be570528d1e56839973e79c035616008f186a0ff0eec85fdb10d1b3b3adb36f1ad0d52adb41fd5360873cb73c9271c33ada351549f12
+DIST mcp-1.26.0.tar.gz.provenance 9789 BLAKE2B a2457a56ac3ad700805a886606199d4053c532cf2ac202ca1713d83b3c9f2a88557174e54da4bc710b55ff85478ac738e47c1dd86ed4f0f089e95241d36525c7 SHA512 c38d1125b8049bccdfeccb686ffe324d6b1bac5b38fe96089f5652e34e1c38247c1d2c07e8ffed7ae849d580b15dba4eee1c9f5cf049ee608e3ce94ad6baacc1
diff --git a/dev-python/mcp/mcp-1.26.0.ebuild b/dev-python/mcp/mcp-1.26.0.ebuild
new file mode 100644
index 000000000000..2b7e463075f7
--- /dev/null
+++ b/dev-python/mcp/mcp-1.26.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 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/modelcontextprotocol/python-sdk
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Model Context Protocol SDK"
+HOMEPAGE="
+ https://modelcontextprotocol.io/
+ https://github.com/modelcontextprotocol/python-sdk
+ https://pypi.org/project/mcp/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cli"
+REQUIRED_USE="test? ( cli )"
+
+RDEPEND="
+ >=dev-python/anyio-4.9.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-sse-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-settings-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.9[${PYTHON_USEDEP}]
+ >=dev-python/sse-starlette-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.27.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.13.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/uvicorn-0.31.1[${PYTHON_USEDEP}]
+ cli? (
+ >=dev-python/python-dotenv-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/typer-0.16.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/python-dotenv-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.9.4[${PYTHON_USEDEP}]
+ >=dev-python/typer-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/websockets-15.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Requires dev-python/pytest-examples which depends on missing Python
+ # bindings in dev-util/ruff::gentoo
+ tests/test_examples.py
+)
+EPYTEST_DESELECT=(
+ # TODO Tests have changed significantly/moved in master; re-check on vbump
+ # Fails due to changes in schema generation in newer Pydantic versions (v1.26.0)
+ tests/server/fastmcp/test_func_metadata.py::test_structured_output_unserializable_type_error
+ # Runs dev-python/uv and requires network access (v1.26.0)
+ tests/client/test_config.py::test_command_execution
+ # Fails for an unknown reason (wrong response type) (v1.26.0)
+ tests/shared/test_streamable_http.py::test_json_response
+)
+
+pkg_postinst() {
+ optfeature "colorized log output" dev-python/rich
+ optfeature "WebSockets support" dev-python/websockets
+}
+
+python_test() {
+ epytest -o asyncio_mode=auto
+}
diff --git a/dev-python/mcp/metadata.xml b/dev-python/mcp/metadata.xml
new file mode 100644
index 000000000000..b6c5b8de5d3c
--- /dev/null
+++ b/dev-python/mcp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <use>
+ <flag name="cli">Install dependencies required for the Command Line Interface</flag>
+ </use>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mypy/mypy-1.20.0.ebuild b/dev-python/mypy/mypy-1.20.0.ebuild
index 9a31cbdd0651..fcb0eb485627 100644
--- a/dev-python/mypy/mypy-1.20.0.ebuild
+++ b/dev-python/mypy/mypy-1.20.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="native-extensions"
# stubgen collides with this package: https://bugs.gentoo.org/585594
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index 5ea25bc45b9d..b0a4ce47d49b 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,2 +1,3 @@
DIST nbconvert-7.16.6.tar.gz 857715 BLAKE2B 1fdd6397c92f281554fb528a82926e1cf03cf0d5c6c50b4bcc6d4e3ee62c54917d08cfdf879ee6053bb096cb0de4109187ec2abfc14cf628e605bf6bca01bd5b SHA512 527536700e870d0352feb070b1d4cff6fbad11503bdeff860a1fdd6e142b776dc260a60d6c3e887c52ebc83c9465df569b9d27aead53c02a42a0adb60733371d
DIST nbconvert-7.17.0.tar.gz 862855 BLAKE2B 37217eef5bfda20df032eff43d3a4c39377e3d12b96820dab029ed91e767f6de7734ae28bf0a822079f8b7b8c66a19923cbb8e6e15b95104eca59590031ec699 SHA512 b6555d69f388b9d6b22d20798d565bf1abc1bd1925c0a8b2ca4580b0d04ac72f46208127199eb44c27fce0926fb63ae456887ef9716a0a22029185cb8b8185c2
+DIST nbconvert-7.17.1.tar.gz 865311 BLAKE2B 19e8b78b04778da31b6c14915e8ccc6aeb5406f4388f5239d4431fc175438aae6b1f1d273003c60cfbe168880d036338c219949f379c69b85432025448afc5a2 SHA512 d6f5db5707a60388e4ba9c3b59aa8e1d43394f49cfc18434d649c6b7bd755a2752c12ab224b0a487dd240191b11b691fbcc41cd2a956db2e33db6314fa2d104e
diff --git a/dev-python/nbconvert/nbconvert-7.17.1.ebuild b/dev-python/nbconvert/nbconvert-7.17.1.ebuild
new file mode 100644
index 000000000000..321d5ef65416
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.17.1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-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 pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+# via bleach[css]
+RDEPEND+="
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7.5[${PYTHON_USEDEP}]
+ )
+"
+
+# tests/preprocessors/test_execute.py are extremely flaky over output
+# buffering
+EPYTEST_PLUGINS=( flaky )
+EPYTEST_RERUNS=10
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # crazy qtweb* stuff, perhaps permissions
+ tests/exporters/test_qtpdf.py::TestQtPDFExporter::test_export
+ tests/exporters/test_qtpng.py::TestQtPNGExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/nkdfu/Manifest b/dev-python/nkdfu/Manifest
deleted file mode 100644
index 116b7ad8b509..000000000000
--- a/dev-python/nkdfu/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nkdfu-0.2.gh.tar.gz 16046 BLAKE2B dbd01a333391ae94fccae6cf7cecccce2b742fcb91fab421208236cfa7576b1a31ebf21dd168813534c8ca401d964c12b73d340ddd8e6e6ca009257a1a306f5e SHA512 3b94b65115e84ca0a065746f92415d7be436484fd9a949ac841955ffd98a061ec7c9016f1d9bc05af1006fcfc2ca21a94f51a0d3a036c27945cf568b75cc7d58
diff --git a/dev-python/nkdfu/nkdfu-0.2.ebuild b/dev-python/nkdfu/nkdfu-0.2.ebuild
deleted file mode 100644
index 0e01516e29a1..000000000000
--- a/dev-python/nkdfu/nkdfu-0.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2023-2024 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="Python DFU tool for updating Nitrokeys' firmware"
-HOMEPAGE="https://pypi.org/project/nkdfu/"
-SRC_URI="https://github.com/Nitrokey/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/intelhex-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/libusb1-1.9.3[${PYTHON_USEDEP}]
- dev-python/python-fire[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/octave-kernel/Manifest b/dev-python/octave-kernel/Manifest
index d583f93c4bd3..945972fb109d 100644
--- a/dev-python/octave-kernel/Manifest
+++ b/dev-python/octave-kernel/Manifest
@@ -1 +1,2 @@
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
diff --git a/dev-python/octave-kernel/octave-kernel-1.0.2.ebuild b/dev-python/octave-kernel/octave-kernel-1.0.2.ebuild
new file mode 100644
index 000000000000..6fd57d3247c6
--- /dev/null
+++ b/dev-python/octave-kernel/octave-kernel-1.0.2.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/plexapi/Manifest b/dev-python/plexapi/Manifest
index 955119be0857..9fb7b8950723 100644
--- a/dev-python/plexapi/Manifest
+++ b/dev-python/plexapi/Manifest
@@ -1,2 +1,3 @@
DIST plexapi-4.17.2.gh.tar.gz 22533393 BLAKE2B 8ffda301510d150db45396c42cd7c8f5ded10858d883e4aa677e13affe324c46e5bac8436bf5ebd9d93db63713638038261fb42b6359b8fcc1a504a1a29dd804 SHA512 71a422a8806fe66f38e10bb8e721bdc861f327eae03226b7dbef101e2b640b8951ea88c351a638408d33026326b3d3c16c620e5162c25201442ba3eeb30e604f
DIST plexapi-4.18.0.gh.tar.gz 22533864 BLAKE2B e541fecee9436af331b89c076fcd4fe215e843e9a5d308ce9dce3b462cd994d996aebb9b971ee0cc0ff60d92ad1dd9d3ae0d618f686d9ff43c1a21ac69de3d5d SHA512 613f75372e8ebee0b6a2f9bebaf152b12c72a696c4eeb7cd8198360cd2271549e1fe608580c9024b059cb2aa8c7c2cea52c64b4176f0e9aff56c434595f88457
+DIST plexapi-4.18.1.gh.tar.gz 22535737 BLAKE2B 89aec2408127ad13ca393523956dc9f8f50cf9f0237d898f5139e366d4f3dec57011c2f69edf861ba2f3c0553f5c4e59d6c063e1bf67491cf7d5065177227d84 SHA512 f6503db98ce09dd29beb2e11333f5a17e9bcfa44f247b57ed3ec04795b45713247c64052cf41fb06cd3e696db1f6e253ce9a347f1b6e19ba0b58a155be79b658
diff --git a/dev-python/plexapi/plexapi-4.18.1.ebuild b/dev-python/plexapi/plexapi-4.18.1.ebuild
new file mode 100644
index 000000000000..0618f8abb0c6
--- /dev/null
+++ b/dev-python/plexapi/plexapi-4.18.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# left here in case we switch to pypi
+PYPI_PN="PlexAPI"
+PYPI_NO_NORMALIZE=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the Plex API."
+HOMEPAGE="
+ https://pypi.org/project/PlexAPI/
+ https://github.com/pkkid/python-plexapi
+"
+
+# pypi release don't have docs
+SRC_URI="https://github.com/pkkid/python-plexapi/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+S="${WORKDIR}/python-${P}"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# almost all tests requires a running server
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="doc? ( dev-python/sphinx-rtd-theme )"
+
+distutils_enable_sphinx docs
diff --git a/dev-python/py-key-value-aio/Manifest b/dev-python/py-key-value-aio/Manifest
new file mode 100644
index 000000000000..b07d4fa7f76f
--- /dev/null
+++ b/dev-python/py-key-value-aio/Manifest
@@ -0,0 +1 @@
+DIST py-key-value-aio-0.4.4.gh.tar.gz 348367 BLAKE2B 549f6e23c929a6805e305810c7c1791b6658733cb444419fa16c5f60deef5002122d8f73f87d9f1f708981519c07ea336c244297a268927c03f2d7408ee68809 SHA512 1963fd5a66627dc422c275229b76e712a0cb916da9e929999e792b2a925a4ff6fcb3f7bdd6d0dfae1e045d03b417c652169801ec431749baf4ab0eff0ce83c11
diff --git a/dev-python/py-key-value-aio/metadata.xml b/dev-python/py-key-value-aio/metadata.xml
new file mode 100644
index 000000000000..a2cf3f904da1
--- /dev/null
+++ b/dev-python/py-key-value-aio/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/py-key-value-aio/py-key-value-aio-0.4.4.ebuild b/dev-python/py-key-value-aio/py-key-value-aio-0.4.4.ebuild
new file mode 100644
index 000000000000..4a86124e8cb5
--- /dev/null
+++ b/dev-python/py-key-value-aio/py-key-value-aio-0.4.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Async Key-Value Store - A pluggable interface for KV Stores"
+HOMEPAGE="
+ https://github.com/strawgate/py-key-value
+ https://pypi.org/project/py-key-value-aio/
+"
+MY_PN="py-key-value"
+SRC_URI="
+ https://github.com/strawgate/${MY_PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/beartype-0.20.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/aiofile-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/cachetools-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-45.0.0[${PYTHON_USEDEP}]
+ >=dev-python/diskcache-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pathvalidate-3.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.11.9[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=(
+ inline-snapshot
+ pytest-{asyncio,mock,timeout}
+)
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # We can't test most stores due to missing dependencies and/or Docker use
+ tests/stores/aerospike/
+ tests/stores/duckdb/
+ tests/stores/dynamodb/
+ tests/stores/elasticsearch/
+ tests/stores/firestore/
+ tests/stores/keyring/
+ tests/stores/memcached/
+ tests/stores/mongodb/
+ tests/stores/opensearch/
+ tests/stores/postgresql
+ tests/stores/redis/
+ tests/stores/rocksdb/
+ tests/stores/s3/
+ tests/stores/valkey/
+ tests/stores/vault/
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # Disable Docker-dependent tests
+ sed -e '/def should_run_docker_tests() -> bool:/a \ return False' \
+ -e '/def should_skip_docker_tests() -> bool:/a \ return True' \
+ -i "tests/conftest.py" || die
+}
+
+python_test() {
+ epytest -o asyncio_mode=auto --dist=loadfile
+}
+
+pkg_postinst() {
+ optfeature "disk- and file-backed cache" "dev-python/diskcache >=dev-python/pathvalidate-3.3.1"
+ optfeature "encryption wrappers" dev-python/cryptography
+
+ optfeature_header "Install optional key-value store backends:"
+ optfeature "Elasticsearch" "dev-python/elasticsearch dev-python/aiohttp"
+ optfeature "File-tree" "dev-python/aiofile dev-python/anyio"
+ optfeature "system keyring" "dev-python/keyring dev-python/dbus-python"
+ optfeature "memory" dev-python/cachetools
+ optfeature "MongoDB" dev-python/pymongo
+ optfeature "OpenSearch" dev-python/opensearch-py
+ optfeature "PostgreSQL" dev-python/asyncpg
+ optfeature "Pydantic" ">=dev-python/pydantic-2.11.9"
+ optfeature "Redis" dev-python/redis
+ optfeature "HashiCorp Vault" dev-python/hvac
+}
diff --git a/dev-python/pydantic-extra-types/Manifest b/dev-python/pydantic-extra-types/Manifest
index 2b58d84a636a..5401752dd271 100644
--- a/dev-python/pydantic-extra-types/Manifest
+++ b/dev-python/pydantic-extra-types/Manifest
@@ -1 +1,3 @@
DIST pydantic_extra_types-2.10.6.tar.gz 141858 BLAKE2B 23d999682e3c8e76cc27935f4c47da4ddbdbc4cdc3015e86b3b7fb3183f6353ff1faf28b6aa947c55e03b1799f87e3cfa612411bfe4b5b18bfb1ccabed6ba049 SHA512 9e469386e583a1be6ab51fa510cceaef043a40b8c76cbc0d477f7c660bdf779cca1df533c99a76d11b6d84db6735b355ad70526f8dfc03b89ae7844f309c47f7
+DIST pydantic_extra_types-2.11.1.tar.gz 172002 BLAKE2B 1d6a7130f8731e8ba81723a7a98ebb140b4776bc84d90ed31befad724b2df0fa96637747398b6fa671441f0153543e46443251584f698831827ebb25580ad67d SHA512 2903f9406757e121fedff13f323c105d0ee5098454925119c2b5da35819621ad6003c837b4ae908298a0b0b785347d27b891b78c9746834466c48e447bad5d14
+DIST pydantic_extra_types-2.11.1.tar.gz.provenance 9691 BLAKE2B dd684d242463d78f9560488b693e2679feca2c0fd7d88cdf77b15c4ba0cc841f4c602710205ed3af2e859b8ce3fdf9fc0a56d76279e15bc533a54b981891b212 SHA512 e512b0f527c174561c3215544be65f11979d4632bef8899636df0688d235ebbed2090cb6321a6281423b79cfa2a8c0ef903581b27a2ff37ce7d58c51f56aae12
diff --git a/dev-python/pydantic-extra-types/pydantic-extra-types-2.11.1.ebuild b/dev-python/pydantic-extra-types/pydantic-extra-types-2.11.1.ebuild
new file mode 100644
index 000000000000..d971a79841be
--- /dev/null
+++ b/dev-python/pydantic-extra-types/pydantic-extra-types-2.11.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2025-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} )
+PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic-extra-types
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Extra Pydantic types"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-extra-types/
+ https://pypi.org/project/pydantic-extra-types/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pydantic-2.5.2[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/phonenumbers[${PYTHON_USEDEP}]
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ dev-python/semver[${PYTHON_USEDEP}]
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/uuid-utils[${PYTHON_USEDEP}]
+ ' python3_{12..13})
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Requires unpackaged cron-converter
+ tests/test_cron.py
+ tests/test_json_schema.py
+ # Requires unpackaged pendulum
+ tests/test_pendulum_dt.py
+ # Requires unpackaged python-ulid
+ tests/test_ulid.py
+)
+
+EPYTEST_DESELECT=(
+ # https://github.com/pydantic/pydantic-extra-types/issues/346
+ tests/test_coordinate.py::test_json_schema
+)
+
+pkg_postinst() {
+ optfeature_header "Optional type support"
+ optfeature "PhoneNumber" dev-python/phonenumbers
+ optfeature "language_code" dev-python/pycountry
+ optfeature "semantic_version" dev-python/semver
+ # optfeature "ulid" python-ulid
+ # optfeature "pendulum_dt" pendulum
+ optfeature "mongo_object_id" dev-python/pymongo
+ # optfeature "cron" cron-converter
+}
diff --git a/dev-python/pylsqpack/pylsqpack-0.3.24.ebuild b/dev-python/pylsqpack/pylsqpack-0.3.24.ebuild
index 2371e9bf3ef1..d94389d972f9 100644
--- a/dev-python/pylsqpack/pylsqpack-0.3.24.ebuild
+++ b/dev-python/pylsqpack/pylsqpack-0.3.24.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
DEPEND="
dev-libs/ls-qpack:=
diff --git a/dev-python/pyrefly/Manifest b/dev-python/pyrefly/Manifest
index 6be27caf45a2..f7bced2d6bc1 100644
--- a/dev-python/pyrefly/Manifest
+++ b/dev-python/pyrefly/Manifest
@@ -8,8 +8,11 @@ DIST allocative_derive-0.3.3.crate 3896 BLAKE2B 9b1ea737b1343fbfcc27cbe43f587424
DIST allocator-api2-0.2.21.crate 63622 BLAKE2B 983897fc977118f220dc4af7e801ac08eba77bfde2a25d756bad3e77f849418e74e7c67eaed68e2d719ca7fc6e1e9ce151dd7dbe8707dc43d4a6400294c8fc8e SHA512 1bb5711ed6041b0d7eae2ec784b8aa9d215db0f49cf79c692946eeb0db545d358cbcaa8156ae34e51d05287c08574f1da251ee574f2392949e4ed26d04770d03
DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
DIST anstream-0.6.21.crate 29516 BLAKE2B ddab9728a4824b1682a84339e2c5212904fcf878867c8ed7604ce045d4ba6bae0f129e73968e20d58a9b2e297ad1b6ddd5557907d3b6ae9253e3127ea901d40b SHA512 909059510b778f606df779d5f8ee69cf721072e81f933eb5f5fddaa4d1586a0040ba7456165d5db16c812dd654c2dda6b929ccb997310b507f1b79846ca1f402
+DIST anstream-1.0.0.crate 28916 BLAKE2B a9198a66bd3821349f83d7837ba7546a12a74a6f57e179e480bd6bf4a75848a45dac9a19a27c5e2cf01520c7e917d380b21ec16e4485f69bebe112383ba273f2 SHA512 36bf11821e8bc23607a54842b47950782806ebc7a56233e3c458345d79986745f6ba878e39964ed41404eb5be58f78d0bbcdceeb86d523ba40eedd15f7e1f29d
DIST anstyle-1.0.13.crate 17651 BLAKE2B 026d4163f4bc8d1677d0830dbe46fd335d18e50420d2d809a675609c1e020f7e3c5e69b8d0a7baf5f42fa2321b6230c619a93aaf8e02ceaef638f8006dbf479b SHA512 1a92c4bf6ff7262c0f5fe72ff66eaf11f0c84e84a06746767918903c0416ba5d33ac54ff9a2c6cde37e26bb2287675d3f0a8a7efa95eb013c9be388b8139661e
+DIST anstyle-1.0.14.crate 17787 BLAKE2B ebb3b3986c06628ebfe71665216de68f123840093013fa16c030c25e22ff0731cdcd7161737635c532d45ad0307a1b7f951859a40dbe1c812b3e905550b33b90 SHA512 2e7bbaf0794d209f0f19fb8709214c1b1109c27e14d91a8adc232a9bdfe76e653b2b86e341d71f63903e034c81f6ed63ffe7f123f6d631c0f8d41b56d70037b9
DIST anstyle-parse-0.2.0.crate 24361 BLAKE2B f796ddf1af04c93d7ee2721731e5cd22bb941919940a9edf6b2a658a8c39e87bd801bfd989631d64e9061067f7349796c56009ec61c02d754748181cc4d91a62 SHA512 fbac25189a0f4c0ddf2733c8ff74bdc2dc1a35e522d0201fa48f0f45e1d5d0a42e4806178507d0bc6a2ac22978b813eae5d57f09dddc80582de524690d87147f
+DIST anstyle-parse-1.0.0.crate 22042 BLAKE2B 418cb53754b325354a76d75cd73652d2e41408911bcfbadf91f668e7d6942d92ae3c379194f1d38bc6aa26a9ad98c92801213ffddf544fd2ce29a1180179a8c4 SHA512 4394616b0aa7a591eb9b9bb758abd2f067a3fe673b060c02857f6d2210a2276c476f32512aa59aee6c5383e3261f2654058ff619d957bee93d62540e10d81085
DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a
DIST anstyle-wincon-3.0.7.crate 12400 BLAKE2B 2023529aa12ebe1b7073a88180ac7491fbba7e8556ba20061bec22b1db9d0f3da058faa5bd7f499d8e5da18422dec7e7648f3b4acd7b4a2d2064824f1b881259 SHA512 782440c1093235ad481f0b854f5a3d3acb7908d2e5ddbd4143139b8bfd0faaf2f9816c1034e760d9261a233e6d645098cd5a594064f190662908eaf79972c903
DIST anyhow-1.0.102.crate 48658 BLAKE2B d9c7b7c50b7319be0e67bb236e0420a67e3fd6d6f4bd53a84cafc7a5385785275151832be472c0063405e6d458b5add3907b670ba5e300e08efaae699ab77c44 SHA512 18064a92b6d577151b6f1be3df0985fdefdc5f7089ac0aa9bc92a2034c780eac5b71b8fbb260217aea122bee7c950ff00abf4b6d8f4143dff889b7164c7d6f0b
@@ -33,14 +36,18 @@ DIST bstr-1.12.1.crate 354916 BLAKE2B 07b8e047c7a115d7d722ef57a37c5ac1e7ddba080e
DIST bumpalo-3.20.2.crate 97696 BLAKE2B 0c744cb37279ca82e4c2a60be64c63e61c8290c9ff904c4a2ffd0e23f9ba96b1d63a30cce83fc757cbd40364bbe5e410da024c04cd9481f33831cfacc2133156 SHA512 4c725a4eb436fc9b3302430f5bec699563bed4b6a86c187defba9a83b749089eb6b00a6855afa4d42ac5eb324088eada3c0713f3e8c2d1c85bea4dcca83a4a60
DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
DIST bytes-1.11.1.crate 78584 BLAKE2B 4985426ff626d880a0da3d592ba48d697c88a83f48177e2b7380cb55e736a43f3cdf662d99cf0908b599aa8eccfebff2910405559e490b71adcf3f078673cd72 SHA512 7933d18c1a2c1496add2c7193e92c3aa17029c530b7031604ccb7c77c68903f53cf7d41396448b32bdd4f540fef4b37564972dac7b225e6e2ca99cd61179a6ab
+DIST capnp-0.25.2.crate 149725 BLAKE2B 72d2eeff9cfe80d3f96aee4960db260636d374e7f6a86e5145a79cf12cff0cb26ae694100ec714a132daa47e1595609e9f03b100575e36213f4d0c4ed098668a SHA512 2b44b8df376ab791fa07ed26e8ee4b0aa72c297dcdd699b3b6848ed6a1edf1cb4e8c8392159f4d6703fa0476eef720dac09001b90a991cab6c1bc7ba6fae14fd
DIST castaway-0.2.4.crate 12546 BLAKE2B 22f5199928387778df87086aa786bb25b79e77040d7408b601a2c5d07968ea79c018d3c69b3dbb6a785edbecab000621d5921b69d628ab6b3a9ce43c79615d51 SHA512 15b88016bbeae50146401607549b077b329c9bbae25768536360a964bd5c3b598feedce0365ca4b2662c7b94081062fc469f6a1049fc38187d79daac77b20481
-DIST cc-1.2.56.crate 96059 BLAKE2B 15d2be0039758c408fbf14099c7d7170c789e01451b3ab17bc8d7c99db0e1777a1525815224ed0eb5f7cd466ae16b15a72e9bc566df81056e2f572f274c9f762 SHA512 4969d59f6de39bb2b4a0f56f4a25b34e0023cae4856a4e9d046b807e81dbc95397b97f1cdff69b8ce770842f587af19f692a5fe160f7cfedd0cedc0efd558962
DIST cc-1.2.57.crate 96188 BLAKE2B cc59c45170f146e45569b36b96cb037b737f6e93640ef9adbf423fb6f61fc07a0e48efc6e53a8536f91210c95971b15d93e5b8544ff5996b14902f181ff39c97 SHA512 9bcf7aaa2791ef9d2054fd93489a019c4a77c3376495bde01468dccf9ec81701061467372adcd3759f6d4ae962ac108199544860a4d3c5de7595bf28fe76c187
DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
+DIST chacha20-0.10.0.crate 38763 BLAKE2B 84d3d12379495b724b33accdbafe0209d0ddfeec74115b59228fb03e02089f1531f1396783a408b26cfb90372670c809bee8ab056cc847102cfc92ea065656aa SHA512 97e50d8e16118070ec75c086bae3695513b63c2ad3c5d43e3fb57892f21c9634977bc506c0c094aeb61bc8864518cee3eabf6b81504128ab0a876b2f6860b43a
DIST chrono-0.4.44.crate 240549 BLAKE2B 7d3d1763ded8808a7402541513d00241c444b5b0503e144b568d2c0dc185ed20111163340a3895f30dc38864206a03d129840ed9a2841760dbcd5be26511c7e6 SHA512 0b1a83885724e9180e71ee9fed146d070d88620d46b74970a67f4af04f583dddc0285e7d09574b99507786568ac7fb3f06a5dfbd25c51490c8d444c145bdee21
DIST clap-4.5.60.crate 62002 BLAKE2B f9efd2547c97e942fb8ece20bd357372401cba0a343b7683c8b4eee2ab0513687c39ced3faf64918ea948a66cfe88374ffee0fe3e7ffe4f58a3e9efb77607ac0 SHA512 04cdd8503ea322b41d574bc700bb8be24fd930b28a5281899ad7e8f5d3fe65c3f671a639b8ec88070523abada843c78fc7c9ec784a8eeab54a1c7efced120234
+DIST clap-4.6.0.crate 62930 BLAKE2B f184cfb0d40adef5d0b4ee0370208bdeb6587b9dfd1b37f71a577cfdf77101100b4c47809ceecf946a855455ab836273aa6b8bb6570d0c126a82754f16bd95ba SHA512 bc5641690f0a0ed2b660836590174641e568be3d2b92d5dc91a82581fdef0543640190fc3c8ffe765f0245a88c0f9809d4e136af156a3d480a680da28e8ae5f6
DIST clap_builder-4.5.60.crate 171105 BLAKE2B 590ea4bf09e10ad71cc1936a6232903d81866144fe9c1977518c9966b3c91b0991677dcc40d5a262f903b1f39d8cd79f5dbe1d0149c4e17c5bdc6b312b14e4bd SHA512 6414a9d8a8d7c1d5923941e0d375df1a4c7ff8ebabf5bc83cee4ec1e5b502471c95701865f523de7706778b7eed844183d9e0097f84124b5147ff44d2e9b55ed
+DIST clap_builder-4.6.0.crate 171122 BLAKE2B 0a6ac216ceee45625500379640f9306015f749c377d14c6c9538fab7988da89b39e260bf8736d7ca055c6db32613fa7a9e73f325fc496d7521ba3453c8558348 SHA512 43b26377a8f15d29f8fdc9ada914888d87111084c5e205308d166789a27d91c2d8db6756b24d48ef8a293c92ca4c27dbf5433db21e336b2116d51377116fabd7
DIST clap_derive-4.5.55.crate 33502 BLAKE2B 3dcd1ef61a9d874dff8e4e337d3447caa05d3155bdbb9f1cb6de0e5a4349b88ea4b7b33316e68b798631c2c3351a7caf97d9b13b37a0c06c8bd5b4b3fb1348d8 SHA512 443bf32b68076a164c00222b7d5fb5cd14ad9f1a7eb417ca9fcd7d6fd49e7cbfb97ac8e74e0e72bbf78a862c1fb6a27e1021d2ae9d9ca03c11b530682e2b0b64
+DIST clap_derive-4.6.0.crate 33435 BLAKE2B 93fef598637bc3674a7682f724412d5b515c3d219fe4d7e854dbb47864be598046e84c025a5245add4e9431b305d232e6207806cd87aff72cb3552c490426aa6 SHA512 4b642e4bda3af45b21fda189094f73b295c6890f2af533e1541be0df8669d1c7d8256a88dfd47f488ea6adab65012a213521d52dd902f9f11fd3b776923da1c7
DIST clap_lex-1.0.0.crate 13466 BLAKE2B 9a29422e6723fbb76131ce7ca970418200b4ce9bb84936f156e416c96aca25aba7d9982af70f7fdb696a28011463e09a4cbc00df7141e1a6bfb5236178309ca1 SHA512 2e65fdfd8a7310f43c333efb41b18818bd79dc83bf192eeb53f0ab524b500c0660280186308960a0b5b724092319f9325bb92b0b63738fcaea7b932d0d7e3887
DIST codespan-reporting-0.12.0.crate 55796 BLAKE2B 67ecdcb02accc9a65d6706ea632248404fc0cfd6fff8adf633cf4923f5b6382043d9fd1ec77e3e2f3b75420239add7925670bef72d18269e664e6a8d2539123b SHA512 73d3835dc25b4a4088416c2b74aa22c04dfd14bfb9fd85a1f2b22fed8acef284437b2eccef0098b593ad082df65d6a66aa5852c4d81a9df33718a81be56d8d09
DIST collection_literals-1.0.2.crate 3928 BLAKE2B f4b7a629b4fa99a695b3f748f7e159d6fcee7a82180f836e225fa7a3933039525dd19959d2fa32f99c5e1435296a48cf7c517cec8d56374a37e6231d3b92de81 SHA512 41a6d78e09cc3682ac382779e6713dc54c103be514df8622942d12d0b37471711475ceeb652d9ca5c15801b94624379ed6073bf36c3fc74a5d255a9fee2635d0
@@ -55,6 +62,7 @@ DIST constant_time_eq-0.3.1.crate 11561 BLAKE2B 9ac06a1b13da2aacfaa20d60e48df4f3
DIST convert_case-0.11.0.crate 31545 BLAKE2B fbf81dfcd98e0f4aba44a144099d707ea4f312f087dabe14152cc9ce285463bb3599a1b4f8365498c63521011fc880241fede0457de097194b083bcbafbbb906 SHA512 6775a77a4ce8b74dd8eb60a5f63f0e4e70446f64ea920872929c4d50de8516ab2c6de3470932c1613f895ae7303c527cae9b2dfbf6731072113fea95e01a6137
DIST core-foundation-sys-0.8.7.crate 37712 BLAKE2B 0e1dd99a5bbb0fe92f55181a37426f6e86445cb20e355f553b3162c88ccc075644461731a0cdcd93dcca65b6cef1de62b409afbd73ba3070a199ab8e7422dcfa SHA512 17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a
DIST cpufeatures-0.2.17.crate 13466 BLAKE2B c6392b635542a6fe29958fabe7ce725354a31e24f6f144718553218247881013f56659d2efc671d47394294373db2d4ff8f45c7cb520ac22f2ee5c462858a1dc SHA512 9ae64656a21cfdd0528d87ba95f6213860bf72ccdf866019e65ed6662633e73490f92c42c80125559b3dbb7822090b5faa8ea564c562e04041232809ec2f58a2
+DIST cpufeatures-0.3.0.crate 14156 BLAKE2B 9408d9b8f314a21702bde22f272d47263ef06e8f6fac116edb2464109ae2ff0d10b9d4f54d465bb6c55bea5722326bb8ee541352e6f5e03116a449930fa8375a SHA512 a842c5e7fe435c4339ba0e12169bcf1a2c2ebf4b0d02cf200f91d88a736607a930ba840a7db6a71afc6b125649a9f14ce0977599db917ee78880ec1ed9600f88
DIST crossbeam-channel-0.5.15.crate 92716 BLAKE2B 089f85b11078942328f89f74faf39597e08b221c142a7f06859a65ca4f3c73f13d077e49d8d709a7a5cc0cc205e3f614a457bb6bdb2b48151f66edc9a4699ede SHA512 b5174329fbdb2a742992b3450a6b11e4330e1d542132acd22d0aebaf49332aad8ceb6eb4e52ccaf8617eb02f191f881b011e5521098082919672f06ac70a4e5b
DIST crossbeam-deque-0.8.6.crate 22471 BLAKE2B 02b854df171b0430ca8a40349674ff251698d0c322c317055da8678da6661730c945d86737fa4947c3bd824ffe402271ee2f77fd6a505d2d46b4a41454c510c8 SHA512 9368c0c224c4b84356f1d422d8869a5ab4bfb36b0ff69244a9e7a7304ed51f034001cd9b2bc35849df874d36ed34285c66574943573522ea32bbdc5a05df6989
DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
@@ -63,8 +71,11 @@ DIST crypto-common-0.1.7.crate 9619 BLAKE2B b9a31ed6f3f06e0709e7c5a86a146018c9ef
DIST ctor-0.1.26.crate 10803 BLAKE2B 93627949b92651243b7a763d3d45a22fafcf2147a30661c4cc017e222bfc2bc12b4071054e3079adc431fc8a5dd8b86a8d11c53c401be6db846a3d0d2076b9b5 SHA512 3a3d60c976ec02a9edfe04470af4b04b02601c48e2a007393cedfef5c13e22bca58630e9e885e635a71aabc3e0ad8fb70995876551cdbc6a31029d8d2bc2e86d
DIST cxx-870ebbecad0f6be394d4f9fb9bd62b551662651a.gh.tar.gz 364301 BLAKE2B 5689a2002dbd47d6b088e91c02dcbb530a06ae61076cedfed8fa0d7d65755a9b43c04761ace08d2824a03850fb9ef0e25e35239006101accce1c4b3cbed18594 SHA512 8c46ec72c5a8527728b4796dc180347928842afdc5f791512413f23cc42f3970adf00b9533c7affde79693cdb44d311086213f47c5b223056e108d80d79b8a44
DIST darling-0.21.3.crate 41398 BLAKE2B 5463e73cd01aff3b3b6f650660b7816e5f83c1fd94b33e13d814ed74205a4ff65c91515d3d8532e7d49260bcd5d25391338476947c891ab072cf9f19eef562e5 SHA512 d28b9a6d63b09aca5448a9b39e9f41a4418d93023885715feefd913519b4bb1df32e85edebcc9b59d2e1b55d87052dacbd01e7b42d7b4ce5b02fe4de46345094
+DIST darling-0.23.0.crate 43298 BLAKE2B a207ed640665664402ee07eda679af83e498c3de79a9e41c3fe1fec4b28071ba52acdb1f790d46b6c6c1744da96991c14f96002cf149e080a4982d5a74280b9e SHA512 6257756befa2e6a8b17ee21d64e8430071bfd1e8f72c680f67b3c15934e726ec24e30da37fcb5ea4f4b3d925f81cf4ea22d6c85788f101090b32d95f08bdb2e5
DIST darling_core-0.21.3.crate 74471 BLAKE2B 0464ba180045fa21dee8b3a793950b0ee5526d8cf80d149233f37fdcf1af38513bfb0915abe3dc292acf4f7889053fd345aaa6c0f8f814a009f867c73bbd1fd7 SHA512 585c872de6e24719d09d7ff9031980ff393a0db363913f2ed5848ec2680ca31501b82ba6aff42d4e276e502715de1dc7bf9c75ccc446e0c5a3f428e23bf62c65
+DIST darling_core-0.23.0.crate 74564 BLAKE2B cb5d45b08fa8927d91f113a37a8eb77f632713e3feaa629d37a6a0fd20112a202bb8ad574a096f0ba7b3b870e7a9982c86641e1cb4f9e33fcee59a65524b5406 SHA512 52ac3dac977b7f1cbdc3c0ee545356495216af6d8a4f179cbb51c8bc80253cf028bd9b624b6f42d6354d913e7fc5ea980234aa2ccf383c8779ca70fde72591a9
DIST darling_macro-0.21.3.crate 2535 BLAKE2B b93c6b9bd45643f858595320a28886d11940a13fe30f3f0df61828c01d44896a7a59aaab32ccccf0b4121a3b333f7ea818b519ccf623f48fca0111fccabceb50 SHA512 1931eb12cf86c6a66de874fc460ce086f7f970c7b45927057019f2a8c7fec66b3d5f6ed0b49412884c44d9c98515d71f41caa134f494f358923be1d00076553f
+DIST darling_macro-0.23.0.crate 2480 BLAKE2B e81f6bb801e5fabf71fbaf966735e5388023f75e12b8f9bd32e2cd49608ce05625849ecea54db3d682a9d091f8f0348dd60777c316c91af5186aeb0b97e4cf1b SHA512 f6565876c9846b1295be23eda6decbba817c64c3e2ba56fb0009c2acb68d542481dbb033b0e753dfb1eb967f24f87b781869c8bd5018a7789066229a4919c8c3
DIST dashmap-5.5.3.crate 24061 BLAKE2B 2bdd62f674e90007a81b76419dd5df1b58c3d9b80bed4324d9e0298355cd66706794c7187c74bd9a6ce119d81ba9400c47aa2729ec923979b0bc081329051e71 SHA512 15079a921d768224defebdf8d5339257c9e94a46d115b37ddfca8eb83718b2448555a8982bcf0381a915d292aff9d271a89d3398d2ae2f396dd581cc6883963a
DIST deranged-0.5.5.crate 24438 BLAKE2B e0e825fdae479fbfb057fa084882eb58836490b5158205d55b4adb593882fe70f10f9b1b6c2ebd3ab6a61673dbb3a56e4f5af32b154c645fff3b53a814e5e648 SHA512 c19b716727b904f1c3dcf4e0b5489ca3a7540925f2c633f827ce6fff7a2649bc22835b433fc06376dfd0fed48b232f70aa23b24fd0e834692f96f1d6a319f266
DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da
@@ -76,6 +87,7 @@ DIST dupe-0.9.1.crate 7525 BLAKE2B f9fb29cbd60b567cea5cc25fbde452ed5e05da2f1153e
DIST dupe_derive-0.9.1.crate 7574 BLAKE2B 1948bd4c168f3ebb6206346804a51ec2d77526c22833bc13ed9eb2f808526bd9ff0379c291150ec3bd5b2e20cb7f872de704f48f1c69c409d400350483f67bd3 SHA512 92019c5248d13340abf8068ae242bf910ade376d2a944c6df6b3bdf4ab7b275764e23d49a43f2a27dda37cede97be9ccacc811bf2b6f3923e818e628c5879f69
DIST dyn-clone-1.0.20.crate 13134 BLAKE2B 986c424a38fb634eaefc546a25ecd927872573647a139dd6750b5c1005d9e0ab349b47d10991a9cce51b6c457150500808c7a1af569a8cf1911525ba8c1429a0 SHA512 5910c39f1ce031fb89d4974530a60b66848038e2f2bc78bdb3d34e6f40075fb4457b8a604309bedc4012fa46b17212e81dfb376cc6b45fa2dee823a86264690f
DIST either-1.15.0.crate 20114 BLAKE2B 2f87cb6408b1e1a15ea19d930cfca3948d867d268c8ff18cbaf39dcb7f7fdc628811575ec87a7728940dfb2c26775995a3165ab9c17dd42880d56569b22c6f88 SHA512 d70c34d903e8e5088fd065a6da6673eadb569a20af183fa9bd6418940b37c8c2a777c44dbdab1b9960890cba5cb7464b805667ac42f4e05499ddcd4277d24e3f
+DIST embedded-io-0.7.1.crate 16035 BLAKE2B 89f2b5835a7bd72f77710cbbfccb4590707afe3697e8041286dc6b7cb17abb6ff57e47f3ad7cdd30b0ace055832a57d9a996809a8c726d13efd24559ef9a5654 SHA512 38a30eb258aa0f10b059a295b12ac7ff1121118b5b33e81a476ac6314e4434be9d5a83e70e8464bd120521e1c62c17ebb1c989b4dc8ef04018d3d3678c9a6a34
DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359
DIST enum-iterator-2.3.0.crate 8386 BLAKE2B d3f4de58af412f264faa6d04a3d86265758eb388879058727121694a076f4c448cbb0a9e3de97369c34fbf7115d6f29ebb03b049d273dc0f68eeebb7c3c5f2ce SHA512 7d3db7adfa53603f51cae0d8e8faa5323d5ed18aabe1b52bff2a67065cc087896fb6cb1a70689a3050d847e5ed5bf01e290be009adccea6a4b91df930988f8d6
DIST enum-iterator-derive-1.5.0.crate 6630 BLAKE2B 81339a5994f62124161bce18359edef9d5bfa01810336933d4e05dd93fce225a789829fc3caa8805afc97ea8bf589ade04948305acb36843001773b81cec287b SHA512 55b8e847851322c4df6fc93572b8be0825a7b0c5c8f874430c5ef5005856323a479e7f259b9c7d27aefaffe00c210237e0675a93cb3f052cc82ac06b6bd232b7
@@ -120,6 +132,7 @@ DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
DIST home-0.5.11.crate 9926 BLAKE2B d9c0d3660aa7784f3a26f3930a5ee35dd50cd15b7e252d930240ff9bcb70fdb0169f78c02b5fd82318af8c398d7139be18d2e9675a1b85c7845c90266945da1f SHA512 cd107c4cee793b6db8b29157c3aa2629b5ef1b9fe129fd903fe414faadfa06a881a1b685f1c66fa5aa1deefd3013a210603c952bfa4bf02d5d1f90f75ba9ff18
+DIST home-0.5.12.crate 9445 BLAKE2B 22790e93236af05957848cb61a2526da2b70177ec7386cb14c10427a932639e03b7dda04f988cd738de341278bf4bd1389ff0ba722fa25bd17b8888a8774eb75 SHA512 3397947c3dc44749075b3076cd038936993b5755180b8190ea45c31b7ddd1701a14a4fb36c07adc7010a171b750f1a1ccd82c83640d42d350e996ff56c311df5
DIST human_bytes-0.4.3.crate 5654 BLAKE2B 5054137704a827ad43bae10253706010a7a44d335ac925800a149fb1f788ea14ea049b63e38651f1dffc744e32e3dd8dcac7ec58c336d07a0df95aaace593338 SHA512 329586e679f1322d90a034ae4f3038bce0e422342bf7414fbfac3449c3672589e7a9dc509464c4eafdd90ea45ea263ddaa64c0e476d9ef3abbe77c7560065070
DIST iana-time-zone-0.1.65.crate 34079 BLAKE2B 4d84dd4655dd42ed9cf49ed8d93d0ad244f42433faa2894a1f8240a49f65021864e8aadb816d5725984bcd5c1a6e8e1ac210b50751e3af8b3ad2a61421a74e4d SHA512 4443d5a01ef4b10eb27ed8c866ed71619ccb594dee81a0350106f39575b9373c6199d925b92112fdf0aaa20f5d955d09fab1867dc1b4cba2841c713d40cde6d6
DIST iana-time-zone-haiku-0.1.1.crate 7200 BLAKE2B 9e748694423cadd6edebc1daef2aa4126904f5597202874d68066a15580cade77f48f1e6f2a77e17c7de0fae5204ef1262ad5b6f30bd95f4faec77748aa2ae0a SHA512 daa7570aaf5a07c990b07fdc2153b63d947598ed35aa9c35c4773772a6c67997143b120a18ff4c7c13474d296e81a92975ebf5b9aa9d204c1820e9629cb2e369
@@ -143,7 +156,9 @@ DIST indexmap-1.9.2.crate 54627 BLAKE2B dbfa551d33305db06b59d07c1b4bf8d4596a67ff
DIST indexmap-2.13.0.crate 102206 BLAKE2B 7f3d070b645741f5960647f64759840b1941c1e28f61ee04d44d7eba0d8f600949cf139bec5fddb1507e4d5a9e12fb709a16415aa014eaff8f5e87cce41a9394 SHA512 f5efe0010603a3f1da8955f5f97c9a39e4d2c5042c0829c057ad739687d990c100d1276022dec23e7cd70efecceca07ad735693bd8a1b21b507b8892110198ad
DIST indicatif-0.18.4.crate 68731 BLAKE2B 4804334ef2680c3ee0f265edc6cc6699967c63b89365501aa860765db5a5139f9a12bebc8a3c748eac998ef9c26785711b81996c0cbd42d13f8b87f48b641c30 SHA512 6a7484ab982c75c7ddff3846913a74046406b5323af3356bccd51e6fef63bb43ad6ca07cbc6628544cf403b29893a7e095ab096289a6e2f47ca1bbf573a7d78f
DIST inotify-0.11.0.crate 26241 BLAKE2B 9639f8436325544f58fd4db540752826892d943ae52d94ac60652a66fedcb95863076721716f79b3ec27b924b71bbf058b4db7e047c0432b696ca33d24b098bc SHA512 bf1e133e0c3e9e4c31121b24163e5050a76408540235b9b0e9a9644871cc55aa922ccc48799f2f766a3c869ec7f9a1b2275cd8a19f33c47508dd7d061361158c
+DIST inotify-0.11.1.crate 29364 BLAKE2B 7dc7ea128e8b149c2cbcf60fbf1178ad2486a1275de6207e67b3ef3b15f94ede55274ec454d3ad8c41fe4166f5e97f185849296db7a7c4b1bc116aff68eae5eb SHA512 263838a8f53e2e45d1edaa176aa580b774c62284e5f19daf66fe56c3c1766cf0c9361172a002bf7f71c7932bf5088cdbff88c203900be615abaf83ee2fa1f4e9
DIST inotify-sys-0.1.3.crate 8327 BLAKE2B 964a7c49f16ac6b31bdb22085569e368063141962ef347c4924aba17ce4d4f99d79e7054f1530bee60bd0c99004816cd2ada19808e65b52ec367438d824e5050 SHA512 82ce82277ef2ef05888aae3a997461515d340c7286daefa4f54f7942fcdcbd1e29fbc60907ecdbcb00139db36462fb3c21ce64b9add2b785826adfaa54216a66
+DIST inotify-sys-0.1.5.crate 6965 BLAKE2B d70124656ce3e6f5ea3f430e8e7100d0691003161234b40542ca86c407ecaac1785f3eca98e9fd2914dababbc3f47a0855c99c9f19245d1f2cd5312739c802af SHA512 dae749f32c533b0c9f99963d97a77dcbfcacf173ec8fd7a02f275804f9925e867b4dfdf6be52c3c3c3de136d64e6e7d6b30a3bf804a01608cf974b0cc2e346da
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
DIST interpolator-0.5.0.crate 29578 BLAKE2B 2c6522b4c0affb8cfd72927088eca1e2a533ff71ffad5bb335491ed5035ff1c42273ebe17eca48dad802c34691d328c46cc7f464ab43fed17409c8c2e0ac5dd0 SHA512 4e7cf0c077d2b7079113d5002d0157be3b801f72baca32f0255de7d8ad5d9ad5171d429e084a2760f8174ec2dd4463c50efea340cb5660a50c191e219919f8dc
DIST is-macro-0.3.6.crate 9068 BLAKE2B f71d613cff0fd7364b82ee5e411ec8f8e0a1c68e98e78c3689eceefc9cb356fdf7079ee3e3fa301aa5b6f63a4c8b4745c74f0be03579d8498d8aec8b1cf929b9 SHA512 d803f8efad46572de59da406c508aa538733ae454919a7f6885e65d5c014982036b0bbea33314f07743ac1e0db188b76c28056e03993f3e95b22992e18cb9727
@@ -154,13 +169,14 @@ DIST itertools-0.14.0.crate 152715 BLAKE2B 3c075b735a6ae4b66980b1f7ca0ccf4237286
DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e
DIST itoa-1.0.17.crate 15905 BLAKE2B 105796a6438bfccbb4676cc0beefd89abb05dedf077794dae48dcebd63cc745bfa4664c0eaf7bacaf989ea9051c98703e7ce85683f5c8c234fd1639c391aa3fb SHA512 4f1b09fd0152a8c837c40045c46779c992b8b5a4737565b8ce3a92bf2fb884bc6609bc597c2b54c33855bd108311adf46471b5ed5ff7ce32549b8c72c8119c04
DIST jobserver-0.1.33.crate 29136 BLAKE2B 10b9862757e919a91e8921674380899b7272840c08e45cdfce7ecc43d70e1acf497e42f3cea903145d26dd0954f05b593506f72796f90a61af49eb9c4265aa7b SHA512 65ee462bfaa1fe75c32948a943d448ac8b435370cb277ae7fec9d23c93463d68cdcd839a3248e2e804bfc0278d4b1b943f4d77165385c4d9b82543bc5932d51b
-DIST js-sys-0.3.85.crate 56436 BLAKE2B a5c35cde1d01b7e5eac3bf59f360e9f8b418009a3b30c81af850a181f14596fca25a4cacec213844b4d59f9ac21e154531700f223fc6e3a22047a5f43833c6e9 SHA512 dc7361feebd63457e0e3aafac86653297994004bc61b3734d1b9ffd05312c2c9b2a2708ad07ad469b326811598925b7f07e49fce2e7c611c8138210bd70fecae
+DIST jobserver-0.1.34.crate 29013 BLAKE2B 4d89234147386d61e8402872e577c52c60fba41b21831acbc6934ec7668b22dd9b876cf78180f5a06b2b26b642a0d7e02c9a67dc36ae7d3aa3b95125dec3d7de SHA512 42fe03eaa4caac030c40b167c742aa104151a126505de9ff4c52ab97ac13cdd2b7219268bff414f1d09061f3f9e36be01bdd6255597b957e18589f9ef4a65549
DIST js-sys-0.3.91.crate 91416 BLAKE2B aff59394a2c7080c80fdac5683155a4cfc191eaf86b221dd49323540800a8c29c940b8d8f0729a9e0566652be800df63525cc09b8cdfb0192f915af92b4a8591 SHA512 526a53a373a964d04441cd918dd2af75c6dfbfd181d8847fec4442db2624ffce817e91fb5ad56d1e79dc5e8f120a8219d4deb2c625ddd93bcc767844ef978c45
DIST kqueue-1.1.1.crate 21504 BLAKE2B 3397a355b56d979371f3a790ca6de4880ee1cb78c6fd9ec85766e1bb5ccc25f811f7065a31dc14b0b4686de4bb1902c2e2c3026719ecb923e3bda553998d187d SHA512 08ca26fd83c4aca32d53d85155580fac95b50709662975632aa542cb1e8a2ea5f8cc0f628194777093168a9950d485fb395bb55e7302dd25d03bd311e8ac84aa
DIST kqueue-sys-1.0.4.crate 7160 BLAKE2B d75e152cfccbdf7ae000be14e0f84c6d1fd07290fe498349a8715061a83d8c02011b59578db2c451de011ac3eb4b218aeea73963a2a5cd82e7f5f49de0779632 SHA512 6650aef7efd7fbf4f9b6c8c6e4c1a91b79636423d46a0173dcb99de74e6f277cb02ada01cb62aa71c3f174a2c28db62a708b0aada9480fc5bde613204acb30a5
DIST lazy_static-1.5.0.crate 14025 BLAKE2B df29e0e3d1c061815bdd608b41074436024dc407d454f32517705ab04b2fe06075e310086c5e4961df0b4885e91021589d0bca2c1cbe6f0aeffa3ff1b3fd4637 SHA512 6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f
DIST leb128fmt-0.1.0.crate 14138 BLAKE2B 6353a2520bb93e0a3cfaade09ffbd8cf981d2cf75579e865941f3fea0dc745c54472b369873b1ef4f26dd7f356860e563bc7ca6e7615d600b272c698a55e54eb SHA512 82fbc7f0786185453fbf11fb3ae58e71fce9780f81eb6a56d7b559e3a0c6825751dd8b64f1266aab73fe65f7483a206e42f31ee1a1b7b1801246c6dc9c2ea817
DIST libc-0.2.182.crate 814873 BLAKE2B a5fae27ee77495d8638297523d7428eda4a608109e7e1b67db1ba621f7700761f8131710a49bbd24bedf62f8df7ecdeaedb5def47201146a05b4288ee2f92515 SHA512 7923eeb0ee1db8b5b00a6a4352cf5fd3f877a2f727af5857ca49ceeab2dc7519137eb3a982f5a763ae61fbe422ba8f0fe83d92dcabcfa18c23fae619960f96db
+DIST libc-0.2.183.crate 816918 BLAKE2B d0c26ca25b0808575aa540a5f0f43acaaa5a972269c5f101122538a1733b37b6aac3696a0d7298fe16974b06efb0b92072252eef40b17b977af24cc857963daf SHA512 017986d4fa8c362f8900c1c82c7381066382a7272cfe114243b8d47637d042c87b5ebef7881cf46727e00e541a0a8270a32db694ce8d78372672cf08224a90b2
DIST libmimalloc-sys-0.1.44.crate 451625 BLAKE2B 1100d7d9fa8afe282b05c7c0c7d49552b3be802544e7377b5365eecbade0f85a16c2431294eada05b641d04c0cd1b40e0bd65da3a7ae8f130d51500d81948fa6 SHA512 18de89a1084ed2da37f9ea6357289e40fe95d86e8de2ee4567bba5453c2f622a116473e2baffeb086cdf814a4b7b12f6e05563992b0b88cf939abcc5a2584fc2
DIST libredox-0.1.12.crate 7469 BLAKE2B 93ef90131d6de7b49f1c720f3b01f18856e825479f53fb173fec67d3b2c7d6eea86a8dd4789752dfd8f59b7668be82ba834c662a86c0196181f7822f418f323b SHA512 8206d0cd3faacccb681551d20d9cae977a9fbbb4801aa53daa124633925bae73d1967f6c75ac9718527cd567dc39239a8e97e12e0747bfb3d53b9bb33bcdbc4f
DIST link-cplusplus-1.0.9.crate 7484 BLAKE2B 4f73807068243aa0dc4b6773c5446fc988154669eb196afca19fe39ffe63627ee705c4ee3cf9cca9628d0bb8fc4cdeb7ef52b41bab810d12721a6ad53d9557ee SHA512 30697093b54ca449135d7a2a963bdd9af61a446472b0f245c87a05bd6eefa62eeebf9cc58cf17aa77ac5f2301b05ae27d13eb50d92ec58fec27303f865261170
@@ -169,6 +185,7 @@ DIST linux-raw-sys-0.4.15.crate 2150898 BLAKE2B d1936eb74377d9bfddccef3830b56eb7
DIST litemap-0.7.3.crate 28728 BLAKE2B 00a04ca0e4e774b317218ab990da4c6ca1f342bbf229957db51801f8ec36339b665133bfe3847ca68a40d901d78d87e0041e09f0740898ac38ea3c8504309c31 SHA512 2c3bc6c4cbf6609f3cc2d986e701d23b73f5bac55995887c90aed01bf4392a42c718a69c0050296fa635a46f7cc9ef3dd6c6a2a505d3cccc690899aa345455a8
DIST lock_api-0.4.14.crate 29249 BLAKE2B 52d2f3a3eb5c3cbb4e7f01a2932f90200e3361155f53f282228f436211c54d1e429bddfd9e305a78b9c26b022b3234ae8ad3bee209bd4feed5b64a86af5b3d85 SHA512 73164d411c9899323b3bbff4fd6824e2b9ff44971ddd267629ae5a70b456c1ca945716e952412790d35331993ae71600b0e6a2aeefcdda117b26a7222ed97bf0
DIST lock_free_hashtable-0.1.1.crate 15719 BLAKE2B 8d7fccb43ec7681218e973ff21824587871f9a9df004b4b44d0c4faacede6e10b0a4c21926a19e0ae440f9cffcbb450acfe68c8c1d408e756c78f32d417b6048 SHA512 f690700c30482cbefdb98cf8d5ca90ac719746745939782dd0f76348353192a2a16bda23df20275a426d9c706ba9623149d5ddfeb3a293ffc29e37c31a211604
+DIST lock_free_hashtable-0.1.2.crate 17964 BLAKE2B 1352bf73c3afe8b3e7ada0d51ef92db2af7e38cd5a4142baaa1b313fd68cb173fbbfebe3809fd78b40cdc49878e006e243e3bc225741400711a824b871a42cde SHA512 afaf99819d89d2c0f59cff9ec46fc53f1ee083e0a3c40e4c40441aced18676f2e3498b961a0847d93e8fe29c92dfe0847b774ae4175c096a06a9f4dde9164203
DIST log-0.4.29.crate 51515 BLAKE2B 3f5dc889e895428f27ef107a63004c1b321793b865c29b20293adca81db4e25443e24354af37018c9a60dff1d54897c3b7b2c014a64280523f4a3586a7eeed24 SHA512 31bcf1669c27980f0a8500082c4d0cc500f6cc943518a3dacacc3ad4d8a0c238517f23c2c1969e5a22dbb5d25614adbf4e914c0557e45e1ebc8e7385b2ed14b3
DIST lsp-server-0.7.9.crate 21215 BLAKE2B c19aecf7e8e754155a2b8844ba882260032691172bbd23c6b2a9efef433e6fc0ff5c00998753915e1a6cc90ded67af48c20cf1326aecc1da25956960f0c0f85a SHA512 332814c48389bdd32ddb75616b4361a2f22370267a66f31b063b1bc4ab19439cc0f4de833394288c92e62a15fdfdbd9aafa24df9efc3607bfc4d5e153c4f4386
DIST lsp-types-3512a9f33eadc5402cfab1b8f7340824c8ca1439.gh.tar.gz 71124 BLAKE2B b2ea1c8fdd96dcc78ea48be71d1a4870fe1ff7f6a03dfe96479e0cba5f6b13ea68381d0a85fcb79a1ec2345eab7032c76cf567a813885128f94ac0c47c3de7bf SHA512 3362f9db4e78261825ae17b3429f9c54dc1b32a8b6a275ecff7bbe457c610d27ac37e68be3e9e27378f5f54c786dee787fd87b33c102f2507a46cf7290390ab5
@@ -194,6 +211,7 @@ DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af973
DIST num_threads-0.1.3.crate 6374 BLAKE2B 9eade62e9a320f9b5818b6a823ac396771ae9524033535a9dc5fde407c233ec48915752a14262032a0fe37c92e3ea50de2ced1070bdffd8a280b147bf1c1d607 SHA512 f8537933810ff5b582473d757faa0b39418e0aa557fe78e48fe611984666f7e8a1e98eeccebf42526e21260a6f35ca5a3b987e5bda445582be16fe2354ad33e4
DIST object-0.37.3.crate 344032 BLAKE2B 7cef4fb0adfe2c0ce56705404b1e1b2b22afbd741cdc16bb5a2c76c9c2df03eca801b0cbd9077a4ad153b97c37d20637608018f532918e82d1f27c75f603dbac SHA512 e6a72ff6ed5066e0b6fd4b5c37dc0c3d334052f3d123fa0aea2dfa45c8ba5700fd6a66f4f76efbd8823f0935c6d1bf9cb3aadcb8eec1370b0126511606038aa8
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST os_str_bytes-7.1.1.crate 28828 BLAKE2B ed9ff946d2e5476b9b433644ae603f70b8cae4c340564369e8048bb3754b57557cedeffe1341603dbdbd466db599b57f08e5038b9d0df3a6f2594fd4e39b486c SHA512 894468e47fef80996e792c74d51ca5507b7f45f1f730f91c784be4c100e06772418b63782974219fd10bb1b5d797c0d2075c9771c972a5862ad9d768e1ec83ff
DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
DIST parking_lot-0.12.5.crate 46735 BLAKE2B 36d82b682f7cd0a2c308fbc672f0c7023a3b6ba6ff0f9de75067bb26227d2ca460a09ba37a0a5b3867ed788d72a523a5900b99241bc30a67606481aaec30536c SHA512 432639d4a14acfa20127f03741e1101fa591fc63048b0b0369b44ad269d3dcb6fbab7947eb9995c7948f6fba90245abf82154a70df2b7a99aa7365b0b88666ca
@@ -210,7 +228,6 @@ DIST phf-0.11.3.crate 23231 BLAKE2B 588ff9dfc05a3d2cbe223d97c36c8a596d89cd421b56
DIST phf_codegen-0.11.3.crate 13741 BLAKE2B 88b6f0c206a95945c115401a30ba1bbf6a74e3acd4458f892fcd1eae5312765ed4e17272a814b6242240b97cc0d4eaedbf8c1c37a090d9aeda6ab23bd2280e78 SHA512 e86c3b73de198aa0ac67beb6eeebb88865f77d075b9d7f290eb9b73bfdd6728d9479f796d56e4f3358226ee88b877d848017cd951a14804534e4cb656eed209e
DIST phf_generator-0.11.1.crate 11075 BLAKE2B fc8fb9d06ea933ddabef555b01be6d72c108cc5f493981b87ba2d926259a6311f5407eee441377ed0e76d041a792858ec39a19d269677b49f285b60c34f441c5 SHA512 0b6eec4edc5376c30dfde8c7fe4da5905412b944dd56c085e90198c9d716b40aa9928a8d08cd1a7a4c6ca26c83d318fadc61fbb5cddfa239aae07a6c831c5e50
DIST phf_shared-0.11.3.crate 15199 BLAKE2B 82441a3f6db12e9021552b51ef4ad8b564532833dce782938d7d721e9f2d8b7015eee7483724552b8fcfeeed365259cdfd5044e9d2a999f42baf476df8141db4 SHA512 34bc3c0dff5568f0276777614d92d87882ca6be9e3d405c1e7de90ac16ec52a12acc30ea9ab2033074d0e988fa514247f37de1a21a3727de0ef43f42f477e27e
-DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718
DIST pin-project-lite-0.2.17.crate 31034 BLAKE2B 1d3bb970100c2a27c456bf771b4884f3c91c048310d27608161d3a02adf2f9cdddbc8674257c6b58c4ad6c0953e11cddf2fdf5813d95e5ab8425e71032556159 SHA512 0cff4338e3c7b71600fb41db013efe0d01b9cb3fdf95192dc16c5bea58a0f157207ef285ceb01b6b30956f9e751577c5d2a3803103f89a8a0cc6ea728d97a4df
DIST pkg-config-0.3.32.crate 21370 BLAKE2B 74ded191f066bc223739b3d4afec58f23de57566e7604e3dd62001d9a095a7b6a3633fdb01fdc46960c8134a694d6bf097d9ecec62b38c4f14acafbbabd6e893 SHA512 59569110185fa665f76a13e884a67ad1578c55246abacfc18cb9f037b2d2d9ec3f2078a3adfe5cc82a451892c9ad55f918ee01362a741f57dc9ff6846a4e32e5
DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
@@ -225,19 +242,22 @@ DIST prost-derive-0.11.9.crate 19513 BLAKE2B b5da185391df8d21e0800b066ceb42d2132
DIST prost-types-0.11.9.crate 40809 BLAKE2B fae812d78c5199ae8d383f1abe801cd928e7927ee8fe68aa88c4d410471c75781ab859e681f73eb9550f307be3a492880ff5747d3b806dde41f209ffee403602 SHA512 0c163e8c12ad9dfedfe5b6ba13f62f30c57382de2fc9fcca4e6c04114887cda5e8fc5f6e2633624a4d54980f21c3f041d34f05ceb4d7cfa97135293874a3002e
DIST pulldown-cmark-0.13.1.crate 154098 BLAKE2B 5001b9a7646bca1e2797cfcd1d06f7232e9191f507613b9299698fef5f5ffb2407afa9618ff079f930d49c3aee4194a87fc2b22f981a3df89e5a760cd12d37e8 SHA512 8ff1435b706fd3ea62bce212e86cf6c29b2a07946b8dc499e1d1219d9ace2414adaee799d7a8017ce679bbec8faca31750527d84d67478a072417e47d3e2514c
DIST pulldown-cmark-escape-0.11.0.crate 6719 BLAKE2B 232d5e5efaa6c9b5ba140051e21cbc16b46b32fc40931bf434fe25c24fea5d8a39e47926a6256a826548081e246b4ae36c41c7449a866cdaf60037eb64ee0965 SHA512 b8244d6c93a983bcade5e1ff699f334aa72eb638b7e4d22cc746b713b1d0144e6c1eac243476362a77bfed37a3a13a6315ac8d57920dadee7d2734f4d96023e0
-DIST pyrefly-0.56.0.tar.gz 5272585 BLAKE2B 9bd7f57e5e814b2b9aceaf5a12a9f4f1ad00040bc80ba81e2e2d5341172384204c2acead010bbfbf8b57f1f20daf1505444e743238b4d988b275757b69fafd3f SHA512 1b9235f853b8a519191311fa7c1a9821eeb5521811f68ecedefb43689e50407026969af246703bd144597d84ec76b374178ce882ff9bf85ed1be94bc8f0139e8
-DIST pyrefly-0.56.0.tar.gz.provenance 9708 BLAKE2B d987a49fb8a88cd4a9a86387c0319c30e7fbcad1365011a617c2a672f0a523a0f7d1bcef3b149a02ced2b08b0668e3490625ea63df4c9c31552562d0a02ba361 SHA512 cdd73864aed6e3d0114dc532bd561939acb4a089701093cb1bb8536812c047863b4f3b23fb32455c8ec4d4b3f48578d1cdacce7894634ebc0679bcd4e1dcc9d5
DIST pyrefly-0.57.1.tar.gz 5310800 BLAKE2B 0f1449f79f3592176a413ca79c63aa934f94588d111df01782de9c3a63a57e1e53685bd1fc27b7140b5320741b6a0e22ee5819bd3e2024c94ed6151691e92941 SHA512 21c3552a1f4156ddc0b51e40de94bfb1167c8b482addbc76c4f2059020796d3a9a84256d1c78debe9b95ce674c52e1080b2adb9045e42a7627f4ace2ae3f4b08
DIST pyrefly-0.57.1.tar.gz.provenance 9746 BLAKE2B 9713b3a6ff89ffbc8308dff3ab21edc712d336ea2c7e86492f9ad4a91c97ecd8c0db01d3cb9a2efe368de78ab00c2e0f16c9e906167f1aa1be64ea2295241643 SHA512 3cc9eba585e5419ff43983e4607ffff4c824ff3fd4b17f2813228e0e86ef70afe691b1fd213fe15f4adb95d0970eabcf2a530116e8b9b6ffcb19430a13ed92f7
+DIST pyrefly-0.59.1.tar.gz 5475432 BLAKE2B e1033e0e42d723f215c7da77879b0dae13779c7850024b5b7810f18c61b10028da4e9d049ba0db04c90104fb8d8569ed67f3f71140df1e9f21b09d1ae98a1eec SHA512 facd6fa9999bb3054fa3678c1918c11b5d5e40fb485c1388052e7f04963408f6b59cdc30a30b72573bf193ca448768776867b6496ab481d22a2c4c01dce200cc
+DIST pyrefly-0.59.1.tar.gz.provenance 9313 BLAKE2B 614635bf3e01ba72eff920ae958063b22d0ebbc3fd431f07bf7043290eca88bc00f55394dd4903d8a919782a2bc6c8825db18e39edb824089bd60d4b8c2946a8 SHA512 8e1db51651ba4e18ffcada6fb640c49ee498fe15c5e8afa9d837ef6fd317de5951b956264213d0580636ccfaf0ff1bb2e576591debbb39abdedc2b5d0c025d3d
DIST quickcheck-6ecdf5bb4b0132ce66670b4d46453aa022ea892c.gh.tar.gz 29222 BLAKE2B 6ef1d6f2fb27f382c78691a952363d5a4263a20f85ba19cba8010b5d7ef6d862f7f5f5c0cb88949a59e81143ba3aeaa4fd2e4cda7371de771ef8f5ca3a5c0d3c SHA512 e52a65947432f3a92d47c54df3645a1b3aa721b74c1357281d9d06c56b85e816794082dfaa1f2f9de2239fa156e2eb18003c6ca4fe3b13fcec4dd90a157aadb1
DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d
+DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST quote-use-0.8.4.crate 3067 BLAKE2B e60ff6700aceb55275013c5cb12f5d6b358879d31173d32aa40d3cc07bfdef26ff70a441e6c56719a43aff527dbc46558117380a0a5ba3a51bc90adcd6eba610 SHA512 eb14fc2fa9f63ab7c544eba0f0de36516896d7389c9bbef82ca4ad9343c720261943d512d04f195989f8fd4347ec169ad400a96ab8d36e9ccac7567b2f22d19a
DIST quote-use-macros-0.8.4.crate 5660 BLAKE2B c98e7af0ac6ce7bafd8142afaa19d18a2044367e17c4bdb33a6580d2618bcd6a2e823d2b852dd12b11f08f5b149ff1d9bf2ebbfd3e044b3eb3f5a492a62f6740 SHA512 596c2e46b001880ca120fe1dce0988c4f224ad9f9911048e66686f1ec6860c0c2e3afd3a54d37afdc93824e019ce0eda5223f8c012457953f30a7e9a3ee8e036
DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158
+DIST rand-0.10.0.crate 105828 BLAKE2B 070501bad8905263faccbf729cae157d79d17c8059637493e95c0f7c362de1b5a8f549e9857b6b94fc2a3526e88bbed46ef247256ff8aa72ed61e6f0d0413b25 SHA512 a22dad3045436e7a73125cf98e972496d3f896fd130b713233134c65d0cf81a9a3877d987a9c8a77fa1ae1e957d6a622717ca813f1d5c4a7d45f899277ca0ecc
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand-0.9.2.crate 99930 BLAKE2B 4440c21211e3c09daf8797de5ae1c7c461ead207456ad0a0405c6da266de51427dbd68090c461f1a349a04064e4bdba8151656e2e9f7c17be1f4aaeec1e26f3a SHA512 91faee823d9a3b109135182b9566e6327881736359c9d68358ad7dc78eac1e845c553820e2450ca481cae1e0969ec6566e72f7f9233251b1f9133449306f2965
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
+DIST rand_core-0.10.0.crate 22778 BLAKE2B f27a8bc7d691a0f738fe5ae39aec1741f39cee34b02e75f3653e9efa7dd64760b858678ce3aab453968378a7d6a0e242ea921ae6c642f2bd779fe34a9c0b2ed8 SHA512 4b75b43183c0ee19b8c1dec3fa8a1eaebd11556569bd02eb2f5c0497a84543f77c6f4adaf7011d372628abcb7e187686236550a6a2d85b8b2091fe60c1ad4426
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rand_core-0.9.3.crate 24543 BLAKE2B d611130e240dffaff33f8384f13a008af93254b1530bbbd2369057ca33f295c7037178010efe76e4d7bf18e36003f843409fabec060c8c78077cba00772e66f9 SHA512 6e8e4067dbf5853c55b0ed38293b6bc6bdecbdd31bb9d624609b0222f706f5b29281ffd5fffd5c316367ba5b22c29e5282c61de3738344798ce0f9cf9cf2ce19
DIST rayon-1.11.0.crate 182470 BLAKE2B 40a21dac636e7a652d62d9db520bc50a7a0019f0f96aec6a9002dffdef3d7ee0b2a323e4c3022e5cbaa22efe52bc72573bcfc7d399dffc853bec08190ea4eab6 SHA512 24238ba604099b3e58282b7338ccc63e52621e329ac908d7f3799c632f4ff97ae305a5b361479d4d7d0f09b76f49ab3b75c4187c41542caaca0575d51c299d2c
@@ -277,10 +297,10 @@ DIST serde_json-1.0.149.crate 155994 BLAKE2B 7564c287a05c95feeba2b3a17e2e43ba047
DIST serde_jsonrc-0.1.0.crate 66788 BLAKE2B faa9d0eb73ffc4182070b97f3bffa882e6e934bead2078bb01b0a40e437fc6c93592b53562a60eea6884ebc1b9e9b92be540371c09890cb2021dca86cafd6a4b SHA512 fc924aab897604177fa7ceca478d29d0df616cb5677a1d75c9c9e3b33173d3df5807aa7bde836199a8d65fe413d04cf217c15cbab77ce0cfff690097bd629a2a
DIST serde_repr-0.1.20.crate 12627 BLAKE2B 64aa318e56628fa7d9777f7387e66d122454008fd1f296ed29b4fa7f4ad4c358ad981bf7d093f3e3a5ac8aaeb29a9a62b0c11ed70983d82ab76897dfbacb9394 SHA512 0b47cacfd34f914acd48f443b62247667565b12f2a5bd5b80f6474074e08bb7a3bc85b8711bb3d45e17003c181f3366da6669382cfed6276cfa88b6ea55c3e68
DIST serde_spanned-1.0.4.crate 11032 BLAKE2B 7f3f5297c30c6e90ebb007c4d2e413b15519befb3cd95c9b7dde758887345c774bd8e4595dd8746d0853eaf81134c4fd22c253f1c9b747060b4e7fe0d3913b52 SHA512 41e4b0f25b030a75e7bf39f3c1929d7c34e53a1d9513b614f2bfdeca1fef181c9fd95bd19f70a8cd6c64b0d4538fd8f76f946b76478d42a13ebf8c2a82194ac0
-DIST serde_with-3.16.0.crate 197608 BLAKE2B 0ff032f2047dc3c4b1370e4e56853922dcf34e287f74d325d4df7bbb30a1034d184817de173a6c54f8f66fa2ae9935e5f99d0bb3ec8d36900e559e230114c95c SHA512 679a8c57f583aa0e54823fb5c905680f6eb8763420e35c070974956c48bcb7a1a06ee09ca064a781c0ea3b0e9c562d08f57c1c5c8bca8f4d7b16f9a8d3013f5e
DIST serde_with-3.17.0.crate 199172 BLAKE2B ef50d128362e2b30ec86177abbd0f70f565af58d3de6014c096387e4af64c6579e7cfa70b46ebccefb8851311f7b873860823893b4a81bded894d3ddc3287ffd SHA512 237d83e186e3e8b2ffa9ce17fbc9ddb1b0ac5712e120ece4759a6f25d528ec00d98621501d70b29f2f3eb877eac98c0d094085071f7605c5cbb2e3355daa5971
-DIST serde_with_macros-3.16.0.crate 38102 BLAKE2B e6ef1f9396b67971fd4ef9bea851c9d03f2d0a66dc40436d41eaaa6dd1fdacaa8cedecace2024e8dccc11a524d2ab1732db952e254deb7543ce6b000383d63fe SHA512 8703aa81ddea2102c39e7870157ef8788eca9ea033c705f0cadda10f84082b317bb9a8ca85509a1c4d93cd06f2364a0120ebcb1a780beea90183bf4c5e2553de
+DIST serde_with-3.18.0.crate 199584 BLAKE2B a241f0615724331191be1744df53935f1b8b74c736204d9e0359d68789d045117d0de54299ab62055e5561e9956a2a8631bd01d0913e44eb9a18146ca5210c48 SHA512 313d3f9ea8f81d97a28fdf86404b349b875dee85e01969e2c4d07f678c3bafcd50446c75a191ef883fc5054ef22d0a037da41a9ed5e162ae70f36a3ca0a0291e
DIST serde_with_macros-3.17.0.crate 38120 BLAKE2B 059a8e78707ef48c5776803d8a49224bfb649af7e660070430f2ac1b778ddf33863e01302754130e89f62771e17e5def549ece435e438cef6bcbb1aad56a2c4f SHA512 e42914afb03091f5c06848dc74668fdc19f5fd64500cba6c336ee981a054e6b4424e151166ebadb2ac1e04e923acd532304395a4693c8288ea9a62a50437c578
+DIST serde_with_macros-3.18.0.crate 38080 BLAKE2B 4b82be32e83b7e046112985772c8d4492eba188ba3fcc59843aa0ff6dd6fbf5ded1805e23e0379a1d74bc0818a6d7cfc34f6df45fb8a27f6eab6d8075608c3ec SHA512 27d91e80f2675b31fa3b6be7c920496614108b81196e9064ae79dabeb8e10b1d2f274f22c72377e45e47c43d95f107fc9be9fad94acd89989070ce8d35722e84
DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
DIST sharded-slab-0.1.4.crate 52479 BLAKE2B 766d81761909006ac740cce13e8361734c3c7072cd07c8c8f611f09772e16f11aa93cabdc5273b9446f5da391b26b7e7d619be523488d8b3558c64c18f20d591 SHA512 123a9ddb126d1adf41a30a632604264d66a06bacc497db6373e9dd36164197f8321f2fc826a16247674f0f69d9f6e30aca37810f787693c4a5c2cee8c5887c55
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
@@ -304,6 +324,7 @@ DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a
DIST synstructure-0.13.2.crate 18950 BLAKE2B c475f370d901a371262f466dd98e3914dd6f36aa473a33362866c0f781d27b1813233f96b02208f3463a825e8012cab0f8872eed848d9aa0eac88b581a0d261e SHA512 2698f4e80b93f7cf1d8ae97c4c42a7f61e7b7081f7f1bbb94d7f48ab7ae813a666d73c49ba3812cda9155e0138b55cc246fb96e5858e411a8d32bafb3e2b2afb
DIST tar-0.4.44.crate 61020 BLAKE2B b76f92a6e8c3d25efffde669de00bc83a717a9888c260f23cca916dca2953d4007edac055ae34d4597b17cecd28e273c27373bf14b35287053d3547f27f03bb2 SHA512 b6a33a50f9bd124a0e40b4a557c967cc1474b8a49e6381aab0208b8e6338108c4a3168b41882499c3ab84e214314e3501bce7a714b547bd3a86ff1b3c80ecda6
DIST tempfile-3.26.0.crate 43478 BLAKE2B 8d25e9a4f01514dae4b6017a069b074e40b4cbbf1acadb219cd55bb8796b0cdab29ef8189d531728b5f683355ee9afc84a601139c0bc4ec0f76a4f22016010e0 SHA512 28d7062bf9540b852b1e0a85869fd82fd90e1f33663a398e14fe7acbfffcfec6668891460e2c00efa7f8970395b4106a74f0c72a7aae74343a6384b22f08943c
+DIST tempfile-3.27.0.crate 44780 BLAKE2B 898b8b00613c4617271febdd54dd1e5f66aca54c1e4b60067e508c87c15fe32f0ce2d30b3dd630ecf7083b046d579f31064fa72de09067981c920f4aab86f2ba SHA512 bb20b9b0c5d3301ad05f73f1de538ae240366d9aefa25ca823ba40041a8a11b4a7361a6a9ec03871b14230d42038d7af6d0b652c8c471935b481a1628b59314a
DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
DIST terminal_size-0.4.3.crate 10686 BLAKE2B 5e1017de475d78fe3c1328878d9322f52b877781218ef0c9a49b5420fe8df13ba5e10f590fcf4a8ad57266979580a16c1c715aea73fd6624691b9e152e2f2bec SHA512 0b3533c52e8c1e57fa1258a5518585fe735d9a9f46dd142fd00862c6703e5e7e0aac4b091297d91be6a8ba203297aec24477fed81580142cae39444a74027b4f
DIST thiserror-1.0.69.crate 22198 BLAKE2B fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80 SHA512 ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899
@@ -320,6 +341,7 @@ DIST tinystr-0.7.6.crate 16971 BLAKE2B 33a248261c4cded41a81f0d6e6c8df55437f042b3
DIST tinyvec-1.8.0.crate 46796 BLAKE2B 720d0e6d881855a36779e12f5ffa708d3a8b96e6d0de9056cb33c9b8ce0d408f99b22f5b2bb9d64bee72a011fef846dbebbea2ccd238d7b951eb5ef0c4866e05 SHA512 b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df
DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
DIST tokio-1.49.0.crate 857029 BLAKE2B 77d4fa2f6cc822c6c2040819648ac29b6241f75a527c681217b8b959fa7c450524bd4f8d9ff42a21a0b2f56cb76a1f3a0d1b62e811f34397261d08bae645d12e SHA512 f7bcb51fb940964be99200e6a9adc45fe1ab13aef8aafc121a2035f1d76686915ca1087dbe3d78497abef86f374b2f737358e5107bfdf4357f511d87e6af6432
+DIST tokio-1.50.0.crate 878380 BLAKE2B 222f2c36e420e4f444cf6e621a1ce69599aa96307af8b6d1fe32988ec5b6fd1dcc3f147f3bd82fd768b38cd48fff25c84e8fdfc3f1d6ae08fee4482d3f99dcca SHA512 d09c90a3b7e88935c97ac3092842ba4863c412fe2edc428431c4a1d80839354f79ec4235cd48b81a5c3d88442b21753d3322dfcafc3f4ef31f5fcefe210c5548
DIST tokio-macros-2.6.0.crate 16505 BLAKE2B 9a6ac1a92c2ca1cf2a51b7f78e4e043e086f595f3d7ab3d543b6d16df306721f56ee3e02b87f568374fb95d8a06dd47090169a3e60b749eaa2f80551dd97e490 SHA512 626e2dddbd80cd4bc365a93dcd4906752c6a1d0f2698daa007deb64596f518b420e5a0374ca415044d5c8acd247a83e3190ca5611ef9185f46785f8194d380a2
DIST tokio-util-0.6.10.crate 71140 BLAKE2B 54dae89f8c3886feeccb905d371d9c3f1411fecc398eeb388677e364583fa42ecaa3ea21f10ad76e1873eb91da017ad19ab56befcca81d4e89ebc1253a9bf029 SHA512 0fbf96817b32fe561b26793e599377e9b58c28513e48d0ac070e81f64c0c64fb4d41a626f27b841e88970e8beb75fc2e94a8e9564e63416719756a9d845d8bc1
DIST toml-0.9.12+spec-1.1.0.crate 56485 BLAKE2B 1552fd92ece75ebf9e8e4914bd60e981333d6f22f5b09baa489bb206369a654c4246d3f8832d7a8e03d2e4abe85cb6871b9ac9289af278b767e200807a4400ed SHA512 214cef1049e5f569ae448041bd0b6989626ab685c580fb77dbb47a4a8a16d879801f88ef5d298b711a82018788a4099a0a008de7d025c362c9fd989098be9b89
@@ -333,6 +355,7 @@ DIST tracing-core-0.1.36.crate 63967 BLAKE2B ed35889974aeca741414d425c874232c3d0
DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285
DIST tracing-serde-0.2.0.crate 7755 BLAKE2B b2c50889ef3d65e843133c5c518f907829c14997155ff56da129b32d74b5b99aaf0082ed9963a7e1f9b20072ca28fc5b9744270c26456490c54a248277b3eb23 SHA512 d5914943ca8a80959287117d5d5f3fee0f01baa49cef02002bbd00507743e06c3c5df31a346dce54b9d5d20358fd512d4ae54a0956f1dd334b9bf0c7e7594823
DIST tracing-subscriber-0.3.22.crate 212851 BLAKE2B cb5df76ec16836b66dda4a7081f31f2b9910bdb2f82f658dbceb7c672318a45d118c48cac2717e7f05b06f9dab1badb91686a179c7bc635ffe00ced393608f6c SHA512 b3e9b2a9e2f822c4b2c6e51cd85936d2630bd9a7baf4717e7bcad0b7222d1fa693f2a827f71ee6bf2dd75d3b102e2477c6f8cf45da53fc67471516e1a4ec7507
+DIST tracing-subscriber-0.3.23.crate 213773 BLAKE2B c47dbb00620dfef7b629f5f39549040ba1a7fdb1e511bd57212234396be248c66baddd5b12cfee49bad8bd9aebe9d4e9dd663df7e4e0230047fc028f9c4decc9 SHA512 9d69512c39fe2a4d9f4e27f373e3c79d2b23dc6a8e10e8388c5bba87d6f80048edd1e70541fb4311b9708d53510a53dfe69f32c1e3e36ea85c6dfaafc2c01f74
DIST triomphe-0.1.15.crate 34711 BLAKE2B 0b47f413da6e80737b59c921992e629b9e55e8984f50e268058a1baf296804a319d8fb4792dda693abc43e4f164148923e5b6f3ebb8be7d072d9e0638629ef8e SHA512 43e82d5389061764cfcb13877c9bf1a71150f698a08347aa1dd168e1bf5b615d1e0f11a81b1b4742737d735a2615781cc5bcdfc7a1582f9fd0f204d20b6e92cf
DIST typenum-1.19.0.crate 76414 BLAKE2B 8083988e0bf1d7927377112b8939607f32af098f198a2bfcc2c5302170d9f6e5b29cf02d3cab16c1ecd0fb9f0a45ea3c6bd4a4e4baaf2dfdf8f694093300deeb SHA512 09ebcd7a2cc11f422469cf4fe706f1988bcd81d628e2bab3f54ae82b0aa5486d03a4392187a3736c13dc0c2027053387f89ac656caff72f36365c8be38bc7ff4
DIST unicase-2.9.0.crate 24368 BLAKE2B 6564ceec45d9bbac876cc12015e46f4efb415fdda4a37a62f8dc00ac93fa7a6a643887035caf0c6eb13b07571a2145e393080930fc5d1f71899794a942440409 SHA512 1255c6eb4cb7217f0ccb698f790115d88dac3dae3708832f9cdb135f6cd914b2653048463036bc396d0da0cf415251b53c70e27ad5a1cf39a9bb18d8112aae44
@@ -350,7 +373,9 @@ DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1
DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090
DIST utf8parse-0.2.2.crate 13499 BLAKE2B 095b5d219ab8ff04c06fd6303e03d913ae36a57845f0b2ca3217a40e31a54cb0fb5ecedbde165d28f5f60f1553d8252986d7098fa83befc84a7cb20bf3b76144 SHA512 f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266
DIST uuid-1.21.0.crate 62247 BLAKE2B 684b85cdf88f11f2252ec62c0c6d43900b4bd076b47dd90b2d96231ec747713683b59535d0d737f3e81312f278d2c36c6e9666a3c83576d8034e850d37a46fc4 SHA512 af0eccf18ddc91b72e0043ece56e7a4679181d9a85b84d04dd2012f4215d43bbbfcb3114e8b086841aa4512beb6bebad4d43a092cba7f5efdd4771f70317c6e5
+DIST uuid-1.22.0.crate 61780 BLAKE2B 53dc1175c57d33b4733f885514c66f9cf79a9bf97d355ef19e2dafbcc668a39f1eac11c1188c77d8f83eb4b0267a7e94cdc9fe73a60ddb5af758bf4cc7e2b996 SHA512 6ff9dcbb7281feb4415d6d6c49541af2a90cb91703ede4d99fa994d63770c03ea45ea2e445d3f26f017a5301a9d79e477c34e7c609587326bbc2c665aecae7dc
DIST uuid-rng-internal-1.21.0.crate 4051 BLAKE2B 4daeb3173061e70032a1f45d0ed3f4a2006676beee714ddf1068f526bf04f63f9c1427626576fd056f2c6754cc816255866b68ca712887c125020a37054b60c9 SHA512 786ec680b50b09859507769d6c16bd2318c57549bdbac0125c624ffa7a702a729e2cd262a9731591f518ad9a369bcd0201f2c7e18be046b34f75a5eedb190466
+DIST uuid-rng-internal-1.22.0.crate 4050 BLAKE2B d34fe5c2656431cdb4741a50576e13bfd44dd4a65d230ae44141320135fd4621aa30feea882fb8e2f0b521879e058e7679952a261b96086c052f81705af69547 SHA512 e335157684559135fd1b16d1f5501101ac1eb045b51b2b066e6937db93e1f7681ac701c19b4c172515919981b343c54ff4bd1fb1b4c557184315e64888ff5877
DIST valuable-0.1.1.crate 28679 BLAKE2B 33a68f81cb0448fa737fd7416f2dc1f0e4f171851692e5f759bc375ca8ffbe6eb53912823a59da44228029d379729b669e8213f00928c9b1a182c5d26c0de8bb SHA512 d8a4bffdc8a166d1ee11b87dd91cd68e5c898916b14db7039ad2faaad34f4bfef76f3fc3d17d6e7bf05e495778f7c9d5223fbf45331bd114f93fb6ec950eadbf
DIST vec1-1.12.1.crate 34165 BLAKE2B b941fa0077ff3757eda77f3b295fb505881c10de6a340888ace26a537f913af55a17622947e0d7bb47e7080c4b361fef5e6e0015fe9fd20ad0f4e52a1278bb24 SHA512 4029c43c0bc0c72747954fe64684f33092693bb1bda6b59118d0edd460f1927e849817c27ae71200e5ff2312fbaaf8000edc17dd542a33d3948cf1ad9c9a1e85
DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db
@@ -358,13 +383,9 @@ DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST wasip2-1.0.1+wasi-0.2.4.crate 132087 BLAKE2B 9ae5188981d55ab0cfc52668cd822bedde6b03104990bcd070f459a39ef75699a792bfbd33766cdfae852147c2f3ea236aa1d1b792e85c56be21b74aee2232af SHA512 56b88f97224b6b9763f4d2572e986609fc86a98f597930b5cbc8095d4184a0279286c8c79f6ace19bb08ba08854a408a61004bdc6b2f3b72d4f3fcb5e43edceb
DIST wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate 123354 BLAKE2B d8251ea31999f954eb1264bbc7792ba16a90aec3ed3112fe84b9a93dd8a0e493390b899be9e5e215ebebf644697d3bab680cb07d5e64617cbb57e6b2a28ae95f SHA512 fb136a5475fb4696902d4f4be43e0d5d28cf3bc1b6c83e5e7837499ee038f995c9f084064e2e4585dbc3bd260e0c7c95371526b04933f2c60fb6ce302416215d
-DIST wasm-bindgen-0.2.108.crate 49120 BLAKE2B 7cda1630cf38a776750f91d5811a55f955fc05f8460bb5ec12f147b37763ab73c0f40bfab4ae85d9cff93c80a6d0845916d47d61f4eb1750844c9459254bfb75 SHA512 d938d6fee0e9018cf3e1d3bf736b3ef9fbad3b20854917c93409bb4baad70c3a8220646ad3aa8e340d91c655eb7d0ccde01f4f38eb6941780c88c70989616716
DIST wasm-bindgen-0.2.114.crate 59350 BLAKE2B 9bef0d69524ae4bda2178d5e9cae43d777fe23fc106e0282324eb0c417e15c6b2d9e39a610a23053ee994b74c31c6696bbf9db6d06e36f4a2689d0e0246940a8 SHA512 c6e9f49013b390a1037292b53bdd79dfae07b17b6750f8ac013efc5d37532253f8e63af091b6bde52c133a3933266630e76c059cf7fc7eb694e4c72d55144a4d
-DIST wasm-bindgen-macro-0.2.108.crate 9283 BLAKE2B 89ae171ed3418bcf27f3a55a8fb03c9d8983bfd16254e9419fe93671ea68532d83a24a6e4b6834a291e4fd068049216c84272f041cd99f76a620f7bbf5f2dde9 SHA512 5b154c3010a31bb7338d16e559a9b3d2d69cab7681914d22e8b4331cafbc2e6d8b5913fcfbdf5a3ee0e793918affc94ae0dac76fa407f02881ba4642ed1a2b66
DIST wasm-bindgen-macro-0.2.114.crate 9289 BLAKE2B ad8de58de044cf0b8db6aaf713745a9f2dc7dfeb53dfc12f36de732fbb36c7cd36f1e8f1e073a3fb460d7b2baef8ba3126f0003eea4b052886b1502edf595c0d SHA512 e44de567c0e00a2ad451199402e178fa99a576b26466869f85f651d9258ed713bbe33f003981adaf85f4b5068bc0950222ad83b09b385e243b6556da98e7fadb
-DIST wasm-bindgen-macro-support-0.2.108.crate 49855 BLAKE2B 5282f38ec1f5de7f1147145e9083863965e047e75c0b5cfbd46231619ace34b59a2a4db6d3298d265df35dd40de48a8cce2a47678644af432cf28368d3c9345c SHA512 8ccbf76754e3d62df3f157e397a3b560083e429840be50f38dd77cf737eb892db3054295d62f0df2a6cb78589a9abda6e9bc2fbcb2fd431ea74dcae46470b2e6
DIST wasm-bindgen-macro-support-0.2.114.crate 63445 BLAKE2B 97a01b9296dafdb7032d432dc9e0f80d534750509c5c1c081766bc6286da373ca74beb9264869a4aa8ad10e6b605321f95058ee3ae35d8130b45ecfb372a7a7d SHA512 723df09894bfe8338ae127e6022fdeb814f80201c6f84cb0b7d85277c968b254b09c80821462b576febd041109947a9dc4aeda904bfe49ce8cfc828169b2c243
-DIST wasm-bindgen-shared-0.2.108.crate 10121 BLAKE2B c7e80b0eed58bae092167450b44dde4d351188115c5b5d966ed2ce39b4fdeea77ceba89d7bd28400ea92f639b17cdc557a57428da8f4a379d2ecb90ad847f13c SHA512 97fea5811a789c68c8a9b19587450d69b40bf2b76e38efcbb12f4864ffc2ca38a5d3deb5d9d437f47458d44f05afcfc5078c748996c3fcefd65e15bbdf9b226a
DIST wasm-bindgen-shared-0.2.114.crate 10538 BLAKE2B 2dde4757cf4266772087862688b3c24fdff7931d2245b9ed0cafd131a1905273ef48312b3d6a6f1c4929d069deb766405abe03efc7bf615abde9c5e770b85979 SHA512 532c8599710ead05d318d7d30c410bf1cf92e4b6c6bd1848155330dd3cfe430755387827612d6d757a87506ca54892456802244e04ad440975bd8dd7efe38969
DIST wasm-encoder-0.244.0.crate 85804 BLAKE2B 6dabb55c635d13d1d56711a43c655dfcb74bb9f0be10bccd412c21b5dcd63a46b73ff40955ff28aa0fba9341fe22161c8d253762afd587eaf69a7ca49c06e285 SHA512 ab78662abd6bc9edcc14531a87a848eb6c26081ce9bcb9ff15415ceecb48dad98ab6066638947780c65d7689d11502d4dd2353ff3462b4f49e1c1a8c00d2c1d2
DIST wasm-metadata-0.244.0.crate 21500 BLAKE2B 8da1035b6302c23b00792d90153f74f35eb9cbe913366b43ff7e5d81481c903396b32ad54a416a14b40ff8d4ba329c6fda8c203e4b16f1ab80b3bf4535cde72e SHA512 77677c68dafabacc9697c6090d01fdb171c33ca1663c86dcd3612630b2ea6c41232a7cee125ba416d373edb34ea8e0926d164012461e2ddca8d4d18597feb855
@@ -414,6 +435,7 @@ DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d2789
DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
DIST windows_x86_64_msvc-0.53.0.crate 834400 BLAKE2B b5a06459571c6ac31fdb94d64f66f83ad71fa039ba04e07b62259ca66211662e703dc9afde205cb0489a2213a937ba1d8d6bc212262e8140a1629d2273d4bf43 SHA512 47265ca5d43c39c9470c9ff7caa8ad0962bf81cfedb207d3307895cc7e4885512a4895d3447906349e1261dbef531c0c3326cd82cecf6d645d42039997134707
DIST winnow-0.7.14.crate 184718 BLAKE2B 6bff099d199831a72ff677db3e4de2feaa5a0b6aad782051c9af629459faebcd131518e20d6bb8f3f7f44b708284e6ba54f2ad7e0811bc0bf1df89899ff561c1 SHA512 ffa96e23707d87d5bf0f0e0c8aefbbbe4e3d2219fa5fd6a1535cb3c7b049a8481ef6f9f9fd69c78be855f36b242476f3b4462f2536925d48953afebe00bb50cb
+DIST winnow-0.7.15.crate 187092 BLAKE2B 2fa004d7d0a166202e27f9bdb57f7ba7d1a8d736a77518e8a49afc1c1574db93746a50d26f802f571c14e8c138857e1e13802c04308f9e06215517c012e9b275 SHA512 47c4abb8de7f024e2e85b1c0ed9ebe16b9de29ce82c536a133de9d64d99ac37191e4322221640785234a32b03a28bfa99ced738bad5088d39bfbbe2a64c99689
DIST wit-bindgen-0.46.0.crate 60508 BLAKE2B 4422fb47880ecd70749d615ea6ed0a8bcb5941bd9de2c2164a6f1248574363408fcb634e0e9aa0af3e0f278c9311a81212818dff70ef39614646ffdd646b1fe7 SHA512 5d37ac5855797cfb906c983a70780d7cd29d70c4e5b6e54328fc18297feeb89ceda0aa732123280a12610015fbdb42bcd76aae12b1debb281b0a848016134548
DIST wit-bindgen-0.51.0.crate 68035 BLAKE2B 0cb5e191f866c3782b6a1e822ecbae6e618e08371867462addb027dd5510638e72438d991777877d5754b2932afcb41f2edc1ec1426334a69311905f0f309b6a SHA512 61380c309630ad7f415d467daf1d639ad7a3e8dcd26e5f88aacf0230b52600f150e804821b6a1df9b79cc7fdd4f1d800d043ee7eca770b1947a3cf06f893711e
DIST wit-bindgen-core-0.51.0.crate 35048 BLAKE2B 1ce5f1bd6d1ceceaeb91d247f63745abfd25b539b57dc12321a2342f55da1207c697641a778ad6bff2bbece300fa52a788c7890e8dc49c5357f48292fed2a693 SHA512 eec78ac1566cc4f03b1d0d7d2e84c3d0fc2458a649c01a45c9c3781034078ed51b4a9852760fe96115006fb3415bcb31b1bf429cb3cac6e51e09a1c0cfc32ed0
diff --git a/dev-python/pyrefly/pyrefly-0.56.0.ebuild b/dev-python/pyrefly/pyrefly-0.59.1.ebuild
index d2a7960636be..16f2c66405bc 100644
--- a/dev-python/pyrefly/pyrefly-0.56.0.ebuild
+++ b/dev-python/pyrefly/pyrefly-0.59.1.ebuild
@@ -19,10 +19,12 @@ CRATES="
allocator-api2@0.2.21
android_system_properties@0.1.5
anstream@0.6.21
+ anstream@1.0.0
anstyle-parse@0.2.0
+ anstyle-parse@1.0.0
anstyle-query@1.0.0
anstyle-wincon@3.0.7
- anstyle@1.0.13
+ anstyle@1.0.14
anyhow@1.0.102
append-only-vec@0.1.8
arc-swap@1.8.2
@@ -43,13 +45,15 @@ CRATES="
bumpalo@3.20.2
byteorder@1.5.0
bytes@1.11.1
+ capnp@0.25.2
castaway@0.2.4
- cc@1.2.56
+ cc@1.2.57
cfg-if@1.0.4
+ chacha20@0.10.0
chrono@0.4.44
- clap@4.5.60
- clap_builder@4.5.60
- clap_derive@4.5.55
+ clap@4.6.0
+ clap_builder@4.6.0
+ clap_derive@4.6.0
clap_lex@1.0.0
codespan-reporting@0.12.0
collection_literals@1.0.2
@@ -64,15 +68,16 @@ CRATES="
convert_case@0.11.0
core-foundation-sys@0.8.7
cpufeatures@0.2.17
+ cpufeatures@0.3.0
crossbeam-channel@0.5.15
crossbeam-deque@0.8.6
crossbeam-epoch@0.9.18
crossbeam-utils@0.8.21
crypto-common@0.1.7
ctor@0.1.26
- darling@0.21.3
- darling_core@0.21.3
- darling_macro@0.21.3
+ darling@0.23.0
+ darling_core@0.23.0
+ darling_macro@0.23.0
dashmap@5.5.3
deranged@0.5.5
derivative@2.2.0
@@ -83,6 +88,7 @@ CRATES="
dupe_derive@0.9.1
dyn-clone@1.0.20
either@1.15.0
+ embedded-io@0.7.1
encode_unicode@1.0.0
enum-iterator-derive@1.5.0
enum-iterator@2.3.0
@@ -93,7 +99,6 @@ CRATES="
fastrand@2.3.0
filetime@0.2.27
find-msvc-tools@0.1.9
- fnv@1.0.7
foldhash@0.1.5
form_urlencoded@1.2.2
fs-err@2.11.0
@@ -126,7 +131,7 @@ CRATES="
hashbrown@0.16.1
heck@0.5.0
hex@0.4.3
- home@0.5.11
+ home@0.5.12
human_bytes@0.4.3
iana-time-zone-haiku@0.1.1
iana-time-zone@0.1.65
@@ -149,8 +154,8 @@ CRATES="
indexmap@1.9.2
indexmap@2.13.0
indicatif@0.18.4
- inotify-sys@0.1.3
- inotify@0.11.0
+ inotify-sys@0.1.5
+ inotify@0.11.1
instant@0.1.12
interpolator@0.5.0
is-macro@0.3.6
@@ -160,13 +165,13 @@ CRATES="
itertools@0.14.0
itoa@0.4.8
itoa@1.0.17
- jobserver@0.1.33
- js-sys@0.3.85
+ jobserver@0.1.34
+ js-sys@0.3.91
kqueue-sys@1.0.4
kqueue@1.1.1
lazy_static@1.5.0
leb128fmt@0.1.0
- libc@0.2.182
+ libc@0.2.183
libmimalloc-sys@0.1.44
libredox@0.1.12
link-cplusplus@1.0.9
@@ -174,7 +179,7 @@ CRATES="
linux-raw-sys@0.4.15
litemap@0.7.3
lock_api@0.4.14
- lock_free_hashtable@0.1.1
+ lock_free_hashtable@0.1.2
log@0.4.29
lsp-server@0.7.9
manyhow-macros@0.11.4
@@ -198,7 +203,7 @@ CRATES="
num-traits@0.2.19
num_threads@0.1.3
object@0.37.3
- once_cell@1.21.3
+ once_cell@1.21.4
os_str_bytes@7.1.1
parking_lot@0.11.2
parking_lot@0.12.5
@@ -215,7 +220,7 @@ CRATES="
phf_codegen@0.11.3
phf_generator@0.11.1
phf_shared@0.11.3
- pin-project-lite@0.2.16
+ pin-project-lite@0.2.17
pkg-config@0.3.32
portable-atomic@1.13.1
powerfmt@0.2.0
@@ -231,12 +236,14 @@ CRATES="
pulldown-cmark@0.13.1
quote-use-macros@0.8.4
quote-use@0.8.4
- quote@1.0.44
+ quote@1.0.45
r-efi@5.2.0
+ rand@0.10.0
rand@0.8.5
rand@0.9.2
rand_chacha@0.3.1
rand_chacha@0.9.0
+ rand_core@0.10.0
rand_core@0.6.4
rand_core@0.9.3
rayon-core@1.13.0
@@ -275,8 +282,8 @@ CRATES="
serde_jsonrc@0.1.0
serde_repr@0.1.20
serde_spanned@1.0.4
- serde_with@3.16.0
- serde_with_macros@3.16.0
+ serde_with@3.18.0
+ serde_with_macros@3.18.0
sha2@0.10.9
sharded-slab@0.1.4
shlex@1.3.0
@@ -299,7 +306,7 @@ CRATES="
syn@2.0.117
synstructure@0.13.2
tar@0.4.44
- tempfile@3.26.0
+ tempfile@3.27.0
termcolor@1.4.1
terminal_size@0.4.3
thiserror-impl@1.0.69
@@ -317,7 +324,7 @@ CRATES="
tinyvec_macros@0.1.0
tokio-macros@2.6.0
tokio-util@0.6.10
- tokio@1.49.0
+ tokio@1.50.0
toml@0.9.12+spec-1.1.0
toml_datetime@0.7.5+spec-1.1.0
toml_edit@0.23.10+spec-1.0.0
@@ -327,7 +334,7 @@ CRATES="
tracing-core@0.1.36
tracing-log@0.2.0
tracing-serde@0.2.0
- tracing-subscriber@0.3.22
+ tracing-subscriber@0.3.23
tracing@0.1.44
triomphe@0.1.15
typenum@1.19.0
@@ -345,8 +352,8 @@ CRATES="
utf16_iter@1.0.5
utf8_iter@1.0.4
utf8parse@0.2.2
- uuid-rng-internal@1.21.0
- uuid@1.21.0
+ uuid-rng-internal@1.22.0
+ uuid@1.22.0
valuable@0.1.1
vec1@1.12.1
version_check@0.9.5
@@ -354,10 +361,10 @@ CRATES="
wasi@0.11.0+wasi-snapshot-preview1
wasip2@1.0.1+wasi-0.2.4
wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
- wasm-bindgen-macro-support@0.2.108
- wasm-bindgen-macro@0.2.108
- wasm-bindgen-shared@0.2.108
- wasm-bindgen@0.2.108
+ wasm-bindgen-macro-support@0.2.114
+ wasm-bindgen-macro@0.2.114
+ wasm-bindgen-shared@0.2.114
+ wasm-bindgen@0.2.114
wasm-encoder@0.244.0
wasm-metadata@0.244.0
wasmparser@0.244.0
@@ -405,7 +412,7 @@ CRATES="
windows_x86_64_msvc@0.48.5
windows_x86_64_msvc@0.52.6
windows_x86_64_msvc@0.53.0
- winnow@0.7.14
+ winnow@0.7.15
wit-bindgen-core@0.51.0
wit-bindgen-rust-macro@0.51.0
wit-bindgen-rust@0.51.0
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index b8ba682015e0..95c956b75a62 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,3 +1,5 @@
DIST pytest-8.4.2.tar.gz 1519618 BLAKE2B 0676b8a3510dc740d94e96eaa6312574ed0058baec13f161c4f1ab85872ac69ebabaa707032becb068fc128662d931b6b05f92dec9bdf6c268553b956bf43003 SHA512 a6732666e7b59b2c28b47b1020a8381d31073cf9113086c562295429fddfa6b4ef2afda3cdcce0ec60bf60d038ad2bf8e921a2a409f3d56e31d94ca39e5ea81b
DIST pytest-9.0.2.tar.gz 1568901 BLAKE2B dfee0770197f86ca8a13cb80f39c5d0e6a017097daca590fdbc0ef32e8882f03eb1ec8850682414da194deb63c48f7e280f2c9b14ed3b87e2de81b27a9ded366 SHA512 4f8177b30e39a644763d3e37a78d28d2e8b40e47a834862096571255279adfde22278d27801e36e366cc49e7ab59c38a0f4597b9f5b4c3e45912bd046ef214c9
DIST pytest-9.0.2.tar.gz.provenance 9481 BLAKE2B e92eceb4757782e5c8654c7f5cb788e5c197f1f9c198d684104cbc5d540322f4c0f0e6a93d6352e318ec79660c48ea792c3bd3714be59ee7e2a0c40d11000e1f SHA512 07c5c0a21a593cb02810b7beb3e882c3bb3671873d2755f9490c737532ee3934f00be679cdcd0c8650f4cb85d302797978e89d8b5fab623f872a771086b64df1
+DIST pytest-9.0.3.tar.gz 1572165 BLAKE2B a86001e79e630f8e7aa3007d287271702b11eef00938f50f8f404a646c90cacb2f661e9d7ce08fa6820ec1dbc858c30a0c450126b52388356ef23d138669e297 SHA512 228908e1f9718c418b5e118e7c49cb4b998b907982e277f29cdd13199383425cce9c7cee3275440bb1d0b0ae68b4a88443ef3400f506e9b787fc4d816bc47003
+DIST pytest-9.0.3.tar.gz.provenance 9379 BLAKE2B e5d6d3cfde46cfa80ddb436fbf7608e79ced8a08fad3a5841ccc30ecd40a425e37745a9994c9cf75602467934d14d23df07ed1c20ae4801ea3e60b3fde4d805b SHA512 6e93af12b5ab40e5c76ca6f42298767a9d04f1ace4af4403e4d2589962e3dc79d8a8e0c308f528a4cf8d0b60ad600bd33128982a59bbb74c2eb0ca16192b0f51
diff --git a/dev-python/pytest/pytest-9.0.3.ebuild b/dev-python/pytest/pytest-9.0.3.ebuild
new file mode 100644
index 000000000000..cdeb6420e6d2
--- /dev/null
+++ b/dev-python/pytest/pytest-9.0.3.ebuild
@@ -0,0 +1,121 @@
+# 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=https://github.com/pytest-dev/pytest
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/iniconfig-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+ testing/test_threadexception.py::test_unhandled_thread_exception_after_teardown
+ testing/test_unraisableexception.py::test_refcycle_unraisable
+
+ # does not like verbosity
+ testing/test_assertrewrite.py::TestAssertionRewrite::test_len
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # PDB tests seem quite flaky (they time out often)
+ testing/test_debugging.py::TestPDB
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ )
+ ;;
+ python3.14)
+ EPYTEST_DESELECT+=(
+ testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception
+ )
+ ;;
+ esac
+
+ local EPYTEST_PLUGINS=()
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/python-discovery/Manifest b/dev-python/python-discovery/Manifest
index 2c52f3fb1140..f12c071c2abf 100644
--- a/dev-python/python-discovery/Manifest
+++ b/dev-python/python-discovery/Manifest
@@ -1,2 +1,4 @@
DIST python_discovery-1.2.1.tar.gz 58457 BLAKE2B 618d2063314201b1a309c30e39061e6eeaa973f48ee60cfd7698a0dfbe753e66a2719f1798a191eb1fdb0c91fc2fbf5163132040d97e1384f101716c5a7c54c5 SHA512 7007265dd78279c55f12383eac0acafbcfd76e94fc6d2ceb2124fe7741abe4ba302b82d0522e72193dcd0372f7c236b0fb500c1a3be4b32393f0424c5e419323
DIST python_discovery-1.2.1.tar.gz.provenance 9827 BLAKE2B e2ac127bd8d2e0d340bbb0b06afe6fe6afc3a8db4837050723aa6fef32684c1b7540a353b2830247016926fd7b115361ce0a691c87180dff51a4b808517ee892 SHA512 3da8a48c369fceeaaa8972f450c6c6f047aa21cb8758380006ba5b9c4b61a9f1fefc9f3837cd6e419f9bcee7f22853bd7904ab23023ae1b4bbd4a5ffe26c0cb8
+DIST python_discovery-1.2.2.tar.gz 58872 BLAKE2B 0177a23499cd59aef5c7489694a53c7d1c290e8ab1543182a8388ede9aa80afba15f6e58113dedd6e16d404dbd081b575d4725c15f3b35e7cc9eed0fab4bd3ca SHA512 4f82ff5510f245cdfd08e896f1b869f2c5b5636a92ac6e5c782ec652d1e2a8c0c422ca09bf277b2cd1b3ccfb566e9909ac108bc8ab095ca5564beb86ab66e9c5
+DIST python_discovery-1.2.2.tar.gz.provenance 9263 BLAKE2B e405c7db48810a177671144bffdc28c8903b74ed846f2f5bcab47134e8e795f061ad3394779551a045feb4debaf2704567547cafefafcbd0a9debecb6ec1425e SHA512 c70313361c0660297335fdce23a7af12eb2f67b7146126ab6bfe3cf783645155e368bc68126b853be91b968da9917e005ecc7f6025a62fa14d1ffc735c31bc85
diff --git a/dev-python/python-discovery/python-discovery-1.2.2.ebuild b/dev-python/python-discovery/python-discovery-1.2.2.ebuild
new file mode 100644
index 000000000000..24318511709a
--- /dev/null
+++ b/dev-python/python-discovery/python-discovery-1.2.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 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/tox-dev/python-discovery
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interpreter discovery"
+HOMEPAGE="
+ https://github.com/tox-dev/python-discovery/
+ https://pypi.org/project/python-discovery/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ >=dev-python/filelock-3.15.4[${PYTHON_USEDEP}]
+ <dev-python/platformdirs-5[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.3.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/setuptools-75.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.*t)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_py_info_extra.py::test_satisfies_path_not_abs_basename_match
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 7b9e80471f13..62ba6541dd65 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -10,10 +10,14 @@ DIST Python-3.13.11.tar.xz 22704352 BLAKE2B 6c9c4dddcda36a0210155b759c01101b0429
DIST Python-3.13.11.tar.xz.asc 963 BLAKE2B a6e21908f8161ed014455a609004b9bce461cae61f1b3b26d56c2582e01134f7adb1634c12dc99a8c3a290564a42e5b1bdbec6cb6faaf3ea41245e8a2e17ed1c SHA512 10beaba6d0e84f0335c0add480114e98a64133ec70d320593349de86091ccbdd69743559297f9c8c5e9926089890fd0e7881388e86084f46a413e9579c59d23c
DIST Python-3.13.12.tar.xz 22926488 BLAKE2B a744a81e39e4897abcaf11d6186c106d703c668ca41beefc8d56003d3b37b84a64284f0e9ca9dcc26a6b7ac6faf495b98e5172159ff91e8c01d52993cdc354b7 SHA512 5edecdf13999d8629f31543dffdcba521dbb5633577e481ee49275e377509a2f6d700624c26f95b57a8ff9501378d10d7c07c1d0e7e19be0d6c88f05b6315a13
DIST Python-3.13.12.tar.xz.asc 963 BLAKE2B c3e70ac00672c04692ff773d1dc0ae5495bc863782f65e20c8804c7888968471f9a16f42277ca88e1d256abb7d17cdcbc70b311ad35834054cf5be2445930eb5 SHA512 6d42bc51b3658e1b092e7ab44306f6fc968646a7a9aeb63a3c443d1f75e27153a2138e88c15cebf8d559ce6d7744acecd4e6026c6d0be6fde070f804042d4aea
+DIST Python-3.13.13.tar.xz 22957612 BLAKE2B ea7761b9c47df08949798fb7b618ecc111f2d352b0ca317f3b6320d227c4728d18e1d63c45a2d5958bcf73e47d38b71d94b057c74d5a016110f9eee7337e6c22 SHA512 0ef615150a52865fe7ca0d0e106cf98488f113a56e5ae1b1437673f03880423839d04abe1999006f9835c77d8802d5ae94a1bdf63d18074a9a19c81e6f7b69e8
+DIST Python-3.13.13.tar.xz.asc 963 BLAKE2B d8f5d8bfc3e0e7140669f5478d846e5d6d2c44a805f6e44fcfa8fa1f72575771695719179a20c6e42994f27b144e9a61ba8d5fa25805f40fbcaf6421c322e81d SHA512 21e5235cd9a9df3546370feb55ac32539e08601b79ee7b1e39006028f192be6be0434f2f8384fdcc993b70bde7471be3b36ce9850abf0473d1fe2c7cdc98304b
DIST Python-3.14.2.tar.xz 23566248 BLAKE2B f010a11192ba8e2e4a5e6e3b1aa67c56e67af3114892b3f7741a3b6fa7b8465b4f4ed573968a17e45ec39e90e44e8af11e98f4087d134065c789126efa26c691 SHA512 165256b4c713e0262767cd7a2c65622f3f086423524646a39bfa64912376be9e5b70863d5a3c95224b516152d0b79e7ccbfe2f2cf35b809d132f2c38ebb3ab3b
DIST Python-3.14.2.tar.xz.sigstore 5119 BLAKE2B 7a975c9a2956cc672889bb08cacbae3f1d6024df72ef47de3a1438a7561daae3b67489c04851a97199f82ee047bac8cec00c3964deb80e9849a3a5373aa9dc9b SHA512 85e62f237d03d6065dcb0d0d7fdadfc6a3b9f55fd96bc3312178a1359c08b1931fd288a87f215b19ed610aeae3316cd4ee1ceda079d8447dd076fd867008c7f5
DIST Python-3.14.3.tar.xz 23778568 BLAKE2B 9312d28b8bd44c642eeb2d608827984610154f3adba0cdb318b959fc643f58a90f7e10c84b485a844577b1fe1f374ec85d585e6664b5b532531b60f77c951e27 SHA512 9fd875f7a1d96d64e7150913ef38b72b0aeecfcbc24ba46967e57b6495146b0cba6b940c273561fc4d656b6d0ce2e23ffb7bd32bcd0b61fd59a6d90585998c07
DIST Python-3.14.3.tar.xz.sigstore 5215 BLAKE2B bb6b0aae97c9b7312b7a6f6bf3fc200a95432ae28d49e6b8bbf2ff97d6c6c65f3a60d3adad96eee3bf5f18163dda0a46768f22c6cf18b3be83fda536d73ac048 SHA512 0eda4ba0e9920ef927882507dc41e5bb35758ada6b5d54d312715ffd258a281edd776695109577f8ec54c915b5d4dcf19c2ba79efc2cb3dc3b3d85c82acf49f0
+DIST Python-3.14.4.tar.xz 23855332 BLAKE2B cb96ace0b3a0316ffc8f2fca1e9b67dc8df7d9fe81c1daff1d8883634683703a0e458d6eea61f01b3641bb76997b9e39c939a0c8c28ce5edd7b166e41b2cc1f8 SHA512 89a7f8b8a31f48d150badb4751df137d47d9014c9c422649a1a55aef5618aa7f0259dd18c151e6804fa8312c6a21544332a9f630ee81150dc00505637e62bb8c
+DIST Python-3.14.4.tar.xz.sigstore 5219 BLAKE2B 5d4e076139082e525c2758a64ca2cc4c05c69e601ffc9c402d5a041f8b867ee5f37264ded3bfa014cc979ccd3c573c208d2321ac5a3be93b906116bd0d8a5c37 SHA512 ec41d0d25fa3cd87cf62adcbe6b9e575cecc49f947a64ca997aa792ed22d93ef1bbc4dc2848e365dfb43b6c447dcf47417f9c68a5881d0ede8750fece9f97a87
DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158
DIST python-gentoo-patches-3.11.14.tar.xz 15968 BLAKE2B 5bd091046feee03afd59a87b72c44b3a0874b23f89eb98020cc057f5651d31857721eb095bd056dae8bef85220dbe5aff2900cf8411dceb14e8775a4a2f09a93 SHA512 760df16f98c1a91164b43c13eb36073c74169321569791125fdad8682419b818736fe02e40c1aa1232a11081b1007c923a8fd2afd002eb4fdff0800da92d03e2
DIST python-gentoo-patches-3.11.15.tar.xz 15988 BLAKE2B 16e98450749ebd1c617acbb9aba380fff50a8f7dba19f3f99edd3bd387c1a5d61d78cbf493cf003dfe03d2be59374ad89077b39fe203059bbbb881ae02a72ea5 SHA512 b705c72a585e315eb3ba69ffbf2a80836f0fc894fa8ae2c22768e6aa8ac2a23aada5def3d2635193793f58e3da81f0f10281c47bd8e129e1fd2c9167d292265b
@@ -22,7 +26,9 @@ DIST python-gentoo-patches-3.12.12.tar.xz 12012 BLAKE2B 4a030f976e73160f74dd760a
DIST python-gentoo-patches-3.12.13_p1.tar.xz 12408 BLAKE2B 2b232c2742eafcb803713c837b4ddaa38f45c88e707ec272571739570f9e2e5c94644681369d887992eadf5f0c1178489f1aa3a7d8163a2aa4ce6a86732e73da SHA512 e06d78ad24c9fbc3fa9c47b25ba722342ddd140aa30f624b41d605dae40d00ab956d879a247db2d7980c063a1472de40587a0d3cd6947e560aa7e8d0e4f89309
DIST python-gentoo-patches-3.13.11.tar.xz 8948 BLAKE2B bb6402400f931fed5d0fa2530f816ba78d7f6aff766e72692884a391929df76cedcc9a9b7a709d8ebffb38fe9256dd78a2b668d49951e07bf61a5388bce49b34 SHA512 f184a682a888a8781aa1a4eb3983d5861d4eec2d0c0729ab95f867aa4a901c65865cc429e9b871c62d5d113509c3f621c7c81d7c7e4600b8a712a8ec256270a9
DIST python-gentoo-patches-3.13.12.tar.xz 8992 BLAKE2B e7a26ddbd76f337a0f3958e55d6f77864308d3db5b5b8bec36aa50c1845d28284c6d0ce4c847eb0ca2a51367baaf454be9c62bc1932ffdff5a4ee06c9701c3b4 SHA512 ef87942f8d1d145112b2275d1fce9f6faea19c37ed3e37fd8762f4470ecaa1d87f5a471f287d3e1bf7507af351894c15872ceea0ea41d4903707c12d4cf0c4d0
+DIST python-gentoo-patches-3.13.13.tar.xz 9000 BLAKE2B 583b48258c4048e0bf4c202b4e87de8a74d864c1b082f4de44569a2b736d3ecc43dd326961311667ceecd377338daae7ae2f624e2b3a056ba32f7b240227a227 SHA512 aeddb6ebd18f850642551bff11d81e667e7440e7c5d7337452fe9b34fe420dca2cbc04f916fd403f892289d5de26b933f4b19c59501d967ef67ce352a284d568
DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289
DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7
DIST python-gentoo-patches-3.14.2.tar.xz 8008 BLAKE2B aa454e26901a36a34dedb1deabfc4f6766ef2ee099443ea2d155061f1d005f883528d4a6984d22af0f3feaaee6fc1acf66f144ae701ce60b1e5b0b225600f42e SHA512 3cee495d3b7d579a75a30ed8747d7ba1fe70c0abc06b868d68b26e64452b014c7c6c51ff9782673702375ece87abf8a3e3f5dbd2ea48257ea14416fa8794ea53
DIST python-gentoo-patches-3.14.3.tar.xz 8012 BLAKE2B a8106360a6c77e0e19ecdf55e924b85cfd6dae65d54b7c306a793b08da5214993631b92b1cff385c2d995799055a4e4ca3a461d4e1e049ada38e97b4eae54a31 SHA512 1747a99cdc2ec29b985bc75f53f9f4cbd6f9377bfb06f6576b2970bd30ae8461a39ba870021866cf0f79320e2775047b2f70d53a06c5687ebac23b3ae68c157a
+DIST python-gentoo-patches-3.14.4.tar.xz 8012 BLAKE2B 07928ae9e2c057b75edabe287e0201a9aa35ddcfbb1b35c3729c25ccea707c343214ed82e0ad5df65a0994c0e263f7f50e8dd95ebdaae37210c14e1cc1f2d492 SHA512 8c8cf86842f42fa8634c0faee2c1e6dd51c621ae42d48300b0ab185d90653ad58e30c967a6b455e237303aa52d139a2980b948f8613725884d6aa0df016e07d8
diff --git a/dev-python/python-tests/python-tests-0.3.13.13.ebuild b/dev-python/python-tests/python-tests-0.3.13.13.ebuild
new file mode 100644
index 000000000000..2b21a2f00ac3
--- /dev/null
+++ b/dev-python/python-tests/python-tests-0.3.13.13.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit python-r1 verify-sig
+
+REAL_PV=${PV#0.}
+MY_PV=${REAL_PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 2-3)t
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-0.3.14.4.ebuild b/dev-python/python-tests/python-tests-0.3.14.4.ebuild
new file mode 100644
index 000000000000..bf874d658869
--- /dev/null
+++ b/dev-python/python-tests/python-tests-0.3.14.4.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+REAL_PV=${PV#0.}
+MY_PV=${REAL_PV/_/}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 2-3)t
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.13.13.ebuild b/dev-python/python-tests/python-tests-3.13.13.ebuild
new file mode 100644
index 000000000000..1cdf16c03c6d
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.13.13.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.13.0_rc1_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.14.4.ebuild b/dev-python/python-tests/python-tests-3.14.4.ebuild
new file mode 100644
index 000000000000..409fd92c24b6
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.14.4.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_/}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index ad2b266cf91a..cc04e8442a42 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,2 +1,4 @@
DIST rapidfuzz-3.14.3.tar.gz 57863900 BLAKE2B 41f76b01c7ed1b21c3e3fdb1012d54f824aea8fc687de85fe2fe5ef9a8c9f61488d620c3aadb53b31d2dd8c932465eef172ef2fbdd606cbc6642d978b1ca0882 SHA512 b54c5de564b956db16a9e770209717ad3d29df5b1aa7381e50d9ffc500ecc604fbbe47775b925a6fae825414af1aee858d583ecd2fae1595a4e52a5694aef9ad
DIST rapidfuzz-3.14.3.tar.gz.provenance 9233 BLAKE2B 0b5c72f48ab974efb07483136c16be6a9458d37bec5de194e9a7f063538ac5fec0343f2cc84b44b44de95e37a7106f7e1e65f2634b181ca43077c807671d97c5 SHA512 cd23ba40dc2f1c714e6df5580af642481a76cc5cb36ff97ccacc51089ba0b6565bac87737474a969901903a05f618bcae63b01d8b6be8412e34e0ac7797ec1f5
+DIST rapidfuzz-3.14.5.tar.gz 57901753 BLAKE2B 1cc150abbccb42fe58c79596168701eb1f68976327fc5ce7919000fd447e82ad1c4d4fa921678d5475187639c03331e0f678a78088ba7401f1d5a2eec37d0900 SHA512 9d7881f70b4a88502b3e2f85ef0b30ba08ca2863c76765b0a9806cf788be3145775e2595b084ea2701ff1ccedc7eaf2bb5fe854e8617acb1939abbb943773f64
+DIST rapidfuzz-3.14.5.tar.gz.provenance 9729 BLAKE2B 3740112d98598dfdc306afe43d798e05714a1c8e392e7f2cdfac15e1240907ba909a63eefd701ca751c65330a504a29acaeb79a27d16f5148ad0ed02692e47a7 SHA512 b66660adcaac97a4dcb13b1299a9726c745b109a40f21ff410c5818ad3b5491b2f4bd44bcdabcd6081ae34c299d76c2b2e355c7b645c9d2d855730905391f155
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.14.5.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.14.5.ebuild
new file mode 100644
index 000000000000..cde75173ea3d
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.14.5.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYPI_PN=RapidFuzz
+PYPI_VERIFY_REPO=https://github.com/rapidfuzz/RapidFuzz
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/rapidfuzz/RapidFuzz/
+ https://pypi.org/project/RapidFuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-3.3.3
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+ # force recythonization
+ find src -name '*.cxx' -delete || die
+ # do not require exact taskflow version
+ sed -i -e '/Taskflow/s:4\.0\.0::' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
diff --git a/dev-python/respx/Manifest b/dev-python/respx/Manifest
index 3253c156a965..6535b30326ee 100644
--- a/dev-python/respx/Manifest
+++ b/dev-python/respx/Manifest
@@ -1 +1,2 @@
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
diff --git a/dev-python/respx/respx-0.23.0.ebuild b/dev-python/respx/respx-0.23.0.ebuild
new file mode 100644
index 000000000000..68659e4e0a2d
--- /dev/null
+++ b/dev-python/respx/respx-0.23.0.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/setuptools-scm/setuptools-scm-10.0.5.ebuild b/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild
index 07ef15749205..50733085641e 100644
--- a/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild
+++ b/dev-python/setuptools-scm/setuptools-scm-10.0.5.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~riscv ~s390"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~riscv ~s390"
# there's an optional dep on rich for cute logs
RDEPEND="
diff --git a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild
index 7e303923502c..d81836c1134a 100644
--- a/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild
+++ b/dev-python/sphinxcontrib-mermaid/sphinxcontrib-mermaid-2.0.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ppc64 ~riscv x86"
RDEPEND="
dev-python/jinja2[${PYTHON_USEDEP}]
diff --git a/dev-python/sqlmodel/Manifest b/dev-python/sqlmodel/Manifest
index c194b00e7a0b..2f603b1c7a13 100644
--- a/dev-python/sqlmodel/Manifest
+++ b/dev-python/sqlmodel/Manifest
@@ -1,3 +1,2 @@
-DIST sqlmodel-0.0.29.tar.gz 119485 BLAKE2B 82d98cb0f5db782d473f7434ccfd9150ecb2f68b3a54c0a905a6c5c9681c4431780f233033236fce4a67d9daca00d7859be4288aa567f66d39db8d4968b05d9d SHA512 49775a6f21545078188fa8f172a731241d6965bb099b0c2948d445f50ca90420c9fae466c4fe6fd87f7e7addeb2cfdb370e5d7fddd521d1d51dcc1f098277503
-DIST sqlmodel-0.0.31.tar.gz 94952 BLAKE2B 6c2a968a6a0145b43e94317afa619905065f8e8f293ab6ded2549a37eb151814f9f2f41e05dbdcc1def8456fa60d158670d6ed5e6ef60a6950cc8c561514fd12 SHA512 485020a6f91e82a0bf9eb9c10fec69af3f1513e34808119afe58f635b182e677f5b20f9c46497fa68bf3bc037f0e534209895c882e6cdec3ab1f95533dc72f92
DIST sqlmodel-0.0.37.tar.gz 85527 BLAKE2B 28edc63001d0127f09062b77444aeb98e41f0b6bf205fc3ecd8a9a3e13e69071be7422477a4fc1b6eae6db9e4d765639615e483eb4316f0d43cbf0d70168a294 SHA512 11d6d34a128a17bff1cd446fcc9c2eb7372fabafb6761c3ead0d91335d090773be4dce972ee206462eab29b3cad0b9c033cd092ad4d4eecd94978cbb1dd19936
+DIST sqlmodel-0.0.38.tar.gz 86710 BLAKE2B 1ee9df40c3b2be81cbe05694f8a7be7bb3abf9befbce773e248e3961b99d44ffb3b92c20db3568a2427940bbf004ec103741bd2504f9e897e7a35958c29175c6 SHA512 740f68f2a9953e36becd5e100a229ec2bfb24b7a6ec61fa1706ea93ada43460dd059f5451716e86106132fdde26ff3b22f8e1139b99680e858e4321cc2a95f2f
diff --git a/dev-python/sqlmodel/sqlmodel-0.0.29.ebuild b/dev-python/sqlmodel/sqlmodel-0.0.29.ebuild
deleted file mode 100644
index ea6518545baf..000000000000
--- a/dev-python/sqlmodel/sqlmodel-0.0.29.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2024-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="SQL databases in Python, designed for simplicity, compatibility, and robustness."
-HOMEPAGE="
- https://sqlmodel.tiangolo.com/
- https://github.com/fastapi/sqlmodel/
- https://pypi.org/project/sqlmodel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- <dev-python/sqlalchemy-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-2.0.14[${PYTHON_USEDEP}]
- <dev-python/pydantic-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.13[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/fastapi[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Uses coverage
- # TIP: Search for subprocess.run([coverage])
- "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py::test_run_tests"
- "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py::test_run_tests"
- "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py::test_run_tests"
-)
-
-EPYTEST_IGNORE=(
- # Uses coverage
- # TIP: Search for imports of coverage_run
- "tests/test_tutorial/test_create_db_and_table/test_tutorial001.py"
- "tests/test_tutorial/test_create_db_and_table/test_tutorial001_py310.py"
-)
-
-python_test() {
- epytest tests
-}
diff --git a/dev-python/sqlmodel/sqlmodel-0.0.31.ebuild b/dev-python/sqlmodel/sqlmodel-0.0.38.ebuild
index a883327a8bb1..4aa0b96610b0 100644
--- a/dev-python/sqlmodel/sqlmodel-0.0.31.ebuild
+++ b/dev-python/sqlmodel/sqlmodel-0.0.38.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2024-2025 Gentoo Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,18 +20,17 @@ SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
+ >=dev-python/pydantic-2.11.0[${PYTHON_USEDEP}]
<dev-python/sqlalchemy-2.1.0[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-2.0.14[${PYTHON_USEDEP}]
- >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
- dev-python/black[${PYTHON_USEDEP}]
dev-python/fastapi[${PYTHON_USEDEP}]
dev-python/httpx[${PYTHON_USEDEP}]
dev-python/dirty-equals[${PYTHON_USEDEP}]
dev-python/jinja2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"
@@ -44,6 +43,8 @@ EPYTEST_DESELECT=(
"tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py::test_run_tests"
"tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py::test_run_tests"
"tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py::test_run_tests"
+ # Updates files
+ "tests/test_select_gen.py::test_select_gen"
)
EPYTEST_IGNORE=(
diff --git a/dev-python/sse-starlette/Manifest b/dev-python/sse-starlette/Manifest
index b604986a24c6..9aaecb973186 100644
--- a/dev-python/sse-starlette/Manifest
+++ b/dev-python/sse-starlette/Manifest
@@ -1 +1,2 @@
DIST sse_starlette-3.3.2.tar.gz 32326 BLAKE2B 819d912e2a6c7059a63e573db5f1b828af42c4664ed102731379d837c98eb2b374fe61cd147102b0df7aeb8cbe1af401ad1209058b789caa66d4b26136f5d73f SHA512 52d4574d5ff7f00ce605cda9d06e6e5b2f5d440c03ee224dc2d86879611e71398583fb9e1560f2cfdc6d2e09a87ebca8436891185512efbbe68011560e860c02
+DIST sse_starlette-3.3.4.tar.gz 32427 BLAKE2B b94814c801277526481d536bb1ab57f981ae884bf0ebb9f75a6f68ae4662855921db99e3f4c5dbd69f7ae9cb9f33e919b216fe1af16e6b872bb1560b5a35cf7b SHA512 1d329e898d08debb0818aa0e5cfbf5b8b706d346b1a0d327296e876f6e8eec977e589259753b6d2cc7656afc1b782e75cbe8015c82a8be64801f982c1f143e15
diff --git a/dev-python/sse-starlette/sse-starlette-3.3.4.ebuild b/dev-python/sse-starlette/sse-starlette-3.3.4.ebuild
new file mode 100644
index 000000000000..1154090b431c
--- /dev/null
+++ b/dev-python/sse-starlette/sse-starlette-3.3.4.ebuild
@@ -0,0 +1,37 @@
+# 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="Server-Sent Events for Starlette and FastAPI"
+HOMEPAGE="
+ https://github.com/sysid/sse-starlette/
+ https://pypi.org/project/sse-starlette/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/starlette-0.49.1[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/asgi-lifespan-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/portend-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-6.1.1[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/uvicorn-0.34.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/strawberry-graphql/Manifest b/dev-python/strawberry-graphql/Manifest
index 215c1dbf85bd..0db927d5f08e 100644
--- a/dev-python/strawberry-graphql/Manifest
+++ b/dev-python/strawberry-graphql/Manifest
@@ -1 +1,2 @@
DIST strawberry-graphql-0.311.0.gh.tar.gz 1266374 BLAKE2B efb47f68c3e4d60e689ed82e3adbf3a4455ae9ca6881389c0eabb2139ae774fe52251ad6000c431502389df92c66dc5cb59138916d75b95305cd1eab5bebf02f SHA512 3fa8e6b607530ba5ae81631bdd4a8b4b47a1d725f9d897a77065b689ccd8c816357cf971d647bd6b2f43508f39509a632b0879bc5b9a1fa31fa0223281565d58
+DIST strawberry-graphql-0.312.3.gh.tar.gz 1273652 BLAKE2B 0cace4518fcd65f5920cd860809ccac9fb9decfc9b0062ddbd3cb7418fcb4e41059f74464d2c44c8743d769dc3eba746534dee0e82c541f8c04fbe85b8f3cdc0 SHA512 2b4a9a28fe5551077e127d23460748be38798eaf10d8d7d78a5ec76f34efa9028145725493af06fa3f9e11683113b4dd5691b6e2cecb56bd42cdadf2ddccc493
diff --git a/dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild b/dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild
new file mode 100644
index 000000000000..4da9e4dc186f
--- /dev/null
+++ b/dev-python/strawberry-graphql/strawberry-graphql-0.312.3.ebuild
@@ -0,0 +1,99 @@
+# Copyright 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 #pypi
+
+DESCRIPTION="A library for creating GraphQL APIs"
+HOMEPAGE="
+ https://strawberry.rocks/
+ https://github.com/strawberry-graphql/strawberry/
+ https://pypi.org/project/strawberry-graphql/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/strawberry-graphql/strawberry/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/strawberry-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/cross-web-0.4.0[${PYTHON_USEDEP}]
+ <dev-python/graphql-core-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/graphql-core-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+
+# dev
+# integrations
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/libcst[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pyinstrument[${PYTHON_USEDEP}]
+ dev-python/python-multipart[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/inline-snapshot[${PYTHON_USEDEP}]
+
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/chalice[${PYTHON_USEDEP}]
+ dev-python/channels[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/fastapi[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/quart[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/litestar[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ "tests/benchmarks/"
+ # avoid daphne which requires autobahn
+ "tests/channels/test_layers.py"
+ "tests/channels/test_testing.py"
+ "tests/http/clients/channels.py"
+ # FIXME:
+ "tests/http/test_graphql_ide.py"
+)
+EPYTEST_DESELECT=(
+ # TODO: sanic
+ "tests/sanic/test_file_upload.py::test_file_cast"
+ "tests/sanic/test_file_upload.py::test_endpoint"
+ # test stdlib?
+ "tests/schema/test_lazy/test_lazy_generic.py::test_lazy_types_loaded_from_same_module[script]"
+ # FIXME
+ "tests/django/test_dataloaders.py::test_fetch_data_from_db"
+)
+EPYTEST_PLUGINS=( pytest-aiohttp pytest-asyncio pytest-django pytest-mock pytest-snapshot )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/strawberry-0.288.3-no-emoji-test.patch
+)
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE="tests.django.django_settings"
+
+ # avoid superfluous pytest-emoji dependency
+ epytest -o addopts=
+}
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index de2b5770e128..e16aa96e618f 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1,3 +1,5 @@
DIST textual-8.1.1.gh.tar.gz 30212024 BLAKE2B 897e3d4714aebaaacfed5a84e298a400c3f13224a74d64e958cb9eda1fd368d3ec00b8b6f350e2d229a68299a9007f893979e86f4b09b4ae2e1c39975e46f26e SHA512 335457e9f9b8e44e73e1d7103f9ffb8dd92adc10be906004066659ac5209069bfdb673f78473c21a251a5d891943d56b26b0544fd7365e5d72d4f3d220c73518
DIST textual-8.2.0.gh.tar.gz 30216630 BLAKE2B 5b68a3c21b93ceac315a38062cf4d3b85d9b36a906fc80684cf6b9645ca7ce02d7216784a8047e502154634375e398ee17918fc4841d29acf88231808c7a152d SHA512 8f4f7f2066fa4baa4dbe84cd0ba73150910423436d1d4cc2536c6bcd8c1f45c826cbc0e567b5497099738b4f35b3790199f4c24e4c2bf17572501661ef3e9488
DIST textual-8.2.1.gh.tar.gz 30218086 BLAKE2B c5d393abe19a851b354352baf56131436fe25b464df2884397c6cc08b556cbb0bd717171af140d3fc3f84d84161274cba04f6e122e32bf03b932c62433765417 SHA512 0bb1738980f2fe8bd1c9e6541428c0dd847158950b7dc6f00ae930a911448eef0ab4b9be087f4f15d4270afcaa1e1905e2749cac694e40857c78e43effdfdb1c
+DIST textual-8.2.2.gh.tar.gz 30217887 BLAKE2B 9ca518ed38659251075ab1b62088583ea6cd3088f40857eeed8777ae8366dda9e30d72c44d5b5f7a4002a702e70f77f1135588ac60d432f5ed6f647bf00d53ce SHA512 33117a0ff651769f9b3151432f41459836cd0446e03eca43ffd61ac0f8ac3ab500063a0d243013f43d44c8326234d2e839f486251ccd590d7bdca9cd2cba3be5
+DIST textual-8.2.3.gh.tar.gz 30218244 BLAKE2B 4de2f7675c5424541eb0d2652f670d71801c1639325f4df7671678a567f5edd51db1db43e6ac7d4d65d0ac872845faf93dc6cbac62bc0ae0b77cdd8f7f2b4528 SHA512 a9949612e58e8e6889c739430c1c15be05c96619bec9386691645e91f6842b422127d4a5b7d5a3dcaf0ed2015864d2338ffde7352b7394c4fdb167f9a129aadd
diff --git a/dev-python/textual/textual-8.2.2.ebuild b/dev-python/textual/textual-8.2.2.ebuild
new file mode 100644
index 000000000000..416ea220e6aa
--- /dev/null
+++ b/dev-python/textual/textual-8.2.2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-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="Modern Text User Interface framework"
+HOMEPAGE="
+ https://textual.textualize.io/
+ https://github.com/Textualize/textual
+ https://pypi.org/project/textual/
+"
+SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.6.0[${PYTHON_USEDEP}]
+ <dev-python/platformdirs-5[${PYTHON_USEDEP}]
+ >=dev-python/rich-14.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4.0[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+"
+
+declare -A SYNTAX_LANGS=(
+ ["bash"]="Bash"
+ ["c"]="C"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["cmake"]="CMake"
+ ["cpp"]="C++"
+ ["html"]="HTML"
+ ["javascript"]="JavaScript"
+ ["json"]="JSON"
+ ["lua"]="Lua"
+ # TODO No Python bindings in ::gentoo
+ #["markdown"]="Markdown"
+ ["python"]="Python"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["ruby"]="Ruby"
+ ["rust"]="Rust"
+ # TODO Many other (common) languages are neither in ::gentoo nor ::guru
+)
+
+BDEPEND="
+ test? (
+ dev-python/httpx[${PYTHON_USEDEP}]
+ =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}]
+ $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}")
+ )
+"
+
+DOCS+=( {CHANGELOG,README}.md )
+
+EPYTEST_PLUGINS=(
+ syrupy
+ pytest-{asyncio,textual-snapshot}
+)
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1)
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]"
+
+ # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1)
+ # TODO Investigate/ask upstream
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand"
+ "tests/snapshot_tests/test_snapshots.py::test_welcome"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding"
+
+ # Likely missed in this PR: (v8.1.1)
+ # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177
+ "tests/test_arrange.py::test_arrange_dock_left"
+)
+
+python_test() {
+ # Tests use @pytest.mark.xdist_group
+ epytest --dist loadgroup
+}
+
+pkg_postinst() {
+ optfeature_header "Install additional packages for syntax highlighting:"
+
+ local lang
+ for lang in "${!SYNTAX_LANGS[@]}"; do
+ optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]"
+ done
+}
diff --git a/dev-python/textual/textual-8.2.3.ebuild b/dev-python/textual/textual-8.2.3.ebuild
new file mode 100644
index 000000000000..416ea220e6aa
--- /dev/null
+++ b/dev-python/textual/textual-8.2.3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-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="Modern Text User Interface framework"
+HOMEPAGE="
+ https://textual.textualize.io/
+ https://github.com/Textualize/textual
+ https://pypi.org/project/textual/
+"
+SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.6.0[${PYTHON_USEDEP}]
+ <dev-python/platformdirs-5[${PYTHON_USEDEP}]
+ >=dev-python/rich-14.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4.0[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+"
+
+declare -A SYNTAX_LANGS=(
+ ["bash"]="Bash"
+ ["c"]="C"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["cmake"]="CMake"
+ ["cpp"]="C++"
+ ["html"]="HTML"
+ ["javascript"]="JavaScript"
+ ["json"]="JSON"
+ ["lua"]="Lua"
+ # TODO No Python bindings in ::gentoo
+ #["markdown"]="Markdown"
+ ["python"]="Python"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["ruby"]="Ruby"
+ ["rust"]="Rust"
+ # TODO Many other (common) languages are neither in ::gentoo nor ::guru
+)
+
+BDEPEND="
+ test? (
+ dev-python/httpx[${PYTHON_USEDEP}]
+ =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}]
+ $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}")
+ )
+"
+
+DOCS+=( {CHANGELOG,README}.md )
+
+EPYTEST_PLUGINS=(
+ syrupy
+ pytest-{asyncio,textual-snapshot}
+)
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1)
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]"
+
+ # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1)
+ # TODO Investigate/ask upstream
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand"
+ "tests/snapshot_tests/test_snapshots.py::test_welcome"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding"
+
+ # Likely missed in this PR: (v8.1.1)
+ # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177
+ "tests/test_arrange.py::test_arrange_dock_left"
+)
+
+python_test() {
+ # Tests use @pytest.mark.xdist_group
+ epytest --dist loadgroup
+}
+
+pkg_postinst() {
+ optfeature_header "Install additional packages for syntax highlighting:"
+
+ local lang
+ for lang in "${!SYNTAX_LANGS[@]}"; do
+ optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]"
+ done
+}
diff --git a/dev-python/uuid-utils/Manifest b/dev-python/uuid-utils/Manifest
new file mode 100644
index 000000000000..b44d134955e5
--- /dev/null
+++ b/dev-python/uuid-utils/Manifest
@@ -0,0 +1,60 @@
+DIST ahash-0.8.12.crate 43413 BLAKE2B 3e3ff0a91c538a063a09f1d71c0bd4df7d3b4cda3ba0945d3dad746430e0940979375e90ae5da7d585ffa44f387b17f38fc506ade0e0847feebe10d5c62f2b61 SHA512 872e5fa0d1334abac96d10eca18f32c2b1a1e0b38671c132b6effd029e9f0147ddcef79f4d85c8baf0537ddfb8c39a85f61d073e1fb3143dba659a8385641e1b
+DIST atomic-0.6.1.crate 15243 BLAKE2B 68934373e2f7ec150a2d41ca1a3db23d01acc5caf43a55b72ac83dc03d5cad0a058c62369105db1901f60cd27b7a37ecaafd272d4904b802e0af61e00d25d316 SHA512 ece971998331bc4f552f7271e7a479555e8c0de2b5fd122b24c218743557c5bee05d49501313e64b5ce7dfc0221f8184b57ed449157812b11856452cfa8fbc19
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
+DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
+DIST bumpalo-3.19.0.crate 96414 BLAKE2B f8c155f77cf977d72749f3cb943a6b171dfc4f67135da345a935ba603f2b52b5feafbba908b31feff391128196c7b0088f6f62d5b37bc4d2277fc0fb9c560b54 SHA512 58db27a643c55adae07061100e3604dad0056bacd42ce1142bcc34249645e9313e886c3174a755593544684fcc632f134f9c6066752ac695254fb9ecd40878cf
+DIST bytemuck-1.23.2.crate 53021 BLAKE2B 5fcf73b635ff86a728e2ab7ba58ba64059a3b81e148f4574a9f2b79375b5fae536cbff497a22e073015cf08baab9c7e8411ce43affd47e1058452358d061e8ed SHA512 b8d69276cfb861fc4766222548f7f1e45f40e03a118c634ad999292715d736192be3f740fda58fe844e7b21085bf3b1c41a9ed2d76c827fa67deaf7bec1fa385
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST cfg_aliases-0.2.1.crate 6355 BLAKE2B a758d9c88527f0e6e7cfd6d4c83eda1bcb4d6e2438189fe08e8ecbcaa78d56afc5a4873f3b82bf7da96afd690b44cdf1e44466b6da0f37c358b340481017103e SHA512 74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
+DIST getrandom-0.3.2.crate 49140 BLAKE2B abe823a8e91fdb83461007909ed447c64adceffb33dce63b18c6561e7c14263c66119370fecc9c564583bff6206800d5253704ca29be1824e210096abb3452fc SHA512 8c5ce6a6180554749a7eac237caaa852aafdcc92f052aa9b3eef24e10c4ec3794a0a1a1f35580d99dd864d464eb79121fbd19ab8f8780021b60378bc967e16a2
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255
+DIST libc-0.2.171.crate 785246 BLAKE2B 2bfbb3146d63444632b924520bc3d8af4adc6bbc38f4a7c6e8a003365430372ac1c05246684b54f0a98c36c8a7f02c325e1a6dd7fec44adeff41767e427ea77f SHA512 aca8b5f769dff18d9b3d73cae2c496f64a9828edfb0b57412da01a89158e770a5dcbb74bd83612870f9a08eb31647c1a2c92463189f16b01be8cdfc76fe0bacd
+DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e76288467941dc13722ab1566742c1821326ca5f8c2f9f7597099e235213ecbf883fd93daf5ae9ad5ee981 SHA512 8d57219b76c8a25bae193e4d16d4d03bf0b8523e1ed3bdc80a692cabe00fc0359ae9bc3be989f04476ecda7187f27e4ad23fe260a96fcefc819af00fe12a1151
+DIST mac_address-1.1.8.crate 12876 BLAKE2B c0e91482dc2aa5697188b747fc4544dbc787ee203821f7c2651b996d5041c7ae80ba02ad87b8ac447b16191644e3633136bea22cc379c3edcb669be499703eee SHA512 bc267a2347aa81e479f831ac6a06830176c7d5e97d85ec213c2845b30824585fb240111d3a8fbc2aee6b53dc6941d51f57c08dc4461d0293e945fc51f9d7bb35
+DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST nix-0.29.0.crate 318248 BLAKE2B 3a13a88375a359cf77b28d7f77f47f178bd31ef74b7627b6701bc6fc601024706be4e9ac1a076c7cba26b64d3bac4de17aab45fe3c045aa7a36e2d9232e872ca SHA512 86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.27.2.crate 1171342 BLAKE2B 421039fe650e01546661ab98593288f8058694d513261fe0025851a68b665bdfc001692c60a5a34ede92d13a6003e8f261e4bcdc17f67518a156f52916d2ff76 SHA512 b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
+DIST pyo3-build-config-0.27.2.crate 35564 BLAKE2B 8786478e559613cc258e2d0153d549f65c13a24a3fe612da7ac96e5f4038a1714dbc6a01b2d3e3d99b3de3af9658ad220647fbba4a33305bef81c07100426ada SHA512 dc7cee79ce7febddeec9e70dd5de3b59696a5cf38afeccdfeda00307cc22166d0e9649d5e34e9801b7f495b31c104fa78dac2241248787daae8b9ea1f4551ce5
+DIST pyo3-ffi-0.27.2.crate 78552 BLAKE2B cdd6fb74a49615c42e6c6979e28c1d56e0061ae9e9897a20032d6be27c635433e9fa459847bf3c88de3be7503d045ef78d4ea3e028403c1ed00da96930ed73dd SHA512 29936c7a0fa524304ca8b017ac912e2c3e9237a86ac8510c17b96b75c7e83948599884f064428640456cd5fb256246d536da432d096f924e78360efd973cee0b
+DIST pyo3-macros-0.27.2.crate 8913 BLAKE2B 99a9cf37cb05261fa75d0ede4ed8ad75bbe29b941a4c6a0907d1c1baa887d0777dcb5970c7fbe1337c1b127b6318d077e2d8374629485572f3f7997a3e3825b8 SHA512 b05f6b61c5b320e83e879384691cdb9ad57ade3ce5a9fdfb587ccd13ea1c92d2b210e2d7ca242c3d1a5f5173076a25578d3d81f5a8c3935a43f010bfa8452153
+DIST pyo3-macros-backend-0.27.2.crate 82513 BLAKE2B 9154f0275ac031fb456c313176490b7f98e033a9ff43caf32ca717e6dedc2c32435af5e7d9d2e784690fe2a379c033f0dc036b18c630fa7cb3c3365e335e3a12 SHA512 811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
+DIST python3-dll-a-0.2.13.crate 85018 BLAKE2B 4531172b7e985041fe3cf7d164c67dc74e5974fbdbc80f1b7fb5e351d8115cda0a7a8f64c037ff7fcf4c20918fa2a53a29c8784035c571e0c46be39cdc7faff4 SHA512 01438c7af7a936ae6b95e1b81f4596627043a4b02eea85241a18ed137c23dff644f3e8d8eeb45b8e64ef1fd2693ab47fde47b6341dfc56f6c4eca032da46647c
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158
+DIST rand-0.9.2.crate 99930 BLAKE2B 4440c21211e3c09daf8797de5ae1c7c461ead207456ad0a0405c6da266de51427dbd68090c461f1a349a04064e4bdba8151656e2e9f7c17be1f4aaeec1e26f3a SHA512 91faee823d9a3b109135182b9566e6327881736359c9d68358ad7dc78eac1e845c553820e2450ca481cae1e0969ec6566e72f7f9233251b1f9133449306f2965
+DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
+DIST rand_core-0.9.3.crate 24543 BLAKE2B d611130e240dffaff33f8384f13a008af93254b1530bbbd2369057ca33f295c7037178010efe76e4d7bf18e36003f843409fabec060c8c78077cba00772e66f9 SHA512 6e8e4067dbf5853c55b0ed38293b6bc6bdecbdd31bb9d624609b0222f706f5b29281ffd5fffd5c316367ba5b22c29e5282c61de3738344798ce0f9cf9cf2ce19
+DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
+DIST sha1_smol-1.0.1.crate 9809 BLAKE2B 954039c19b4c9faad6cd9f3f83edce220afb6970cb6628e69a1dd914a945a7b9466a8d46c41a650d505a3c01f406210ad59ed56504db18aa45125df3f2369cce SHA512 d0a67ca75b0617a39d28fdd73ae9aae3d3bf01ba24f6cc579b26da6f06125a304be90d446d17775959ab96ab165145657a54173679e6c0f42562a61c0e932b79
+DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372
+DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
+DIST typenum-1.18.0.crate 74871 BLAKE2B 99116d32b5317a658526daaf4fece2b9dc8cdbbc30c1e7a32fadf913e56a270a742abe0a0d348ea6039ae74fd4258c702d4626b14071626b7c5d2e2c31d82dec SHA512 c30ca78f8ba2e3e1bbfb3472c01974a0aeecb4471640ef373ddbef984ab37bca87ad4eced8193e5db6206d35ead31ebc25cdfe958f371625eeb97b6664f9c9e3
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST uuid-1.20.0.crate 60654 BLAKE2B f91ecedf66437f426ff6bb3633fd89f34b5c07898c2c44be02fa6c8217bcbf5dc86848ff882f3881b8f0847ec4dc9b51f4a62c4bf6a0e6577ab3cf9cf58f109f SHA512 16054a7814267ee0032ebc3ff408339d71b361499d7f1a1576ddbe42a605b94ada57578d7969aa9a3a028b38ded6016c2ad368356423154b2f488a38371f19e8
+DIST uuid_utils-0.14.1.tar.gz 22195 BLAKE2B 1f0cd513ba02d3bf4f3458d42424a9f82f6d7bdb418097f312ae9d20fac9de404f1056da154b6ef9420f6df06b94dbd929e4148c2547d246717e6a551bb5650a SHA512 c677f734e487a774976fc2ccd6550ea2b9bda17b3fb49f942f22127aff20400085472ae5f00d824e761a1667d74d618d07937b8e57b5b21346d1b198ee54c176
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST wasi-0.14.2+wasi-0.2.4.crate 140921 BLAKE2B 6b3ce7cb8ed888ad65053352b02b827bced3b59118d546ba593ffa9de48305bef62419751036e22b0f95c22fe34ea1d7bdf7fee0f6981181026d1eedfacf73d9 SHA512 57e47ba27fb2b66b34f017c85743b99687eb8bcdc1312fb36e30d0c501e670f00dc7d6113730d819364abef5e8ec04d95f0d1150ec2b6049e605fa8bbdaa2cb3
+DIST wasm-bindgen-0.2.100.crate 48288 BLAKE2B 8fc4f71c7d6cef15f131a9bdbb50e3eaf9f3894a5b6c1d73876824efb731b46e8c3449947893103f23bc15cad228a1b8bcccd45ada20df53b3f3dde6e419c184 SHA512 2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3
+DIST wasm-bindgen-backend-0.2.100.crate 32111 BLAKE2B 6bbbef709753e22230176121388a95fdb8f4dd32e0755dce5bf6c1127c54a236af292f319d14b5cd97bdb310fee65288e8f404921b83693e287164cf9d589a2e SHA512 a2ee30c1185644f989af6be34e93149a791c05125de24c0ff91c320f683f6f5d939fe42b8ca09d629096388a39256469f8b96a6e35722ccfdbe8d978c9a51770
+DIST wasm-bindgen-macro-0.2.100.crate 9663 BLAKE2B b8a3fc6b3571f8caf106a9e9f3d9cc48b86096d714c5d0208f03d44d47003b3b26441b5cd68bcd49a8c05758bc1b984e460fb62ab439ff2d68c72766ce20358f SHA512 a1942f838eff5fd54406b573d81fe18f262df48a19535245b1a46cb31db2a022746e861d72e5286c632969d15d416655460d3865309c4947cd3d7965dead5c42
+DIST wasm-bindgen-macro-support-0.2.100.crate 26243 BLAKE2B c18e35978b62dd2822ba8a4f6955cd5154b2a0d81b8e8032c2f8bda42c1c25f74a13f3e1c3a7bf47a823de2517a237e6a1aef18b189bf1f2b934123c58d1eb34 SHA512 0d03eaeda37c9c6ae06c0fa96e872b54780c4cf545b621c730dcc113dd59a8cb6333c5e3818f51365f71913b9669d8a870a06e70729722d03c07a49cff8a4fdf
+DIST wasm-bindgen-shared-0.2.100.crate 8570 BLAKE2B 886fa72cae891d4c2311e12e28f0a7bde9bcaca893603afa3428a402726b3b2bcdb6cb7dca6fdf983bd8fac5f049f0543537f2161318769b43c7eebfc906df27 SHA512 3fca8ddd1c6b2f66f70f6608c9b341822603f1c0dd71d47d27c6be8fe3f2c88598619946627720734b48cf999cafd0c63a08af5db28ea78a1538d2165a5fba61
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST wit-bindgen-rt-0.39.0.crate 12241 BLAKE2B c8cda3c7a513dca58e2ad52b03692714750870801af37a235bfe1f217afe880f36df56d8e54b52ee1cb9f4e30f5580b8a28519b44084d2191146977f237e406f SHA512 24b559688991083057b7fc0b6fa9f84445ae11cf53fca20887f55da93c24d97c9a3ed6488b3a845fe88243530b46442d3c2de70da4dc1c64f3ac632a440ea2c7
+DIST zerocopy-0.8.26.crate 249223 BLAKE2B 793b5579fc9120026d2dd7b1a6e7fc2505476288c1f6dc06746c3d65a8655551ba7232ddebb54cb2abd1284d8103369820445cd11b31d86501871c69513e7e1a SHA512 dac6018003092ff65396c93de65a432edea42a28870af4e779f391c7be19a06b6df429493f433532613a8fa18998367714e89abd06324586f5f91f20fd5dc592
+DIST zerocopy-derive-0.8.26.crate 88080 BLAKE2B ca9b8ee1970b75d0119a520ab4f2a44b88d28b2b3c48acd2fb81f3fe1b1081efcb52c50bbe21045cc8b16d15305f87ea3c8032d40298af1ecf024e8ff8cf0c2a SHA512 344469950a97cd691849792a6a1bc875c04797c8e7950ef4bbce22a467f527cf28209f802ee8d74db71973355d1350fcd33b161000a92670fbf30e89e3e32526
diff --git a/dev-python/uuid-utils/metadata.xml b/dev-python/uuid-utils/metadata.xml
new file mode 100644
index 000000000000..18ae1398a215
--- /dev/null
+++ b/dev-python/uuid-utils/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <upstream>
+ <doc>https://aminalaee.github.io/uuid-utils</doc>
+ </upstream>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/uuid-utils/uuid-utils-0.14.1.ebuild b/dev-python/uuid-utils/uuid-utils-0.14.1.ebuild
new file mode 100644
index 000000000000..04ce05030801
--- /dev/null
+++ b/dev-python/uuid-utils/uuid-utils-0.14.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ ahash@0.8.12
+ atomic@0.6.1
+ autocfg@1.1.0
+ bitflags@2.5.0
+ block-buffer@0.10.4
+ bumpalo@3.19.0
+ bytemuck@1.23.2
+ cc@1.0.83
+ cfg-if@1.0.0
+ cfg_aliases@0.2.1
+ crypto-common@0.1.6
+ digest@0.10.7
+ generic-array@0.14.7
+ getrandom@0.3.2
+ heck@0.5.0
+ indoc@2.0.5
+ js-sys@0.3.77
+ libc@0.2.171
+ log@0.4.27
+ mac_address@1.1.8
+ md-5@0.10.6
+ memoffset@0.9.0
+ nix@0.29.0
+ once_cell@1.21.3
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ proc-macro2@1.0.86
+ pyo3-build-config@0.27.2
+ pyo3-ffi@0.27.2
+ pyo3-macros-backend@0.27.2
+ pyo3-macros@0.27.2
+ pyo3@0.27.2
+ python3-dll-a@0.2.13
+ quote@1.0.36
+ r-efi@5.2.0
+ rand@0.9.2
+ rand_chacha@0.9.0
+ rand_core@0.9.3
+ rustversion@1.0.22
+ sha1_smol@1.0.1
+ syn@2.0.68
+ target-lexicon@0.13.2
+ typenum@1.18.0
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ uuid@1.20.0
+ version_check@0.9.4
+ wasi@0.14.2+wasi-0.2.4
+ wasm-bindgen-backend@0.2.100
+ wasm-bindgen-macro-support@0.2.100
+ wasm-bindgen-macro@0.2.100
+ wasm-bindgen-shared@0.2.100
+ wasm-bindgen@0.2.100
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ wit-bindgen-rt@0.39.0
+ zerocopy-derive@0.8.26
+ zerocopy@0.8.26
+"
+RUST_MIN_VER="1.85.0"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Fast, drop-in replacement for Python's uuid module, powered by Rust."
+HOMEPAGE="
+ https://aminalaee.github.io/uuid-utils/
+ https://github.com/aminalaee/uuid-utils
+ https://pypi.org/project/uuid_utils/
+"
+SRC_URI+=" ${CARGO_CRATE_URIS}"
+
+LICENSE="BSD"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64"
+
+QA_FLAGS_IGNORED="/usr/lib/python.*/site-packages/uuid_utils/.*.so"
+
+EPYTEST_PLUGINS=()
+EPYTEST_DESELECT=(
+ # Network sandbox probably messes with it
+ # https://github.com/aminalaee/uuid-utils/issues/99#issuecomment-3666565390
+ tests/test_uuid.py::test_getnode
+)
+EPYTEST_IGNORE=(
+ # Benchmarking doesn't make sense in an ebuild
+ tests/test_benchmarks.py
+)
+distutils_enable_tests pytest
diff --git a/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild b/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild
index 5f34efa4d93b..30c7475a9db7 100644
--- a/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild
+++ b/dev-python/vcs-versioning/vcs-versioning-1.1.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~riscv ~s390"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~riscv ~s390"
RDEPEND="
>=dev-python/packaging-20[${PYTHON_USEDEP}]
diff --git a/dev-python/wxpython/files/wxpython-4.2.4-setuptools.patch b/dev-python/wxpython/files/wxpython-4.2.4-setuptools.patch
new file mode 100644
index 000000000000..06e8bfd2e90e
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.4-setuptools.patch
@@ -0,0 +1,78 @@
+https://github.com/wxWidgets/Phoenix/commit/b91db9a2eff6460dd7189e24020bff1573c63211
+
+From b91db9a2eff6460dd7189e24020bff1573c63211 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Fri, 6 Feb 2026 20:31:33 -0500
+Subject: [PATCH] Fix build with setuptools 81+
+
+Unfortunately distutils changed the API of copy_file and
+copy_tree, so we need to replace our monkey patched versions.
+
+(cherry picked from commit 1dec4c8fc560795b01bb54ca5f62a598fda2d8dd)
+---
+ setup.py | 33 +++++++++++++++++++++++++++++++--
+ 1 file changed, 31 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 71d57d699..9bcef61c5 100644
+--- a/setup.py
++++ b/setup.py
+@@ -9,6 +9,7 @@
+ # License: wxWindows License
+ #----------------------------------------------------------------------
+
++import inspect
+ import sys, os
+ import glob
+ import stat
+@@ -260,9 +261,29 @@ def wx_copy_file(src, dst, preserve_mode=1, preserve_times=1, update=0,
+ os.symlink(linkdst, dst)
+ return (dst, 1)
+
++def wx_copy_file_new(src, dst, preserve_mode=True, preserve_times=True,
++ update=False, link=None, verbose=True):
++ if not os.path.islink(src):
++ return orig_copy_file(
++ src, dst, preserve_mode, preserve_times, update, link, verbose)
++ else:
++ # make a new, matching symlink in dst
++ if os.path.isdir(dst):
++ dst = os.path.join(dst, os.path.basename(src))
++ linkdst = os.readlink(src)
++ if verbose:
++ from distutils import log
++ log.info("%s %s -> %s", 'copying symlink', src, dst)
++ if not os.path.exists(dst):
++ os.symlink(linkdst, dst)
++ return (dst, True)
++
+ import distutils.file_util
+ orig_copy_file = distutils.file_util.copy_file
+-distutils.file_util.copy_file = wx_copy_file
++if 'dry_run' not in inspect.signature(orig_copy_file).parameters.keys():
++ distutils.file_util.copy_file = wx_copy_file_new
++else:
++ distutils.file_util.copy_file = wx_copy_file
+
+
+
+@@ -271,9 +292,17 @@ def wx_copy_tree(src, dst, preserve_mode=1, preserve_times=1,
+ return orig_copy_tree(
+ src, dst, preserve_mode, preserve_times, 1, update, verbose, dry_run)
+
++def wx_copy_tree_new(src, dst, preserve_mode=True, preserve_times=True,
++ preserve_symlinks=False, update=False, verbose=True):
++ return orig_copy_tree(
++ src, dst, preserve_mode, preserve_times, True, update, verbose)
++
+ import distutils.dir_util
+ orig_copy_tree = distutils.dir_util.copy_tree
+-distutils.dir_util.copy_tree = wx_copy_tree
++if 'dry_run' not in inspect.signature(orig_copy_tree).parameters.keys():
++ distutils.dir_util.copy_tree = wx_copy_tree_new
++else:
++ distutils.dir_util.copy_tree = wx_copy_tree
+
+
+ # Monkey-patch make_writeable too. Sometimes the link is copied before the
+
diff --git a/dev-python/wxpython/wxpython-4.2.4.ebuild b/dev-python/wxpython/wxpython-4.2.4.ebuild
index efe2ae19870e..cfedabd6bf02 100644
--- a/dev-python/wxpython/wxpython-4.2.4.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.4.ebuild
@@ -58,6 +58,7 @@ PATCHES=(
"${FILESDIR}/${PN}-4.2.0-flags.patch"
"${FILESDIR}/${PN}-4.2.1-x86-time.patch"
"${FILESDIR}/${PN}-4.2.2-setuppy.patch"
+ "${FILESDIR}/${PN}-4.2.4-setuptools.patch"
)
python_prepare_all() {