summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-07 03:05:50 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-07 03:05:50 -0500
commit8453817910bc2afbb7ab1fbf61c3f06fb7320f35 (patch)
tree3d107194f4fc4d247ed6c21875e9dff4562e22e1 /dev-python
parente3ac4a99dbb849deb8dd15df4be98e6e14d55ab5 (diff)
downloadbaldeagleos-repo-8453817910bc2afbb7ab1fbf61c3f06fb7320f35.tar.gz
baldeagleos-repo-8453817910bc2afbb7ab1fbf61c3f06fb7320f35.tar.xz
baldeagleos-repo-8453817910bc2afbb7ab1fbf61c3f06fb7320f35.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ansi2html/Manifest5
-rw-r--r--dev-python/ansi2html/ansi2html-1.9.2.ebuild26
-rw-r--r--dev-python/ansi2html/ansi2html-1.9.5.ebuild (renamed from dev-python/ansi2html/ansi2html-1.9.3.ebuild)0
-rw-r--r--dev-python/bleach/files/bleach-6.0.0-py39.patch48
-rw-r--r--dev-python/cattrs/Manifest1
-rw-r--r--dev-python/cattrs/cattrs-26.2.0.ebuild93
-rw-r--r--dev-python/configargparse/Manifest2
-rw-r--r--dev-python/configargparse/configargparse-1.7.7.ebuild33
-rw-r--r--dev-python/django-otp/Manifest2
-rw-r--r--dev-python/django-otp/django-otp-1.7.3.ebuild (renamed from dev-python/django-otp/django-otp-1.7.1.ebuild)0
-rw-r--r--dev-python/grpcio-status/grpcio-status-1.83.0.ebuild2
-rw-r--r--dev-python/grpcio/grpcio-1.83.0.ebuild2
-rw-r--r--dev-python/numpy/Manifest2
-rw-r--r--dev-python/numpy/numpy-2.5.3.ebuild329
-rw-r--r--dev-python/patatt/files/patatt-0.7.0-py311-tests.patch37
-rw-r--r--dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild2
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-10.2.1.ebuild2
-rw-r--r--dev-python/python-tests/python-tests-3.12.14.ebuild2
-rw-r--r--dev-python/types-psutil/Manifest3
-rw-r--r--dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild20
-rw-r--r--dev-python/types-psutil/types-psutil-7.2.2.20260906.ebuild (renamed from dev-python/types-psutil/types-psutil-7.2.2.20260508.ebuild)0
-rw-r--r--dev-python/yaspin/Manifest2
-rw-r--r--dev-python/yaspin/yaspin-3.5.0.ebuild29
23 files changed, 500 insertions, 142 deletions
diff --git a/dev-python/ansi2html/Manifest b/dev-python/ansi2html/Manifest
index 12f8570814d2..5b77a43c2190 100644
--- a/dev-python/ansi2html/Manifest
+++ b/dev-python/ansi2html/Manifest
@@ -1,5 +1,4 @@
-DIST ansi2html-1.9.2.tar.gz 44300 BLAKE2B 6c39a9525a5fe0c7f02b45f56ea515e6b07280cb74a88d54db5e33c77fb679f6ebb446edf50add3d68832ea877ed8861bc1a9f2116ab1214d2a6b3acfbfae19a SHA512 c465259d4c9ea82725bcd8cd286246b806b1bfde06f89b52b1cc3cd5c514be92a19ffcfd147417d64ce6da6627678baabc7ff05226ed392343cdb0496bd375eb
-DIST ansi2html-1.9.3.tar.gz 44781 BLAKE2B 6c02b4a661d6423d9100de3d92a19240767ff84bd9f21116f70cfa19efcc05f92049b5a29f6c288a40fe7e1bf792b01b696439c8cc06e023e9143dcf2ea859e4 SHA512 13cf8a43315c5e91692f06d9dc859517903b763e3e83078f1ea4863ed9fa40ec01e4b477992457fa63c33b719b88eb56caca11dc52f9b2898e4910112f66f28f
-DIST ansi2html-1.9.3.tar.gz.provenance 9713 BLAKE2B 697fc0ce117e3b7a2519767c8f218a73689d7848f6fa77db4158eb21286c09d3fdf8a14ff7eeab7303114809c48f134ad32278ec0cf2ada870b8b70421cfdd29 SHA512 38e46c36f0dc79459c0183920f58c93ed0defa1c0c1e31fba0018a3f4e47d648042b472e52f9f6076a49d9e744ed38d59d3de1d437504ecb58973a713674ae59
DIST ansi2html-1.9.4.tar.gz 44890 BLAKE2B 1d87bca8c943a05cefe93e67da12d26d82402ae2513853024c0f629646826fe9d47dd27dfb809dcbf8d534dc641150cbd3f5bb383aedea47c92f5a4d407d209b SHA512 11c33415061b526fbf75c436090b58b785123d155e6e7ab630178dfd7ede1c4bf00256a3410c0f72b273fd678f2a0cfcdd5c159781e3ad32cf3e3107d6be9921
DIST ansi2html-1.9.4.tar.gz.provenance 9807 BLAKE2B 427717400d6187f28ed14f4d1c7adb068571e22d92ef9e81e3f8a2d4ff64b1afe0f9de51721fc250250294ae9df28a5762e9476bb46410b021415fb29bb83505 SHA512 bcd53cb651d6077eb9d246a318684b76bc5857aa3287505edebab55a6b1ee039bf22c63bbbc51940a0177c6990f0cf12c71240353efac57d43f9eca26c2684c9
+DIST ansi2html-1.9.5.tar.gz 45225 BLAKE2B dedce994c7c126f63d7404c08d366201ef26063ecea610d02d938408eee7509d9096797439583d93f40fb7b3e69e314123dca75ba562dec1a14a8d7973e54ad1 SHA512 32124e1957f2d5f4e2cf50d6e79665412a002768aae4347554a74ecb9209145b1ee071f6b09402a1a999229f8d941f9902adb3d2b74656272b58260393c8f739
+DIST ansi2html-1.9.5.tar.gz.provenance 10042 BLAKE2B 4ec5a815c70f86f4caef46da5edb4bceddb2e7e83d22b2d16f339b1723e539f96df2ef21d0aa6214a870bd8b278871b2678a6a6e070fc8910f41a5351ed8baa3 SHA512 e053f352fdd08135ba4c322e34a134c6502bb21faab9027efb6ea1bc0e6bf0a94a56e1ebeaa39d15ff5a03a346da720c247c1369b473f61116e1a7f2dffb10db
diff --git a/dev-python/ansi2html/ansi2html-1.9.2.ebuild b/dev-python/ansi2html/ansi2html-1.9.2.ebuild
deleted file mode 100644
index b7af2552df23..000000000000
--- a/dev-python/ansi2html/ansi2html-1.9.2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Convert text with ANSI color codes to HTML"
-HOMEPAGE="
- https://pypi.org/project/ansi2html/
- https://github.com/pycontribs/ansi2html/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-
-BDEPEND="
- >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
diff --git a/dev-python/ansi2html/ansi2html-1.9.3.ebuild b/dev-python/ansi2html/ansi2html-1.9.5.ebuild
index 0a12278a9fc9..0a12278a9fc9 100644
--- a/dev-python/ansi2html/ansi2html-1.9.3.ebuild
+++ b/dev-python/ansi2html/ansi2html-1.9.5.ebuild
diff --git a/dev-python/bleach/files/bleach-6.0.0-py39.patch b/dev-python/bleach/files/bleach-6.0.0-py39.patch
deleted file mode 100644
index 02ecb614c8b9..000000000000
--- a/dev-python/bleach/files/bleach-6.0.0-py39.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From d6d734f6fbeee2c091212d42e3ea730a1230aad5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 24 Jan 2023 07:35:45 +0100
-Subject: [PATCH] Remove tests broken by py3.9
-
----
- tests/test_clean.py | 15 ---------------
- 1 file changed, 15 deletions(-)
-
-diff --git a/tests/test_clean.py b/tests/test_clean.py
-index 73946a1..f798a15 100644
---- a/tests/test_clean.py
-+++ b/tests/test_clean.py
-@@ -551,31 +551,16 @@ def test_attributes_list():
- {"protocols": {"http"}},
- '<a href="example.com">valid</a>',
- ),
-- (
-- '<a href="example.com:8000">valid</a>',
-- {"protocols": {"http"}},
-- '<a href="example.com:8000">valid</a>',
-- ),
- (
- '<a href="localhost">valid</a>',
- {"protocols": {"http"}},
- '<a href="localhost">valid</a>',
- ),
-- (
-- '<a href="localhost:8000">valid</a>',
-- {"protocols": {"http"}},
-- '<a href="localhost:8000">valid</a>',
-- ),
- (
- '<a href="192.168.100.100">valid</a>',
- {"protocols": {"http"}},
- '<a href="192.168.100.100">valid</a>',
- ),
-- (
-- '<a href="192.168.100.100:8000">valid</a>',
-- {"protocols": {"http"}},
-- '<a href="192.168.100.100:8000">valid</a>',
-- ),
- pytest.param(
- *(
- '<a href="192.168.100.100:8000/foo#bar">valid</a>',
---
-2.39.1
-
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index 1c0f12c2f77b..038ae7a70fa2 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1 +1,2 @@
DIST cattrs-26.1.0.gh.tar.gz 497524 BLAKE2B 52241c4ac57a26d2262af22c8e4e2747d53f52d467699c11f056d30678183ba973629e57c5a8e94d1728b3c83e39a3f5727f622ce074a00d1b3dbf6d03f232a8 SHA512 1431e7694b3f324ad5c4f0628890f689547a5e3596b9b3087afff491a9bf57117c47e131cea4f88cc52c8f6db88b43baafcadb630d11f13b9f340c88eee7c783
+DIST cattrs-26.2.0.gh.tar.gz 528417 BLAKE2B 93417d70b979d505e2a7e40d5e4cc4c8d26dde38c79ccee666133040741f9799153fbeaf3fecdbb1e7f7a28ab02e8dd172b561c72032ab86effdc793958063b5 SHA512 261dd25ae70cd40b1e237264eb807ee3fcef5140da268beaebaa22aa0e189ff8151acd9da361b0c4d65d7a3d0f6ca58e1534951f1b53f974a87d342f281dae97
diff --git a/dev-python/cattrs/cattrs-26.2.0.ebuild b/dev-python/cattrs/cattrs-26.2.0.ebuild
new file mode 100644
index 000000000000..95f5baab225d
--- /dev/null
+++ b/dev-python/cattrs/cattrs-26.2.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-25.4.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/immutables-0.20[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.10.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.11.3[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+# xdist can randomly break tests, depending on job count
+# https://bugs.gentoo.org/941429
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires msgspec
+ tests/preconf/test_msgspec_cpython.py
+ )
+ local EPYTEST_DESELECT=(
+ # these require msgspec
+ tests/test_preconf.py::test_literal_dicts_msgspec
+ tests/test_preconf.py::test_msgspec_efficient_enum
+ tests/test_preconf.py::test_msgspec_json_converter
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_native_enums
+ )
+
+ if ! has_version "dev-python/cbor2[${PYTHON_USEDEP}]"; then
+ # https://github.com/python-attrs/cattrs/pull/748
+ sed -i -e '/cbor2_make_converter/d' tests/test_preconf.py || die
+
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_cbor2
+ tests/test_preconf.py::test_cbor2_converter
+ tests/test_preconf.py::test_cbor2_converter_unstruct_collection_overrides
+ tests/test_preconf.py::test_cbor2_efficient_enum
+ tests/test_preconf.py::test_cbor2_native_enums
+ tests/test_preconf.py::test_cbor2_unions
+ )
+ fi
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ epytest -o addopts= tests
+}
diff --git a/dev-python/configargparse/Manifest b/dev-python/configargparse/Manifest
index 76822a7235e5..965c6add6153 100644
--- a/dev-python/configargparse/Manifest
+++ b/dev-python/configargparse/Manifest
@@ -1,2 +1,4 @@
DIST configargparse-1.7.5.tar.gz 53548 BLAKE2B 4ec999d7e5ac68189b6642b15d2bd2ebac7b25816ccee6a0bfaa1e8624e12e501d614bc8a859f103a519364ff7c2d13afa86a6f9f949d545f799cd6c820a3d62 SHA512 7b6541d0e38ef54ecd3c87d4bd986d041db54b069112d01b24bcb5741d729f73826722e8b0c6bb4959c6066a8b5c6b57a4234b78526879ef8472edfd63eb5de6
DIST configargparse-1.7.5.tar.gz.provenance 9317 BLAKE2B eb08f865429758ab64c6982f51b8d1ef4d85e1c1fd344976e4a1146bc4e98336bbc56205f8ed08ece34e314eb5459d0a00c1a96733f0c7c046025bfcf0a42f1b SHA512 f1b87d21b556e4c59ed2ce74d5507c2af296ebaba7a0dc6a31f67492ca04305a5f93d3e7f751207c3094f2526e7815ecac0080d1c3eebbe2d7e6479f1a78c0d6
+DIST configargparse-1.7.7.tar.gz 73397 BLAKE2B e2362ab5e391f11fd434289e75da15143f612be75fa2bd44605006dc3ed928a03f460dfdceded173c272d5f12c497eee2b6a70361b8a7b25cd68aaac74f68dfd SHA512 3b1e21a8b4fdcdf357ab0c74fe5db09a405dab13e4b84090ef1217e90f82ed84f6e286e56124292d57e4685d47c48afae90fccaa4acb56bb6ea69e0afeb8e31c
+DIST configargparse-1.7.7.tar.gz.provenance 9585 BLAKE2B df4a7c15dfbc2656a501e73af5401c554f1de40e7d632193cfbc613ea819573b92b4150fdb0a4c20bfff11b994ccef7a8038d2b724ec330a768fab85e2c56f45 SHA512 1998aa807c619bd106e86aae5243e619e8e08581968821ae7ee2c598ea2d7085d1b68503ef1eac3029dc28c50bb8de39a9c30b67c1b1d7e5fac80e3a88cf130b
diff --git a/dev-python/configargparse/configargparse-1.7.7.ebuild b/dev-python/configargparse/configargparse-1.7.7.ebuild
new file mode 100644
index 000000000000..3aaef923b444
--- /dev/null
+++ b/dev-python/configargparse/configargparse-1.7.7.ebuild
@@ -0,0 +1,33 @@
+# 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/bw2/ConfigArgParse
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Drop-in replacement for argparse supporting config files and env variables"
+HOMEPAGE="
+ https://github.com/bw2/ConfigArgParse/
+ https://pypi.org/project/ConfigArgParse/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local -x COLUMNS=80
+ epytest
+}
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
index e95d0ba3a06b..501a5a1a2afd 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1,2 +1,2 @@
-DIST django_otp-1.7.1.tar.gz 76923 BLAKE2B 96915810b86a52ac490f6f8a28bd516d07ee5d8890c66bd5120be2ee4bc9a72997cef6f0ac6e42e20a1f83b2a257ad02160b5976343a94a81f7d2f34893dda00 SHA512 db81dc18505a89a1be109d27c700891bb16df8bf2f281a51886c9c4666d3102a70bd0d87284407026b4ab1a478ca2029d348e908a09533e018c8583f65cd261d
DIST django_otp-1.7.2.tar.gz 77376 BLAKE2B 197ac5c2375159523fbab9a02cba0a7507f8d0731c260c38edc10c08a6d91a27b42a1a28bd91b4c5505cb68a376ebfaa94836587d08358ccab4bf9f0a5b05765 SHA512 ffec0cd2ab0069615dee2e6a87501d89294d9c50ca0d28ef9bee5b600cdfe84a9df4b751aaa81c9fa330cb372fb3fdc9dd6bd0ab19cde26acd6dd1dd566dd051
+DIST django_otp-1.7.3.tar.gz 78996 BLAKE2B ccd9430a6415900a778a3c15163402915493f1162e680e504112beb22d6eff711c8ed48ec09d2b79f456437d3ad410a952790b98ca22c21232779d364eb9ca17 SHA512 2dd1f70cd506f6e8e3f62544c63dac1b6187f2cc4e585be8a44c10807f50a591ca801eb46881f01c52e629afa5dd98fa0205beeacc6e284ce8c0553d98350655
diff --git a/dev-python/django-otp/django-otp-1.7.1.ebuild b/dev-python/django-otp/django-otp-1.7.3.ebuild
index 963a451ff6e8..963a451ff6e8 100644
--- a/dev-python/django-otp/django-otp-1.7.1.ebuild
+++ b/dev-python/django-otp/django-otp-1.7.3.ebuild
diff --git a/dev-python/grpcio-status/grpcio-status-1.83.0.ebuild b/dev-python/grpcio-status/grpcio-status-1.83.0.ebuild
index addabff81e0e..44049e1200fc 100644
--- a/dev-python/grpcio-status/grpcio-status-1.83.0.ebuild
+++ b/dev-python/grpcio-status/grpcio-status-1.83.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}/src/python/grpcio_status
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
>=dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/grpcio/grpcio-1.83.0.ebuild b/dev-python/grpcio/grpcio-1.83.0.ebuild
index 4ab932815131..e1393626c01f 100644
--- a/dev-python/grpcio/grpcio-1.83.0.ebuild
+++ b/dev-python/grpcio/grpcio-1.83.0.ebuild
@@ -28,7 +28,7 @@ SRC_URI+="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
DEPEND="
dev-libs/openssl:=
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 108bdff4cf1c..b59810e2ca2e 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -7,3 +7,5 @@ DIST numpy-2.5.1.tar.gz 20755553 BLAKE2B be71d9f5c615cbc6b59fe5ed8a1c346be654a81
DIST numpy-2.5.1.tar.gz.provenance 10151 BLAKE2B 9070e62cbbc52de179f688c9a5b1249a98ead2c986f81a8b45eba8928ca8585e888df950eaf729cacb5d0389d1bccbcc4816dd99ddff70bd78f0eb1f91ed2cf6 SHA512 82c1b1ab30004cb43b7e471f84200124f3cf2e40e89e2a1163fb7d4859c2b3ccac3de6611d77b94fef45cc7e3bbf4b49156c641862dd98b556d176e477c59b04
DIST numpy-2.5.2.tar.gz 20773161 BLAKE2B 53f815c3bff9d5b9efc0dcda2ec5c4ce397402ceb38773153c248c277b78ed0f4247541e5c89d6aabe890a8fa27f67699a8767d2e8ec063794d2eb082840feca SHA512 30d0581b90a88f80de49202e9dace7605363e66d1141229cc85a4aef5aad185de4d24820cb7ec8e8860b1e2c593b7795649675ef850d35ef3883b386b5381231
DIST numpy-2.5.2.tar.gz.provenance 10057 BLAKE2B f60196c4ff61d3a0016024a85bcf2b407a205fad007354d141b73e949fb3d3822697e4973216a30f83a17e551eb1374836224231780e5fbb3c0b714501f7d745 SHA512 1eb508fe4b3f5f1a3e68435efa2c87e81c25cf8bf77cca4a956909733abd16f5dbef9e7ae001db82abe9bacf467d7d1b0b1e92868c063cd8edaf1db6537f1daf
+DIST numpy-2.5.3.tar.gz 20791231 BLAKE2B 37551f1d0066f06a402f6caf1a5c07a7aad255e7bf53402550fb08c19bd52af82e6cd3e4c547e87c2f431d9c803d2db1b0760a958bc1a0afeb0565b8c9393d72 SHA512 667ba01fc13669a8150b0b4797e6c6b953d27ce37d71f8dec02acd7050669fe9a461efc63e162d9732bc297deb3e5587675e40adbac923949da257a255f9b15b
+DIST numpy-2.5.3.tar.gz.provenance 9824 BLAKE2B 1c8ad74e3558242cce309a5540a058397f5dfddee80e7cb0657eb6f34baf4055b9831b82fa139dcebd6f7649a847092707aa0cac1270069652ef438e4f5ea04f SHA512 0d3ad6886fd357fbf4b53b20ea2463ddac3957b95d0aed7e36b4100ff4d0bed0c0372697b37aab00859fc42823700e4badbde3cb3ddc7223393ed98826090122
diff --git a/dev-python/numpy/numpy-2.5.3.ebuild b/dev-python/numpy/numpy-2.5.3.ebuild
new file mode 100644
index 000000000000..d22a019b6c54
--- /dev/null
+++ b/dev-python/numpy/numpy-2.5.3.ebuild
@@ -0,0 +1,329 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYPI_VERIFY_REPO=https://github.com/numpy/numpy-release
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD 0BSD MIT ZLIB CC0-1.0"
+SLOT="0/2"
+if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="big-endian +cpudetection index64 +lapack"
+
+# upstream-flag[:gentoo-flag]
+ARM_FLAGS=( neon{,-fp16} vfpv4 asimd{,hp,dp,fhm} sve )
+PPC_FLAGS=( vsx vsx2 vsx3 vsx4 )
+X86_FLAGS=(
+ avx2 avx512{bw,dq,vl} avx512_{bf16,bitalg,fp16,vbmi2} sse4_2
+)
+IUSE+="
+ ${ARM_FLAGS[*]/#/cpu_flags_arm_}
+ ${PPC_FLAGS[*]/#/cpu_flags_ppc_}
+ ${X86_FLAGS[*]/#/cpu_flags_x86_}
+"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8[index64(-)?]
+ >=virtual/lapack-3.8[index64(-)?]
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.5.2
+ >=dev-python/cython-3.1.0[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
+EPYTEST_PLUGINS=( hypothesis pytest-timeout )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+has_all_x86() {
+ local flag
+ for flag; do
+ if ! use "cpu_flags_x86_${flag}"; then
+ return 1
+ fi
+ done
+ return 0
+}
+
+python_configure_all() {
+ local cpu_baseline=()
+ local map flag
+ case ${ARCH} in
+ arm)
+ # every flag implies the previous one
+ for map in NEON:neon NEON_FP16:neon-fp16 NEON_VFPV4:vfpv4; do
+ if ! use "cpu_flags_arm_${map#*:}"; then
+ break
+ fi
+ cpu_baseline+=( "${map%:*}" )
+ done
+ ;&
+ arm64)
+ # on 32-bit ARM, ASIMD implies all NEON* flags
+ # on 64-bit ARM, they are all linked together
+ if use arm64 ||
+ [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == NEON_VFPV4 ]]
+ then
+ cpu_baseline+=( $(usev cpu_flags_arm_asimd ASIMD) )
+ fi
+
+ # these two imply ASIMD
+ if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMD ]]; then
+ for flag in dp hp; do
+ cpu_baseline+=(
+ $(usev "cpu_flags_arm_asimd${flag}" "ASIMD${flag^^}")
+ )
+ done
+ fi
+
+ # these two imply ASIMDHP
+ if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMDHP ]]; then
+ for flag in asimdfhm sve; do
+ cpu_baseline+=(
+ $(usev "cpu_flags_arm_${flag}" "${flag^^}")
+ )
+ done
+ fi
+ ;;
+ ppc64)
+ # every flag implies the previous one
+ for flag in '' 2 3 4; do
+ if ! use "cpu_flags_ppc_vsx${flag}"; then
+ break
+ fi
+ cpu_baseline+=( "VSX${flag}" )
+ done
+ ;;
+ amd64|x86)
+ # upstream combines multiple instructions into sets
+ local mapping=(
+ # for these, we just check the newest instruction set,
+ # since all earlier instruction sets imply it
+ "X86_V2=sse4_2"
+ "X86_V3=avx2"
+ # from here on, we check all features that were added
+ # in the lowest CPU supporting them all
+ # https://en.wikipedia.org/wiki/AVX-512
+ "X86_V4=avx512bw avx512dq avx512vl"
+ "AVX512_ICL=avx512_vbmi2 avx512_bitalg"
+ "AVX512_SPR=avx512_bf16 avx512_fp16"
+ )
+
+ local m
+ for m in "${mapping[@]}"; do
+ local feature=${m%=*}
+ local sets=${m#*=}
+
+ if has_all_x86 ${sets}; then
+ einfo "${feature} enabled: all of ${sets} enabled"
+ cpu_baseline+=( "${feature}" )
+ else
+ einfo "${feature} disabled: not all of ${sets} enabled"
+ break
+ fi
+ done
+ ;;
+ *)
+ cpu_baseline=MIN
+ ;;
+ esac
+
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Duse-ilp64=$(usex index64 true false)
+ -Dblas=$(usev lapack $(usex index64 cblas64 cblas))
+ -Dlapack=$(usev lapack $(usex index64 lapack64 lapack))
+ -Dcpu-baseline="${cpu_baseline[*]}"
+ -Dcpu-baseline-detect=disabled
+ -Dcpu-dispatch="$(usev cpudetection MAX)"
+ )
+
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+}
+
+python_test() {
+ # We run tests in parallel, so avoid having n^2 threads in lapack
+ # tests.
+ local -x BLIS_NUM_THREADS=1
+ local -x MKL_NUM_THREADS=1
+ local -x OMP_NUM_THREADS=1
+ local -x OPENBLAS_NUM_THREADS=1
+
+ # don't run tests that require more than 2 GiB of RAM (per process)
+ local -x NPY_AVAILABLE_MEM="2 GiB"
+
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ numpy/typing/tests/test_typing.py
+
+ # Flaky, reruns don't help
+ numpy/f2py/tests/test_crackfortran.py
+ numpy/f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
+ numpy/f2py/tests/test_f2py2e.py::test_gen_pyf
+ numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli
+
+ # Broken by new setuptools
+ numpy/distutils/tests/test_fcompiler.py
+ numpy/distutils/tests/test_fcompiler_gnu.py
+ numpy/distutils/tests/test_fcompiler_intel.py
+ numpy/distutils/tests/test_fcompiler_nagfor.py
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${ARCH} in
+ arm)
+ EPYTEST_DESELECT+=(
+ # TODO: warnings
+ numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception
+
+ # TODO
+ numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ hppa)
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/942689
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[<f]"
+ "numpy/_core/tests/test_dtype.py::TestPickling::test_pickle_dtype[dt28]"
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_reference_cycles
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_segmentation_fault
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_scalar
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_subarray
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure_aligned
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_union
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_padded_union
+ )
+ ;;
+ ppc|x86)
+ EPYTEST_DESELECT+=(
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ esac
+
+ if [[ ${CHOST} == powerpc64le-* ]]; then
+ EPYTEST_DESELECT+=(
+ # long double thingy
+ numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_ppc64_ibm_double_double128
+ )
+ fi
+
+ if use big-endian; then
+ EPYTEST_DESELECT+=(
+ # ppc64 and sparc
+ numpy/linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases
+ numpy/linalg/tests/test_linalg.py::TestDet::test_sq_cases
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]"
+ )
+ fi
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_regression.py::TestRegression::test_buffer_hashlib
+ numpy/random/tests/test_generator_mt19937.py::TestIntegers::test_repeatability
+ numpy/random/tests/test_generator_mt19937.py::TestRandomDist::test_choice_large_sample
+ numpy/random/tests/test_generator_mt19937.py::test_jumped
+ numpy/random/tests/test_random.py::TestRandint::test_repeatability
+ numpy/random/tests/test_randomstate.py::TestRandint::test_repeatability
+ numpy/random/tests/test_randomstate.py::test_integer_repeat
+ )
+ ;;
+ esac
+
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/patatt/files/patatt-0.7.0-py311-tests.patch b/dev-python/patatt/files/patatt-0.7.0-py311-tests.patch
deleted file mode 100644
index 134d88a7baf4..000000000000
--- a/dev-python/patatt/files/patatt-0.7.0-py311-tests.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://git.kernel.org/pub/scm/utils/patatt/patatt.git/commit/?id=3b9f6ecec8e17225b66483ffd0aecb8ba1c328f5
-
-From 3b9f6ecec8e17225b66483ffd0aecb8ba1c328f5 Mon Sep 17 00:00:00 2001
-From: Artur Weber <aweber.kernel@gmail.com>
-Date: Thu, 8 Jan 2026 17:52:00 +0100
-Subject: Use pre-Python 3.13 Generator type syntax in conftest.py
-
-Python 3.13 defaults to None for the other fields of the Generator type,
-but the version of Generator in older versions does not support such syntax.
-Explicitly add the missing fields to allow the tests to run on older Python
-versions.
-
-(An alternative solution would be to use typing-extensions for older
-versions, though that would require adding another dependency.)
-
-Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
-Link: https://patch.msgid.link/20260108165200.11313-1-aweber.kernel@gmail.com
-Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
----
- tests/conftest.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index c5ced78..a9c9157 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -20,7 +20,7 @@ This is a test email body.
- """
-
- @pytest.fixture
--def temp_data_dir() -> Generator[str]:
-+def temp_data_dir() -> Generator[str, None, None]:
- """Create a temporary data directory structure for patatt."""
- with tempfile.TemporaryDirectory() as tmpdirname:
- # Create directory structure similar to patatt's data dir
---
-cgit 1.3-korg
diff --git a/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild b/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild
index 2c6cf4256b9c..0b2274a1eae7 100644
--- a/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild
+++ b/dev-python/python-manilaclient/python-manilaclient-6.2.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/pbr-3.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-openstackclient/python-openstackclient-10.2.1.ebuild b/dev-python/python-openstackclient/python-openstackclient-10.2.1.ebuild
index ffdbc1ffb1ff..ac1986428985 100644
--- a/dev-python/python-openstackclient/python-openstackclient-10.2.1.ebuild
+++ b/dev-python/python-openstackclient/python-openstackclient-10.2.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/cliff-4.13.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-tests/python-tests-3.12.14.ebuild b/dev-python/python-tests/python-tests-3.12.14.ebuild
index d0041a04db11..624bf7f19f6a 100644
--- a/dev-python/python-tests/python-tests-3.12.14.ebuild
+++ b/dev-python/python-tests/python-tests-3.12.14.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
# enable by default to help CI handle it (we have no additional deps)
IUSE="+python_targets_${PYTHON_COMPAT[0]}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest
index 608d2a85a786..eddbbc7cdc77 100644
--- a/dev-python/types-psutil/Manifest
+++ b/dev-python/types-psutil/Manifest
@@ -1,4 +1,3 @@
-DIST types_psutil-7.2.2.20260408.tar.gz 26556 BLAKE2B 9348e17cc616c3f6dc8e5de62bda803f97d6648585aa7d0156ee583a6d95197383fc0886f011c28b366005915ad43791524457f981bf566ef89f916e51e17c6c SHA512 969b6424777e01c6a7ec9d15f6cd0455cec21295c8494f5ba37581149e11679bd0d1cf8b266484e24443cc872d711787207a1961c7303afc31dd66fd15d6708e
-DIST types_psutil-7.2.2.20260508.tar.gz 26575 BLAKE2B 8d31e14a16e6c701543c0bc71a2966a765a4dc8746e6513375fa1b9ea19b795629aa86c38f09d1fa21e29477f0e6f2bc3792e91d706da1e6a5b44f82d7d499f8 SHA512 4de979a1228bed858f0ef5e87229a5630b29d232f286948edff2e0fe2033aeaf3f7b26b298b86ffda51380f9883d4f0bcdaebc247956e3f2db8f3b3013d74627
DIST types_psutil-7.2.2.20260518.tar.gz 26660 BLAKE2B 1c42cc5dbfcd370ee786a6645b6d1fc5612f6c1be9a9d30a8fcac109340480bc47e0b79a08b18018d636c9827c53872263a65e5035b8bfc22492252dcebcbf65 SHA512 957ed853813101dd8f50c92ea7ba554f40d0c0b57bb3a4172226860a4dbcaa259d3aa242faa5c6a6ca6921a3800a42b575d0b3c3a8686c2813a27b0af895e8a0
DIST types_psutil-7.2.2.20260827.tar.gz 27294 BLAKE2B 2eb8a7f13bab2cd74ff57214ecc428967411cb4272ff52b2d87456dde43389cc260cfc2dba79b56234672dc64acd43d137b743fe6ffbc123c52d06a7a9970acd SHA512 75e34c30d5f2a1758ef6e7e698bef68e7db0c46cb1172d0c271e90a7acc8241dc5667c167ba59ccf9f1ab978847199a5c3cb6da7c0cd8c3eb0e8de2e8e8222f4
+DIST types_psutil-7.2.2.20260906.tar.gz 27396 BLAKE2B 8a4bd5928c6fb234b81ce50b724bccf70aeb4baf760aeb77241feabd1eb7252b3699dcc46fdd24e1060a779ca7ed19b96c1d20f57fbdffcc851bcb1608bd0a6f SHA512 9af0b0d271ca3d1cbc5d302b21e36a06e7a72d33ad0b45a442930ac78eb04f37c9db2bb4d271c052376611123aa1ac6aaae99ad0e0d527c31f63ddc538359c0d
diff --git a/dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild b/dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild
deleted file mode 100644
index 29098b07458a..000000000000
--- a/dev-python/types-psutil/types-psutil-7.2.2.20260408.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2023-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for psutil"
-HOMEPAGE="https://pypi.org/project/types-psutil/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-BDEPEND="
- >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/types-psutil/types-psutil-7.2.2.20260508.ebuild b/dev-python/types-psutil/types-psutil-7.2.2.20260906.ebuild
index e240c1b6afa5..e240c1b6afa5 100644
--- a/dev-python/types-psutil/types-psutil-7.2.2.20260508.ebuild
+++ b/dev-python/types-psutil/types-psutil-7.2.2.20260906.ebuild
diff --git a/dev-python/yaspin/Manifest b/dev-python/yaspin/Manifest
index 5d7bc67ad291..4927a2f851f8 100644
--- a/dev-python/yaspin/Manifest
+++ b/dev-python/yaspin/Manifest
@@ -1,2 +1,4 @@
DIST yaspin-3.4.0.tar.gz 42396 BLAKE2B f8a21978a109bddd3bfd0cd870b54cd0f3f9eaaf80d1c9440c24269267d832a2eedf87df1236b43c855bfc474a41a2d5971fc867e0f75867102f4d1416d1e9a1 SHA512 7aac314c2a306326bdc1f0aff8f58d7b916f143134adcb22a365393c58a73e1247ab8cfbc5a70ab6c5fd59f396572a0a5d18fcd92f96993709b2257d88acfd45
DIST yaspin-3.4.0.tar.gz.provenance 9171 BLAKE2B dd7e0af802e6cca324d36702b89ca48f5e57c7143a5e412f7d70e391f8bc5cfcdf662db7d972e9cba34f25336dbbf81a457043aa534e437b33f0132eb0ba7479 SHA512 a2f306104256c469e0540df5f1df4e3f8729a68373fd4020890ceae00c40d615091619f9745c88856e42c6ec96237196ed4fec9dda90e18233e76413e27e864e
+DIST yaspin-3.5.0.tar.gz 44051 BLAKE2B fe921d5feb80f16c2dddc9f284facce5d7cf6b3e05e58ae20005580d2a7a585283fd46f3e52d856024198d09ae2576f151ea1256925ed358500d3c78279f36f5 SHA512 1933a03adf5277e0e16ca0bdca745dc6763351f0c46599d5cb563812f53cafeb4895a84cce8191eb730b43a17a31e4408dca31712aa96b4f7cf1c21e2536c5f1
+DIST yaspin-3.5.0.tar.gz.provenance 9796 BLAKE2B 79a3c8ef5232696c1f9fe6dc14ec66cb0ae24959480fa0ae673d9f1e5d97a45e722e6c0ec5e86c3cc902496ee9020a0cb8534e6deb16922a049f1b475639a830 SHA512 45562792ad58846599c9c815aa07c8360191a7535f9b710e86af1bad091bab5895c06f73b8601ffba8feb6599fbebdca82847df74309b4a4c5be97b1183f494c
diff --git a/dev-python/yaspin/yaspin-3.5.0.ebuild b/dev-python/yaspin/yaspin-3.5.0.ebuild
new file mode 100644
index 000000000000..15305ac7b41d
--- /dev/null
+++ b/dev-python/yaspin/yaspin-3.5.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry-core
+PYTHON_COMPAT=( python3_{13..14} )
+PYPI_VERIFY_REPO=https://github.com/pavdmyt/yaspin
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet Another Terminal Spinner"
+HOMEPAGE="
+ https://github.com/pavdmyt/yaspin
+ https://pypi.org/project/yaspin/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ =dev-python/termcolor-3*[${PYTHON_USEDEP}]
+ >=dev-python/termcolor-3.3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest