summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-11-02 07:07:48 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-11-02 07:07:48 +0000
commit64f2ecf7f878941ddcb49fbeb10e26352844b683 (patch)
treec710766a9905c755fa07176b73abb480f7266c13 /dev-python
parentd42db3ed2648023a152ebde11df983ae337f4b51 (diff)
downloadbaldeagleos-repo-64f2ecf7f878941ddcb49fbeb10e26352844b683.tar.gz
baldeagleos-repo-64f2ecf7f878941ddcb49fbeb10e26352844b683.tar.xz
baldeagleos-repo-64f2ecf7f878941ddcb49fbeb10e26352844b683.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/b2sdk/Manifest1
-rw-r--r--dev-python/b2sdk/b2sdk-2.10.0.ebuild54
-rw-r--r--dev-python/beartype/Manifest2
-rw-r--r--dev-python/beartype/beartype-0.22.5.ebuild43
-rw-r--r--dev-python/cwcwidth/Manifest1
-rw-r--r--dev-python/cwcwidth/cwcwidth-0.1.12.ebuild35
-rw-r--r--dev-python/hishel/Manifest1
-rw-r--r--dev-python/hishel/hishel-1.1.1.ebuild73
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.143.0.ebuild125
-rw-r--r--dev-python/ipywidgets/Manifest1
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.8.ebuild57
-rw-r--r--dev-python/jupyterlab-widgets/Manifest1
-rw-r--r--dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.16.ebuild26
-rw-r--r--dev-python/kombu/Manifest1
-rw-r--r--dev-python/kombu/kombu-5.6.0.ebuild92
-rw-r--r--dev-python/levenshtein/Manifest1
-rw-r--r--dev-python/levenshtein/levenshtein-0.27.3.ebuild49
-rw-r--r--dev-python/libtmux/Manifest1
-rw-r--r--dev-python/libtmux/libtmux-0.47.0.ebuild41
-rw-r--r--dev-python/marshmallow/Manifest3
-rw-r--r--dev-python/marshmallow/marshmallow-4.1.0.ebuild (renamed from dev-python/marshmallow/marshmallow-4.0.0.ebuild)2
-rw-r--r--dev-python/mkdocs-material/Manifest2
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.6.23.ebuild (renamed from dev-python/mkdocs-material/mkdocs-material-9.6.20.ebuild)2
-rw-r--r--dev-python/pbs-installer/Manifest2
-rw-r--r--dev-python/pbs-installer/pbs-installer-2025.10.31.ebuild31
-rw-r--r--dev-python/rapidfuzz/Manifest2
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.14.3.ebuild51
-rw-r--r--dev-python/rich-argparse/Manifest1
-rw-r--r--dev-python/rich-argparse/rich-argparse-1.7.2.ebuild31
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.50.0.ebuild56
-rw-r--r--dev-python/sybil/sybil-9.2.0-r1.ebuild38
-rw-r--r--dev-python/tenacity/files/tenacity-9.1.2-py3.14.patch70
-rw-r--r--dev-python/tenacity/tenacity-9.1.2-r1.ebuild43
-rw-r--r--dev-python/widgetsnbextension/Manifest1
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.15.ebuild32
37 files changed, 916 insertions, 58 deletions
diff --git a/dev-python/b2sdk/Manifest b/dev-python/b2sdk/Manifest
index c20b47305908..534f6e6d7a0c 100644
--- a/dev-python/b2sdk/Manifest
+++ b/dev-python/b2sdk/Manifest
@@ -1,2 +1 @@
-DIST b2sdk-2.10.0.gh.tar.gz 423479 BLAKE2B 04dc1c347817ef537c6c6a217e69baa0e54d0dce75601926c785f6dd43a402b30e3936e1062e7da988d3aac143b5541ed5e35f49b0175f1440a94018605794af SHA512 16bdd1d5bcc503fd1262ebe92518adfff77981370598d06044dd1ab8e8bccb6ae1d5072831a13bf58bf9571fada076e1c5389c5472f2b9e1617a734e946200f4
DIST b2sdk-2.10.1.gh.tar.gz 423901 BLAKE2B 13695181133e0df9a313cc0352f10f3d7dd5b301c87f6edce1ef88292eee2fdf78a48d79a8a3690c43abeb6dac3193955371260aa126bb9b0bcd1f0a67f99f4c SHA512 c2c74bd1ae33801ef2f3a13781a423efd10843283a2b976ccbf4baac80a586be2b827f862fa1d0d8b7bdcd662c75a37b4687b162672421a040c74ca47fb272c5
diff --git a/dev-python/b2sdk/b2sdk-2.10.0.ebuild b/dev-python/b2sdk/b2sdk-2.10.0.ebuild
deleted file mode 100644
index af71b82f77d6..000000000000
--- a/dev-python/b2sdk/b2sdk-2.10.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 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="Library to access Backblaze B2 cloud storage"
-HOMEPAGE="
- https://github.com/Backblaze/b2-sdk-python
- https://pypi.org/project/b2sdk/
-"
-# No tests in sdist
-SRC_URI="https://github.com/Backblaze/b2-sdk-python/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/b2-sdk-python-${PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# pydantic can be used but it has a fallback
-RDEPEND="
- >=dev-python/annotated-types-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/logfury-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/tenacity-9.1.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}]
- >=dev-python/tqdm-4.5.0[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires network access and real API keys
- test/integration/test_bucket.py
- test/integration/test_download.py
- test/integration/test_file_version_attributes.py
- test/integration/test_sync.py
- test/integration/test_upload.py
- test/integration/test_raw_api.py
- # ... and they fail to import w/ pytest-8.4.1 anyway because of
- # pytest_plugins at non-top-level.
- test/integration
-)
-EPYTEST_PLUGINS=( pytest-{lazy-fixtures,mock,timeout} )
-
-export PDM_BUILD_SCM_VERSION=${PV}
-
-distutils_enable_tests pytest
diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest
index 54e040eaecbe..632416dfee83 100644
--- a/dev-python/beartype/Manifest
+++ b/dev-python/beartype/Manifest
@@ -4,3 +4,5 @@ DIST beartype-0.22.3.tar.gz 1571548 BLAKE2B aa260a0515d715c32d084a63d9dfdebceeae
DIST beartype-0.22.3.tar.gz.provenance 9698 BLAKE2B 0eacd3891864a0e027ea117bf6f942c55b8bde5d7c5b25453c740a11100c6b6feb1434b5a9e2903137084d415652f43684aebc0866a4c84d04389199b1d727e5 SHA512 3fbb4de65cebd2d8d45c705ce93136c09257d653eafb901b8087d206ec26a5bde5ed00eae33e7ff07718ca3093921fff5cce1fabcf5546531924e540b7105053
DIST beartype-0.22.4.tar.gz 1578210 BLAKE2B e5a3d26ee00e2d348b873c7815aa191e20bc59c517706e0139264379f5a9fa398c64feadbe312ccaae60ed09d930600ae9893da035ed9a2c363958fb7645f54b SHA512 e65c07cd8a313c38b04fef9a8d41ad5124e0460ff7cad3222c5f24303a7dd77d28d452126a3cabab79dd57ab78c0a5ad0f774ee69ac86f1f696b42fd15cbc0c8
DIST beartype-0.22.4.tar.gz.provenance 9745 BLAKE2B cb7a04a3d0a00ed70d1e572dfa7ca9f2fec67a281cbe6139ed72f0bc460446668c59c18708e856208a4847d08247a8a67dc4e6298dccbdcf9d815ded844eeba3 SHA512 eeda1b3beea02d55ab89a8f58cb2c103163482a03c77f573d3bdd2756f8bf5c92bcdf5f209e20341d910dd00b850f5f5fa56ea136f52e4fbdf892d26b5303dbb
+DIST beartype-0.22.5.tar.gz 1586256 BLAKE2B f0781c2c94fbb371142d7a9d63117c3fa1493538f3f47767599d3468aa1fd363c350fa6eabb9febf519a4244ac864ad90083b56949ed4ffc35fd17a3592ac60e SHA512 899effb6818aa3fb461d0a1b15e9d5ab58ba64d5145fddd55cbb6574c1aeb36aa21d523182dbe911b736d2a34eb1c4b35227af18ac34aae39517e6db0fe76b02
+DIST beartype-0.22.5.tar.gz.provenance 9271 BLAKE2B 26ce73f020d2fb1e03a0b9854f0867a21cbf51fbbaaa813b718d7f615b51c0a1ed4fb2533930cce3ed45f480178d980399bc5555aac5a494f0c77527db5f3da9 SHA512 1608cc7c1d52ec54b05bb829a3445f1dcce5340ca95794f37f07104bf46eb0183284315dff40539889150794724ab01dd842b0b81d1dd2824e28856c1a0c0a39
diff --git a/dev-python/beartype/beartype-0.22.5.ebuild b/dev-python/beartype/beartype-0.22.5.ebuild
new file mode 100644
index 000000000000..018b80dc4bc7
--- /dev/null
+++ b/dev-python/beartype/beartype-0.22.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2025 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/beartype/beartype
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unbearably fast runtime type checking in pure Python"
+HOMEPAGE="
+ https://pypi.org/project/beartype/
+ https://github.com/beartype/beartype/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile performance test
+ beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
+ # test for building docs, apparently broken too
+ beartype_test/a90_func/z90_lib/a00_sphinx
+ # poetry, also broken
+ beartype_test/a90_func/a50_external/test_poetry.py
+)
diff --git a/dev-python/cwcwidth/Manifest b/dev-python/cwcwidth/Manifest
index 2ec789887c68..1586d31a108b 100644
--- a/dev-python/cwcwidth/Manifest
+++ b/dev-python/cwcwidth/Manifest
@@ -1,2 +1,3 @@
DIST cwcwidth-0.1.10.gh.tar.gz 14158 BLAKE2B 8e375ef486496ca5d422d833eea6fecaf881f898580d5130c485f2c3881434dc8d51aca1803fff8fd08c09a468290a0810a7c3031ca0e7648dc4970c27999e73 SHA512 eb4321ca49b997feb5c5442c98730610dcfbc8b0e8f5397f3c5b08f51b84ee6248577a0b81d79db83115d1f91751dbfb0cc35f3551099b0b02270cee1226985d
DIST cwcwidth-0.1.11.gh.tar.gz 14264 BLAKE2B 870f1b95b54f6e96e2f11756127772d812571dad512ccdf01b3a1e8706938e03411aed56b222b21980380c15270de7c1e960455c1def2bc42a87ed1ecef114a7 SHA512 38cf742803efb60ce2e30f4e801c5bf35515b7e1bdc2b3fdb0480055714242a40732620451c190dd2d6e256325852ab72ef2dba693b8775d9f557152e1b3150f
+DIST cwcwidth-0.1.12.gh.tar.gz 14458 BLAKE2B 3ee49376f8988035f992a2ba2fe4cb3ee07f004fb57ba8035dcaad300af11f436c64946f7de9d145da5cc9cb51db6824387d0b2ef4bbfdc0045166a95afbf4ec SHA512 659dd9c98e55bf1414a48ead149cd85c589f69472dfe8c62171ab950e1dd89f661cec9104f05a4079fe365d2178e4e78d29e67fcd3bc25bf8661696ad4eac7fb
diff --git a/dev-python/cwcwidth/cwcwidth-0.1.12.ebuild b/dev-python/cwcwidth/cwcwidth-0.1.12.ebuild
new file mode 100644
index 000000000000..f654464cc5ca
--- /dev/null
+++ b/dev-python/cwcwidth/cwcwidth-0.1.12.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for wc(s)width"
+HOMEPAGE="
+ https://github.com/sebastinas/cwcwidth/
+ https://pypi.org/project/cwcwidth/
+"
+SRC_URI="
+ https://github.com/sebastinas/cwcwidth/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+BDEPEND="
+ >=dev-python/cython-3.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_test() {
+ cd tests || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
index e5cdf9ec371a..bdc4bffabbc3 100644
--- a/dev-python/hishel/Manifest
+++ b/dev-python/hishel/Manifest
@@ -1,3 +1,4 @@
DIST hishel-0.1.5.gh.tar.gz 1065622 BLAKE2B 926801f579a57cc2b45cb6cd5326459493452d34b32a2725b906307dcc4575b1297b35ffc626e51acc5805216731552d58c672dedb0541f2c771f153daee960d SHA512 b1f850895b147da616ace381d98ac9b6a15386d7e79d64a57a4e87f9bd0b42009a6ffa15fe1f8e46c57f8bc664c3af97d46e5adb81211e30fae87dab898f7734
DIST hishel-1.0.0.gh.tar.gz 1094037 BLAKE2B 65ae2cf7f4b891ffc4ee1db1b2cfd816cf27f47dc3a410844e3da943a565e2372b706c6c1500c999cbc482165fea769b174a66e2e111824e28f57dfb8d6a6bbb SHA512 521058fec2e8e998c94b348260500ee36dfbbd571eb557f3430f3557a314ac7e7fe4f3e68f3a6980e17a232328ce1989de37629134023ac6bdacd83151958d39
DIST hishel-1.1.0.gh.tar.gz 1094013 BLAKE2B b5efeefe4ed58607fceff877e3c5f8f0c9a4dffbd959f1e12ba703c9202a4c3e66d4b497e45b08ea3cdec90d8577c1d11a095fecd989d743259430946571a021 SHA512 5bed11379a73ed8afed0173b9e33b92294ca076aed3422c4fd484794a8834426498045edb55ad4f58f0a0e355f61766dfa6ccaaffc0d14971c8c179a2ca054e2
+DIST hishel-1.1.1.gh.tar.gz 1096020 BLAKE2B aa575b65be1f95905c789ffc8159c81d7c39a30b8f8f2e3f85983e4f0d7a47b13b5953bf08fc53fb81116d2fe6f7735daef88fc623abb1f2e8c7d7df25b17670 SHA512 cd6e90695cfd4194306432cf8adaf2a7adc3f44bbe6ccb31b6a651f07eb0ccb6ea16641f1c4b6f0f3a5198a8a891ebedce051e597613d8d8ab5028e95328e2e6
diff --git a/dev-python/hishel/hishel-1.1.1.ebuild b/dev-python/hishel/hishel-1.1.1.ebuild
new file mode 100644
index 000000000000..f11ce5dc514c
--- /dev/null
+++ b/dev-python/hishel/hishel-1.1.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2024-2025 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="An elegant HTTP Cache implementation for HTTPX and HTTP Core"
+HOMEPAGE="
+ https://github.com/karpetrosyan/hishel/
+ https://pypi.org/project/hishel/
+"
+SRC_URI="
+ https://github.com/karpetrosyan/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/anyio-4.9.0[${PYTHON_USEDEP}]
+ >=dev-python/anysqlite-0.0.5[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-1.14.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-db/redis
+ >=dev-python/boto3-1.15.3[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.28.0[${PYTHON_USEDEP}]
+ >=dev-python/redis-6.2.0[${PYTHON_USEDEP}]
+ >=dev-python/time-machine-2.19.0[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.30.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_async_httpx.py
+ tests/test_requests.py
+ tests/test_sync_httpx.py
+ )
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Starting Redis"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 87b7d116c567..41d857929c4f 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,3 +3,4 @@ DIST hypothesis-6.142.2.gh.tar.gz 9624421 BLAKE2B b211bf50f2311e8854197a7b935024
DIST hypothesis-6.142.3.gh.tar.gz 9624774 BLAKE2B 0c61fc5cde52c782a11670ae09cb11bf3f322a64d1bed9d620a95aea3aed0318bcf4b4daf504d26bcb37e9cface73dee1df6b11099e4378a81d27f5890118f93 SHA512 f854fed77c4363d305f2f71a41ed517f81febcad6a6d401c053060605a9615637ec1ac9dc3fa88bf91eddbcdb57b82693efbdf12635a9b9d0de17340c52f7c2d
DIST hypothesis-6.142.4.gh.tar.gz 9624807 BLAKE2B ca10595f6d76b6b707428a9bbf432ddb3e61890b6e529b984ce8231ac3d0b7070e6a311f1a7f70e2c82f673694f3e39bd8a8dad716f5bdb02fdec08aa4f2205f SHA512 a34749a558bd688f66201601a5ce29f1180e6b5fe3d0c07da9f72f1c0152ea9bc516797e917a287a8a6b9da1c09886cf97c934a154fc090083b2b9cf37492426
DIST hypothesis-6.142.5.gh.tar.gz 9625137 BLAKE2B 2a0146541b95710419c5ede4288a3996d1e7688932b7f888d960fed5c69b344b1fb5e9e4509c97033d102137e315b10d3d1d336ed6964db8caaacdd23c160213 SHA512 5d7f21dd449a951ea9974dcb586087a5f0a43a2bc84ff5898ef81d53d9a543a7afdc26e85ffc21be01f300d6582eedb2f99cf086fd5eb9debb457b62f75500ea
+DIST hypothesis-6.143.0.gh.tar.gz 9632960 BLAKE2B f09cbbefe2f8f08f395f7b985e0228ad187a5099e4324a42fb46b3b2717121d51adac443659179b8a71069b9588036d667a9d9190cbfdd7ea5af08dc32aacafe SHA512 3e64ca49152f776f719f25ad10f60616535eb7d9474237df64613997ce7bec9d8afbf15ecd1f0b84246b3befe7fe78398dc7a5b475f489573393c966aa31babc
diff --git a/dev-python/hypothesis/hypothesis-6.143.0.ebuild b/dev-python/hypothesis/hypothesis-6.143.0.ebuild
new file mode 100644
index 000000000000..69da4112ef36
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.143.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest
index 72d263dae077..09e2b5d17da6 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1 +1,2 @@
DIST ipywidgets-8.1.7.tar.gz 116721 BLAKE2B 425557d840d4ddb904d22b0680a7e4ad6156adc3e129f0a95b0e8d2c55de0055b53bba213e40452af11da061d51878c03257fe38adaa3e6f7d102bbbe14033e0 SHA512 8085be87f0c2f2c334e9965d21e16c71009b260216e84ff1e5faaa81a5b9f0709a28150a8eac52bed7aeed4a3dc87b0d0632ae4ff62b15512be521b2e5be22aa
+DIST ipywidgets-8.1.8.tar.gz 116739 BLAKE2B 6de9ec7d8f7ecc6f8b734c4731e0eecdcc19be5238063b061ae851fa7a61a38400fadc0b01f2c8f56d204179b8f9eae43dea37f9096a34d920d4317d30f466cb SHA512 a05fa56a17aefcb62c91816e7bad54dec6f3219f1de8ad3d8dbb7680093f05ee149277d84a4fd77f6c6dfa903e9d8a49330708950ec39c6517cc4d22d385d3da
diff --git a/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild
new file mode 100644
index 000000000000..aa51998d0195
--- /dev/null
+++ b/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipywidgets.readthedocs.io/
+ https://github.com/jupyter-widgets/ipywidgets/
+ https://pypi.org/project/ipywidgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/comm-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/ipython-genutils-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/widgetsnbextension-4.0.14[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-widgets-3.0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ >=dev-python/ipython-6.1.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pypy/pypy/issues/4892
+ ipywidgets/widgets/tests/test_interaction.py::test_interact_noinspect
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/jupyterlab-widgets/Manifest b/dev-python/jupyterlab-widgets/Manifest
index 5d5cc116ac6d..c1730f44de8f 100644
--- a/dev-python/jupyterlab-widgets/Manifest
+++ b/dev-python/jupyterlab-widgets/Manifest
@@ -1 +1,2 @@
DIST jupyterlab_widgets-3.0.15.tar.gz 213149 BLAKE2B eae5a123166e7cc0d1716218f8705955c5b520b54e0e3dbae3c92700f62b714c60109afc13d7358e6f6dc2e1dd01c36a93cc57dc574a5a3ea8ea46e64819d7ae SHA512 0e6f570e2e3a419db9a81e46566dc961ac904f30957d9326788ea2e94c915da1ec49e08dd93a17c5b49338ed84baaeae259a9c1923a3f135abb2a1b6d4e0f2f3
+DIST jupyterlab_widgets-3.0.16.tar.gz 897423 BLAKE2B 7fcebb8a691876a2ad338838f08be6a4c0375312bb2886e531f3a53e0e29e6019cd0635d7d25f434d96f9fd06a1610884bdae82aae893a3de37cfa6436062fab SHA512 263e13c810f83d9343d7c3d04582a83af4bf21b10ce9e1129bc2ffb9366937c8810c813fa14e8d9ba8569b11b64d9dcc405b845b6af0f071c28a4d5d1950bb40
diff --git a/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.16.ebuild b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.16.ebuild
new file mode 100644
index 000000000000..4cec2f680d3a
--- /dev/null
+++ b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.16.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter interactive widgets for JupyterLab"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/jupyterlab-widgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests import-check
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
index e478f2dafbb1..c4dcc988394b 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1,3 +1,4 @@
DIST kombu-5.5.4.tar.gz 461992 BLAKE2B 7c81ddd2c151b7abd984c2523e7855785796db23de5c1a43348870019de26079fb9b6475a5174ceea6ca461188cff4a8fe4da76d95345ac611a13d29c3a9848f SHA512 f3227303aa7ad1a4bd480c601f99f7b4ae2db6d3790defd02b4a9e4ccd6875630a9e6582f65f334a04a5111c456c489395fc4af5b2dd4a557e6aa47616859668
+DIST kombu-5.6.0.tar.gz 470557 BLAKE2B ca24998244e53cba0a84270e606ecc7b7b2759f93ef7d4018b92916098243054aa4230883e9bdb956d1166c5ec387da22e7118e018267d343b090ca37ecd67a3 SHA512 a69c835a44a2307803c708ade77ff49d0d016f4d9fa19f2881499cbf4a24b981ed8b6a2e50d5ebb2482508303110cc3d14695dd69d30cd9b00875992605e66ec
DIST kombu-5.6.0rc1.tar.gz 470754 BLAKE2B 8b059617ff7cc846bcb7800bfd74b2d70637e636369dc47f149dd96d81c40bc2ae32d447c46ea625754d9c2ad2246db82b4c400493d9199e5c09ee8232b4c4d6 SHA512 a1b86d5a2b30d23b40b5eccbb4af4e40965d7da0e4fc793aa3abd733152cd4378002334267a091d27dbf607701ec76764c05c6cf4888817f06e72e6a7e15f7ed
DIST kombu-5.6.0rc2.tar.gz 470604 BLAKE2B ba02d700cae49e1daab5b1f3cd0a95fdef086a0a4b992c83a0cca0ace0c676fc225f7494392d511ad7fcafeba8bd10b3169be6dd67ac78b411e6bbcf51d4951b SHA512 a1425bb5523a71e185544f4d295caf55b412cf767a5aef65b6783c3dfe9c5af960805675ccb6d09b24bf278ed63afcfee4716e3184eacc98e89fce5207b2c93f
diff --git a/dev-python/kombu/kombu-5.6.0.ebuild b/dev-python/kombu/kombu-5.6.0.ebuild
new file mode 100644
index 000000000000..8da2e4374862
--- /dev/null
+++ b/dev-python/kombu/kombu-5.6.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="
+ https://github.com/celery/kombu/
+ https://pypi.org/project/kombu/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
+ <dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}]
+ dev-python/vine[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}]
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pycurl-7.43.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2.2[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-freezer )
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-celery
+
+EPYTEST_DESELECT=(
+ # TODO
+ t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported
+ t/unit/transport/test_redis.py::test_Channel::test_global_keyprefix_transaction
+ # bad filename assumption?
+ t/unit/asynchronous/aws/test_connection.py::test_AsyncHTTPSConnection::test_request_with_cert_path_https
+)
+EPYTEST_IGNORE=(
+ # obsolete Pyro4
+ t/unit/transport/test_pyro.py
+ # unpackaged azure
+ t/unit/transport/test_azurestoragequeues.py
+ # unpackage google-cloud
+ t/unit/transport/test_gcpubsub.py
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps (notably tzdata, sigh)
+ > requirements/default.txt || die
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl"
+ optfeature "Etcd backend" dev-python/python-etcd
+ optfeature "MongoDB backend" dev-python/pymongo
+ optfeature "Redis backend" dev-python/redis
+ optfeature "sqlalchemy backend" dev-python/sqlalchemy
+ optfeature "yaml backend" dev-python/pyyaml
+ optfeature "MessagePack (de)serializer for Python" dev-python/msgpack
+ optfeature "brotli compression" "app-arch/brotli[python]"
+ optfeature "zstd compression" dev-python/zstandard
+}
diff --git a/dev-python/levenshtein/Manifest b/dev-python/levenshtein/Manifest
index 8b81892ebda2..a6fcdf5375a3 100644
--- a/dev-python/levenshtein/Manifest
+++ b/dev-python/levenshtein/Manifest
@@ -1 +1,2 @@
DIST Levenshtein-0.27.1.gh.tar.gz 38370 BLAKE2B 92618a2beb5a9ca90c07bc000fe8cbeb31609bf5e2c0085ec900d307b4e80058bbcf9911acaa70a4233057f915e33a24e2d47fb90251025f026af2700c08c4e2 SHA512 900614697dc6456223ac99d9a7eed007b605da44239806d9e7b736142c3e2ab2544abc5d206a03d99b8d1e24f7efb837fa1782477bf7854ad71d8d6f37c8e6c2
+DIST Levenshtein-0.27.3.gh.tar.gz 37467 BLAKE2B 8d8c5b445a8a01664dac6cb336ace8c3a48c0e1db2434bc907683432a32462bb8503d3327ac2aa4fbd1d3b11fc45d38de23dd84498ea5da31c5baf01555a3ff7 SHA512 1102d6421066ea59c821416d80eec99044fd574659db2e063a5564249afddac097e740788b8d0f5c1c3c72c1a4d3ae94f027ac8609f5ad1cadde378aaee9bf43
diff --git a/dev-python/levenshtein/levenshtein-0.27.3.ebuild b/dev-python/levenshtein/levenshtein-0.27.3.ebuild
new file mode 100644
index 000000000000..085f80ce796f
--- /dev/null
+++ b/dev-python/levenshtein/levenshtein-0.27.3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_P=${P^}
+DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
+HOMEPAGE="
+ https://pypi.org/project/Levenshtein/
+ https://github.com/rapidfuzz/Levenshtein/
+"
+SRC_URI="
+ https://github.com/rapidfuzz/Levenshtein/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+DEPEND="
+ <dev-cpp/rapidfuzz-cpp-4
+ >=dev-cpp/rapidfuzz-cpp-3.2.0
+"
+RDEPEND="
+ <dev-python/rapidfuzz-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rapidfuzz-3.9.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3.0.11[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-core-0.11[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest
index 387e1fe44451..2866f0f870a2 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -7,3 +7,4 @@ DIST libtmux-0.45.0.gh.tar.gz 329763 BLAKE2B 3c8184b9e7ab874b4a85e3d3c3be3e96e48
DIST libtmux-0.46.0.gh.tar.gz 337117 BLAKE2B 23caa10584c943ee1e7c162ce97d9d18d297a52fa15a4ac66be2e29314499d2f99bfa5a3061cef6ad80dc94ba8bf9362725d92e74385973aa717849a78388ac4 SHA512 4143639f0219c5751e69718d79c08efec8f9a6f5229aa48f6a7f7fe6c32486ee4b92f6d962fa6ef8f396852a688e373daf0d416f29b95036d015b3fcbba063a9
DIST libtmux-0.46.1.gh.tar.gz 337302 BLAKE2B b0e086aab882c9ec82ee5606a7ea02e81a549d3009bf8b0f4bc736d8ba8cc7130afd024781c95e332527bdb72202346558d90a4989c5ff2cbb7f6836960e88ef SHA512 41b526d40373d1251260cea8e4fc94cb176275f2c399030b66266663e831f733fb017bebc32e92b9809212c064b21e539853ec780b8f75f0afe01db8b5cb2236
DIST libtmux-0.46.2.gh.tar.gz 350347 BLAKE2B b771eb8e0fc48082ec7e08d82143c48c0df51bb0f5cc2783df4969a78cbfb232aef76e9ec3b44e728a49651c892cfec6b4623297fc7c5cf8f7cf96453b04aba4 SHA512 60ca1e3699ce6fb5bb0b44ef6ef7349b96c9b1eec8f3761e6da94cd69fc9088a25d717271d34350b79b4139c4607ee37933370d83d6645462b34caa02f65bb07
+DIST libtmux-0.47.0.gh.tar.gz 357616 BLAKE2B 3372a0cb7fff2723ac21c364b1be813f4b47c346a09375cb0ee219abed152c5e9b2fe812a9c48183f531a173076911dbed246b12f9bbfd293c3b1856aef325d9 SHA512 7302b955602e4a0869cc6f676a24baac555ef861e1db0d8bbed0008fda368cc42ebee78c7fefbcfa44ca5587843ff6b53ac13c7762aab45e9f710c4fac7e4b89
diff --git a/dev-python/libtmux/libtmux-0.47.0.ebuild b/dev-python/libtmux/libtmux-0.47.0.ebuild
new file mode 100644
index 000000000000..35123bb35542
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.47.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-mock )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+
+ epytest -o addopts= tests
+}
diff --git a/dev-python/marshmallow/Manifest b/dev-python/marshmallow/Manifest
index de05ca758244..9df1daa024f6 100644
--- a/dev-python/marshmallow/Manifest
+++ b/dev-python/marshmallow/Manifest
@@ -1,3 +1,4 @@
DIST marshmallow-3.26.1.tar.gz 221825 BLAKE2B 37ac0cb401efd046070a406cfbbfb130020dcd0f60e8244f8734b28b9c1a3c151d8550016fb54d83861dd61f7d60c6157469fa575e2df1474f45e70bed7b8cd4 SHA512 b0146313010d03d7c5e4808bfb274e2923df455c34e5d31931a35b76c713dd1e403fdb0da95ba4f0eba3bdb747a57c4f85f296aad870170380e4d54fc6824d1e
-DIST marshmallow-4.0.0.tar.gz 220507 BLAKE2B 0e5256d1a662ccab596491e261d762b7ef58003cd842b9a25fc84f66b6b5b85381fd783465d85c8c3473c66d90d6138a43a94fec3b071a4e9a4b8cfec8a0db64 SHA512 6f0657d02f145722e6fd821d1ad752a2707970b26d7b09b9d63771476b3fefc9af4d1dfc67f253a40b06b641523832758c58de280d59f5009d815f0a4826e1b2
DIST marshmallow-4.0.1.tar.gz 220453 BLAKE2B 1bb1e81ee7e1cf378693f82506bde523b2f701d3e9c0c7e26b97a27323beaa3eac5a1a5f413ceecf291b708fe30ecf809a9675a7d43399f3e5420db8cc50fea7 SHA512 01d5bf587d5ec5b6032cd7595a2eb3ed24b19f903926f8de5a56e3c0692d14cddd037fb27a02b52e8940c5092fcb0c8c66804e1f0a2e861f6caf5d5897890089
+DIST marshmallow-4.1.0.tar.gz 220619 BLAKE2B 67ffa46f347064a1a4e6069444fb2d1a020e44ca6680ac593b975c807439e518de0937879f217e75261f3f3688e9aa352f4cc9d1944155c5039602383a0a6647 SHA512 48a8dcea2e7219b7c312f8b9aa2ca17a49253f1abb6994f60052d028252e34227efb32de2a0404c29171a41574e7a75a6f84522b9dcf1822658a47ae40dc8dcb
+DIST marshmallow-4.1.0.tar.gz.provenance 9352 BLAKE2B 37cfda9136c3ad48ad94ae465ad09c693ffca729163316fa7f4f70f35bdfce5618ce3360896a019e670067734d88519b92f4164332058e5af48787ffacfd6c42 SHA512 a1cb86a2a1e31ee348ede77a8e300a47dedd1b5ba80519637639b619180c5beaff8624a4b319d65977345ff86092f504eb035b4620c2a1c74684443bcb638cdf
diff --git a/dev-python/marshmallow/marshmallow-4.0.0.ebuild b/dev-python/marshmallow/marshmallow-4.1.0.ebuild
index d2bccdb207bf..85752286282a 100644
--- a/dev-python/marshmallow/marshmallow-4.0.0.ebuild
+++ b/dev-python/marshmallow/marshmallow-4.1.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
+PYPI_VERIFY_REPO=https://github.com/marshmallow-code/marshmallow
PYTHON_COMPAT=( python3_{10..14} )
inherit distutils-r1 pypi
@@ -24,4 +25,5 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 84157d59d332..1f0c59b91993 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,3 +1,3 @@
-DIST mkdocs-material-9.6.20.gh.tar.gz 14933529 BLAKE2B bb4bd67e3d29d3528406bfd21f34614b8aa11b442714711c96589afbb3f758a90eaefa7a4784c0ab4d5c6befbb4e1d1625c702237242b488a0c7fc63be367c44 SHA512 2336ede01937aff3bc47117deb96423d2c115430a77343f3de3668898d47240e6d06286b76d9342ac31eac5369cdc9b7f4bf80cbf3a5b49c9dec76c6a547aca3
DIST mkdocs-material-9.6.21.gh.tar.gz 14941581 BLAKE2B cfb1182279ec2a5ac7fbb6970b9f6724893f17b529d2857d0cf8dfa4d0527c3527a49235cb29a636dc5110ca57279206904f94c36012d14156f4b055f0a6857c SHA512 5cc2f0da266627b901788ecccd759bff535bfed83086fcfe73da92dbc0789c1c77286ae37fcfb07385bc7fdebbd1770e709cf1ee2746e11f36325add14fa97ed
DIST mkdocs-material-9.6.22.gh.tar.gz 14941613 BLAKE2B bc7a76f70d3813dc3a7881703335fa94ff19ca24aca1a69e6b5800aefc6f62d26b4c912f652dfdf045ec11e9623a743c5a2058118d987a9fdf693b337428be09 SHA512 e516fb0400edbc1f59befb43d81245baa97d6e95b3538e19e53845816dc4b13833907df910a10dbab93fcf8df600bccd4fff099cc01f762767882d8d5655ae47
+DIST mkdocs-material-9.6.23.gh.tar.gz 14945692 BLAKE2B 33202d793d582ad5da323dc17d38dfc57a125c84e3245a6fb94f59c866c1a89d9d848d651e89c5d057631a0888afaa444076264ceda294fcbd0a52f5390116e7 SHA512 88f73cf6b73a5b6ddf200bd4aeacea0984f7a5ec396c805301168def0f69366cb1b108b4e11f73394f900ef162663d66e1e31b376f1bdc913507ef1100109dfc
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.20.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.23.ebuild
index 5e2c0ac6efd7..13045bd1c123 100644
--- a/dev-python/mkdocs-material/mkdocs-material-9.6.20.ebuild
+++ b/dev-python/mkdocs-material/mkdocs-material-9.6.23.ebuild
@@ -29,7 +29,7 @@ LICENSE="MIT"
# bundled icons
LICENSE+=" Apache-2.0 CC0-1.0 CC-BY-4.0 MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="social"
RDEPEND="
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
index 19310e91ffbb..e12ef4762a7b 100644
--- a/dev-python/pbs-installer/Manifest
+++ b/dev-python/pbs-installer/Manifest
@@ -4,3 +4,5 @@ DIST pbs_installer-2025.10.14.tar.gz 63626 BLAKE2B 043053c36750378cde810222ba00b
DIST pbs_installer-2025.10.14.tar.gz.provenance 9758 BLAKE2B 04771a558d84fdafdd67ce9e441cd34446cffc18a7ff51f9ffc0e3b34f73545cf0ce5e98684ee341aa41bc43c598ae172b8fdc16da95998cced8ef04e25a4442 SHA512 86c1c8109dc21719c571f8f94f5b197c1a4385945b5575f3af77ae287a181bc00e8754eac7d630e507207f27d56ff88eecc301a0568a945d3a2f50f84937f581
DIST pbs_installer-2025.10.28.tar.gz 63633 BLAKE2B e7a1238e17e0429350bd76639cd89fae01406ff2783e33fe448f4030cfec7a68022b045752f809b74b81f62c5b471bb17f40497ecd377c7bf9f1a7d6e6f47da4 SHA512 30027866490f06a7cc47674ce426d08282f85d723e24d11589ea7021e9e175d594b09bac330ca72fbb7a3b2fa99f956e3012b0806f91ca976b19ea0933c5eae7
DIST pbs_installer-2025.10.28.tar.gz.provenance 9464 BLAKE2B 3996dba5cdf71067e6ae24bc017c4402bba4c00527bba3206d0e22a59a29ea82c3dd03f85f1191fa20074a2ad6078639b50f12589910be3ca6771739550c0ea7 SHA512 89eef3ff6c920dc00041d87b27cd8c6287f509dfc97fad4556d87cd12d2e463ec7c71c3de2e7a6f531fb7e740452ccc13e1cab672434024a7a47d7c8acbba6af
+DIST pbs_installer-2025.10.31.tar.gz 64218 BLAKE2B abb8f2ff6e75defa83487023187ff740c943fc35c8c5c08bcb1596afcd64996b2d5fa80b882312f2ed177048409fa7622e728c1268dbb805283f492e4e71af96 SHA512 edc05ab2a3ebdae329239d17b75807ff195584cf47df091d6b19a6ec9851e5a76fff41c7f74375c6fb25520f9a81acdae40203207d06dd880cbc39758a4dfbaa
+DIST pbs_installer-2025.10.31.tar.gz.provenance 9515 BLAKE2B 26b5982298e0eded3ac08b76cfbaa3c6715dd967d2a44965403f49d797dc9442a6c9aed1ee0f390c1364b9ed0c629ddf4dec98219197ba82f449bf576fa11677 SHA512 26a7ec454de9ce8e188b08f62a480636d97b9622cd0f0d02d679e32cb242f50d4a756a94794720358f6745b126c00eb07fb7b6069f50e80ab0fda389daacaad1
diff --git a/dev-python/pbs-installer/pbs-installer-2025.10.31.ebuild b/dev-python/pbs-installer/pbs-installer-2025.10.31.ebuild
new file mode 100644
index 000000000000..ba26c68ac2a0
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2025.10.31.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYPI_VERIFY_REPO=https://github.com/frostming/pbs-installer
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# httpx is needed to download builds
+# zstandard is needed to install them
+RDEPEND="
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.21.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-import-check )
+distutils_enable_tests import-check
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index cfe145fbf932..7f755bc94182 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,3 +1,5 @@
DIST rapidfuzz-3.14.1.tar.gz 57869570 BLAKE2B 6eccd859b80413652ab055c3802deec650945f77e4addba3f6fe062c3c1054bcfcabfb98d17aa317f81de41722982229ca83c419609a341d116c8ba85d7d71c8 SHA512 26a27055d9b591883d35805945b54e4b0710aaa11703874e30ecf40ecfe091628dcf03a98fdc060fa5f20b6c4d7e23fd977fc0ca134bd1993a33c2a52cb57395
DIST rapidfuzz-3.14.2.tar.gz 57863880 BLAKE2B 5d1a18342b0084a3adf77402310c9c78b30a4ed5f7083475a4eb3be1b4dbb3d4e1951ecaa1314e151c6c559ba69252cf4d799e451ab5fb10f540cf39a0dbedcb SHA512 e030a3f53314bbc3d6d53194bd3f53d7187103ea9ced0b8ece3dc4b0b7be611b613f142ba97ae203bfd6362aa5a80a5531dd3d1f4a6e0b7677f46382cc089f4f
DIST rapidfuzz-3.14.2.tar.gz.provenance 9515 BLAKE2B ec6413d02ac99fd4e2524838c04c83aeab414a372bb24625b89d772512ddcf2007f96a71bb2822a3938244a826f28e80225016012996abaee87fca857e534783 SHA512 95702ca6dad2dffc978427840280b905faf90c5ef5f7bbf81d566bb6d9028a6760bf4263551e4c5934862ef83404c370df2c60212fb9edde80e019a87cc6d6c7
+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
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.14.3.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.14.3.ebuild
new file mode 100644
index 000000000000..fee0b4c5c608
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.14.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-2025 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:3\.10\.0::' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
diff --git a/dev-python/rich-argparse/Manifest b/dev-python/rich-argparse/Manifest
index 80d0a4669e01..875ded76ab3b 100644
--- a/dev-python/rich-argparse/Manifest
+++ b/dev-python/rich-argparse/Manifest
@@ -1 +1,2 @@
DIST rich_argparse-1.7.1.tar.gz 38094 BLAKE2B 26c8d961c814b44907d63ce4a0f9d66995223d492f2f1d9f756d1e88c1873f0c93d3605dad4583205ff0e8bd4756c09d15b4a87e3b0374099f273a5dbac8c7ea SHA512 f4245bfa7eb4f44b97a6cf44bd5c81599c5136afbe73f74893b115dc409df9d3bcadf6db3fe723d767ad7a6def3bf96d3689c83b3f1372fce1e273ea9379104a
+DIST rich_argparse-1.7.2.tar.gz 38500 BLAKE2B 36c432a79d1ef514dc96a4d2205c018a51c0773030f5ffd5634bdf9dca10796bd3f6835996d31189bfb9529745163ab7421939d3ef33af2f707cc2ab5fef34e8 SHA512 8ae4d1374980d571991b1501ebbd50facdbae345bf9e9102881964a168d7b62ac955633043590a89fdae8988734945c879d7777239229a61ac3e39358b0a2b7a
diff --git a/dev-python/rich-argparse/rich-argparse-1.7.2.ebuild b/dev-python/rich-argparse/rich-argparse-1.7.2.ebuild
new file mode 100644
index 000000000000..d2de049a3dd7
--- /dev/null
+++ b/dev-python/rich-argparse/rich-argparse-1.7.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2025 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="Rich help formatters for argparse and optparse"
+HOMEPAGE="
+ https://github.com/hamdanal/rich-argparse/
+ https://pypi.org/project/rich-argparse/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ >=dev-python/rich-11.0.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local -x COLUMNS=80
+ epytest
+}
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index e72ccd0bd9d4..45bfae47e291 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1,3 @@
DIST starlette-0.48.0.gh.tar.gz 2654804 BLAKE2B 436358d1a11748827c827fdd8ddec1f577ccad969367dc94b536604be6cd95fb7dbb8d34c17381f669a9994ebe776cf13c22d0c73979e096003e3f7eb0fc4e0a SHA512 a7cb3920bb9fb9ebed9f56ebfa392d3c2baf95a08b0f2d2e16f53f89c1259e4d755e4e6a0c5fc819e03158e2a5fe2447c3c127621e11a644b25a6328a5bbee41
DIST starlette-0.49.1.gh.tar.gz 2656482 BLAKE2B 179b96363d6fbe7ce98d9be7ec22b94bb5363db049f26dc697d36419a7068fc2815d61c0a75f3bb4c29e3c7bd0556bb2e8769fba73b29f10ea03cecac6a90a1c SHA512 efc540c9a4b6d04e6f426d1825a19a05a12f0b5f242e6acc64822e32db0d33cacfc71ffbeb2dca4b4e8f8898a4beee02a61a1cc1ad8b034215422f43de7103a1
+DIST starlette-0.50.0.gh.tar.gz 2649331 BLAKE2B efbec279e34687a9e038833ff9347a671bdbfc57515741155f2434235bfc78e10d815a39c03535308c13616a3a70a206142d28bede6831cecf0944da9bfe626d SHA512 2440bc996ba0a303f4e02daff5a00d6edf51a23442ac6c4491655a1db81e3311c56ee03c93d582855f2bbd3c1267b7cde92e2091551f81dc1cf285746a9d4de2
diff --git a/dev-python/starlette/starlette-0.50.0.ebuild b/dev-python/starlette/starlette-0.50.0.ebuild
new file mode 100644
index 000000000000..0910a187ddc6
--- /dev/null
+++ b/dev-python/starlette/starlette-0.50.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/Kludex/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/Kludex/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
+ <dev-python/httpx-0.29[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+)
diff --git a/dev-python/sybil/sybil-9.2.0-r1.ebuild b/dev-python/sybil/sybil-9.2.0-r1.ebuild
new file mode 100644
index 000000000000..63d2991d5a62
--- /dev/null
+++ b/dev-python/sybil/sybil-9.2.0-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019-2025 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="Automated testing for the examples in your documentation"
+HOMEPAGE="
+ https://github.com/simplistix/sybil/
+ https://pypi.org/project/sybil/
+"
+# tests are missing in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/simplistix/sybil/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/seedir[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/tenacity/files/tenacity-9.1.2-py3.14.patch b/dev-python/tenacity/files/tenacity-9.1.2-py3.14.patch
new file mode 100644
index 000000000000..43d4d7b3d572
--- /dev/null
+++ b/dev-python/tenacity/files/tenacity-9.1.2-py3.14.patch
@@ -0,0 +1,70 @@
+https://github.com/jd/tenacity/commit/eed7d785e667df145c0e3eeddff59af64e4e860d
+
+From eed7d785e667df145c0e3eeddff59af64e4e860d Mon Sep 17 00:00:00 2001
+From: Sandro Bonazzola <sandro.bonazzola@gmail.com>
+Date: Fri, 27 Jun 2025 10:18:58 +0200
+Subject: [PATCH] Support Python 3.14 (#528)
+
+Signed-off-by: Sandro Bonazzola <sandro.bonazzola@gmail.com>
+---
+ tenacity/__init__.py | 12 ++++--------
+ tests/test_asyncio.py | 3 +--
+ tests/test_issue_478.py | 3 +--
+ 9 files changed, 24 insertions(+), 23 deletions(-)
+
+diff --git a/tenacity/__init__.py b/tenacity/__init__.py
+index e274c215..e93793cc 100644
+--- a/tenacity/__init__.py
++++ b/tenacity/__init__.py
+@@ -307,19 +307,15 @@ def statistics(self) -> t.Dict[str, t.Any]:
+ future we may provide a way to aggregate the various
+ statistics from each thread).
+ """
+- try:
+- return self._local.statistics # type: ignore[no-any-return]
+- except AttributeError:
++ if not hasattr(self._local, "statistics"):
+ self._local.statistics = t.cast(t.Dict[str, t.Any], {})
+- return self._local.statistics
++ return self._local.statistics # type: ignore[no-any-return]
+
+ @property
+ def iter_state(self) -> IterState:
+- try:
+- return self._local.iter_state # type: ignore[no-any-return]
+- except AttributeError:
++ if not hasattr(self._local, "iter_state"):
+ self._local.iter_state = IterState()
+- return self._local.iter_state
++ return self._local.iter_state # type: ignore[no-any-return]
+
+ def wraps(self, f: WrappedFn) -> WrappedFn:
+ """Wrap a function for retrying.
+diff --git a/tests/test_asyncio.py b/tests/test_asyncio.py
+index 0b74476b..f6793f0b 100644
+--- a/tests/test_asyncio.py
++++ b/tests/test_asyncio.py
+@@ -40,8 +40,7 @@
+ def asynctest(callable_):
+ @wraps(callable_)
+ def wrapper(*a, **kw):
+- loop = asyncio.get_event_loop()
+- return loop.run_until_complete(callable_(*a, **kw))
++ return asyncio.run(callable_(*a, **kw))
+
+ return wrapper
+
+diff --git a/tests/test_issue_478.py b/tests/test_issue_478.py
+index 7489ad7c..83182ac4 100644
+--- a/tests/test_issue_478.py
++++ b/tests/test_issue_478.py
+@@ -12,8 +12,7 @@ def asynctest(
+ ) -> typing.Callable[..., typing.Any]:
+ @wraps(callable_)
+ def wrapper(*a: typing.Any, **kw: typing.Any) -> typing.Any:
+- loop = asyncio.get_event_loop()
+- return loop.run_until_complete(callable_(*a, **kw))
++ return asyncio.run(callable_(*a, **kw))
+
+ return wrapper
+
diff --git a/dev-python/tenacity/tenacity-9.1.2-r1.ebuild b/dev-python/tenacity/tenacity-9.1.2-r1.ebuild
new file mode 100644
index 000000000000..92f7e4420fed
--- /dev/null
+++ b/dev-python/tenacity/tenacity-9.1.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="General-purpose retrying library"
+HOMEPAGE="
+ https://github.com/jd/tenacity/
+ https://pypi.org/project/tenacity/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/tornado-6.4-r1[${PYTHON_USEDEP}]
+ dev-python/typeguard[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.1.2-py3.14.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to timing
+ tests/test_asyncio.py::TestContextManager::test_sleeps
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/widgetsnbextension/Manifest b/dev-python/widgetsnbextension/Manifest
index 81f9dab2a6c4..8c98fdf27fc8 100644
--- a/dev-python/widgetsnbextension/Manifest
+++ b/dev-python/widgetsnbextension/Manifest
@@ -1 +1,2 @@
DIST widgetsnbextension-4.0.14.tar.gz 1097428 BLAKE2B c9016a57560bd9e1c0fb7f7513b17f3a2b9831381d2f96c38c7abd6b19c8435b30afd8028ac5d70d9540d1bf1b6b783254cbf86e3c4450f7a754c09e20ca0c6e SHA512 508dca1a24a886609df795c71411bd137726ff348b9d4c021f8e0d83f97bbcf8eb2e8e2359c590c05bdffe65ca84f4fb2f4bcf7dbe5eca74a374c4679ebe6997
+DIST widgetsnbextension-4.0.15.tar.gz 1097402 BLAKE2B d8ad784030c312ab14bbcd1d24337b2f4476ddcd61e711a60f2fca595c2c8240e51755f33ce2ff58206145fb1eab3525371e91ff3dcc59a944530485a828978f SHA512 f7a9091a6c6462e22be4068749f410f08efb6920e356ffde272d684638bfb2bf075f188bdd634dfcc04038f4ed740062a7caf35714a50c25e89b843f59bc6fe4
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.15.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.15.ebuild
new file mode 100644
index 000000000000..af3bd812efa3
--- /dev/null
+++ b/dev-python/widgetsnbextension/widgetsnbextension-4.0.15.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/widgetsnbextension/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ dev-python/jupyter-packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests import-check
+
+src_install() {
+ distutils-r1_src_install
+
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}