summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-21 03:04:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-21 03:04:37 -0500
commit805088e14f2164ec415b97288657da8492869f97 (patch)
tree88ee58152921ddf6bef7248fce98099789b33d14 /dev-python
parent72e61757ad18b354c7e086543f02375857946e03 (diff)
downloadbaldeagleos-repo-805088e14f2164ec415b97288657da8492869f97.tar.gz
baldeagleos-repo-805088e14f2164ec415b97288657da8492869f97.tar.xz
baldeagleos-repo-805088e14f2164ec415b97288657da8492869f97.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp/Manifest2
-rw-r--r--dev-python/aiohttp/aiohttp-3.14.2.ebuild156
-rw-r--r--dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild2
-rw-r--r--dev-python/awkward/Manifest2
-rw-r--r--dev-python/awkward/awkward-2.11.0.ebuild53
-rw-r--r--dev-python/berkeleydb/berkeleydb-18.1.15.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.43.52.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.43.52.ebuild67
-rw-r--r--dev-python/bracex/Manifest2
-rw-r--r--dev-python/bracex/bracex-3.0.1.ebuild29
-rw-r--r--dev-python/cfn-lint/Manifest2
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.53.1.ebuild60
-rw-r--r--dev-python/configclass/configclass-0.2.0-r1.ebuild3
-rw-r--r--dev-python/django-taggit/django-taggit-6.1.0-r1.ebuild2
-rw-r--r--dev-python/eradicate/eradicate-3.0.1.ebuild2
-rw-r--r--dev-python/faker/Manifest1
-rw-r--r--dev-python/faker/faker-40.32.0.ebuild41
-rw-r--r--dev-python/faust-cchardet/Manifest1
-rw-r--r--dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild27
-rw-r--r--dev-python/filelock/Manifest4
-rw-r--r--dev-python/filelock/filelock-3.29.3.ebuild31
-rw-r--r--dev-python/filelock/filelock-3.30.2.ebuild31
-rw-r--r--dev-python/gitpython/Manifest2
-rw-r--r--dev-python/gitpython/gitpython-3.1.53.ebuild81
-rw-r--r--dev-python/hypothesis/Manifest14
-rw-r--r--dev-python/hypothesis/hypothesis-6.157.2.ebuild143
-rw-r--r--dev-python/icalendar/Manifest2
-rw-r--r--dev-python/icalendar/icalendar-7.2.2.ebuild (renamed from dev-python/icalendar/icalendar-7.1.2.ebuild)4
-rw-r--r--dev-python/imageio/Manifest2
-rw-r--r--dev-python/imageio/imageio-2.37.4.ebuild104
-rw-r--r--dev-python/keyring/keyring-25.7.0.ebuild2
-rw-r--r--dev-python/keyrings-alt/keyrings-alt-5.0.2.ebuild3
-rw-r--r--dev-python/nuitka/Manifest1
-rw-r--r--dev-python/nuitka/nuitka-4.1.2.ebuild54
-rw-r--r--dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild3
-rw-r--r--dev-python/pygraphviz/Manifest2
-rw-r--r--dev-python/pygraphviz/pygraphviz-2.0.1.ebuild48
-rw-r--r--dev-python/pyqtgraph/metadata.xml4
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.14.0-r1.ebuild168
-rw-r--r--dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch10
-rw-r--r--dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-9.patch28
-rw-r--r--dev-python/pytest-forked/pytest-forked-1.6.0.ebuild22
-rw-r--r--dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild10
-rw-r--r--dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild2
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-30.13.0.ebuild (renamed from dev-python/sqlglot/sqlglot-30.11.0.ebuild)0
-rw-r--r--dev-python/stripe/stripe-15.3.1.ebuild2
-rw-r--r--dev-python/syrupy/syrupy-5.5.3.ebuild1
-rw-r--r--dev-python/tasklib/tasklib-2.5.1.ebuild2
-rw-r--r--dev-python/textx/textx-4.4.0.ebuild1
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.6.0.ebuild1
-rw-r--r--dev-python/tox/Manifest2
-rw-r--r--dev-python/tox/tox-4.57.2.ebuild80
-rw-r--r--dev-python/unrardll/unrardll-0.1.7.ebuild2
-rw-r--r--dev-python/urwid/Manifest2
-rw-r--r--dev-python/urwid/urwid-4.0.5.ebuild49
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.11.30.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.11.30.ebuild163
-rw-r--r--dev-python/uvloop/uvloop-0.22.1.ebuild3
-rw-r--r--dev-python/xlwt/xlwt-1.3.0-r2.ebuild3
-rw-r--r--dev-python/xvfbwrapper/Manifest1
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.28.ebuild31
-rw-r--r--dev-python/yara-python/yara-python-9999.ebuild2
-rw-r--r--dev-python/yarl/Manifest2
-rw-r--r--dev-python/yarl/yarl-1.24.5.ebuild75
69 files changed, 1647 insertions, 163 deletions
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index fca233296db5..374a7db5d6a2 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -2,3 +2,5 @@ DIST aiohttp-3.13.5.tar.gz 7858271 BLAKE2B 33b8f7f977a429fcd14401042f0be88c4cf68
DIST aiohttp-3.13.5.tar.gz.provenance 9326 BLAKE2B 0ed4219dc79a8b48cbc69f1a926a75210069f8382d61e217aaae6c8d51871c03c03336c812a9c7ecff0972ab070d6f2954482bced18edfaa71cf06cf8ef019bd SHA512 801915c3639db98f363a14e0e2e9e7b3e6e76d8e7988f43749580e4fa04404fe6b72f50370a07f37a922541d111361106d8fd8c4ffa4be326b130148a407c0e0
DIST aiohttp-3.14.1.tar.gz 7955794 BLAKE2B b8b66efa9410871de7cce19427b53329460740c32bc46595933f9af21d6807493f6b5549217d993227f50b92850c5ee1a8a4b652b740e8770889ad0991789716 SHA512 8cba5eff6e62f29fc2f600b30c840febc2a6b947134d6e194a2dcd873972ada2d48cbdaa01216b53cc3127b973b0f30ef1ac69713081b5e1ed2efbfd654fdebc
DIST aiohttp-3.14.1.tar.gz.provenance 9456 BLAKE2B 9cccbaff0ee8d38a6a68704890c8af1d48673b434d52d4fed9fe4045dba84486e764016b1a55d648d81bc266d20dc031cc47798b0a7aa87e6b5b44a22a1b3502 SHA512 267af513e2492462a2da7ac48fb71a47d84efc5129e4b84c79dc86b20f823232e1c199eeb3e278cee9469af9d20a344a920e8c63c7087a2a87b8bfdd0e5ac61e
+DIST aiohttp-3.14.2.tar.gz 7969860 BLAKE2B bdf5b66795e4fb3efcf5da209f1243bc105b605c7b867bffe9a220f2e84b4239e0f4eea810a4c89f25368daf18230b087b44e1bc0cb3b299a75e30f8e0f1ba39 SHA512 89ae01207a885650bff9c5538de5d56c8f9034ff74f1aa2fb8a94aa792549759594b86c0ddcfdbd0b7b8303abf10af9ce67c7ab030e8486eaac7e710f50bde9a
+DIST aiohttp-3.14.2.tar.gz.provenance 9636 BLAKE2B 8efe41aae1fce51ebc3949881950ad38fff2898777e742cb2fd613134bfbf04ce5c6ca6a663556d438fa74b1df30adc0b7dd57e9065159d203ed66a9173dd71b SHA512 134fcaac002e5faf42826f199ef49faf70bfa47348c91e0280d4ecf5512c95981370efeb93a69423f75660581f6f288b8bd503f9c06ccf5aca391218a6dc3b57
diff --git a/dev-python/aiohttp/aiohttp-3.14.2.ebuild b/dev-python/aiohttp/aiohttp-3.14.2.ebuild
new file mode 100644
index 000000000000..bfd8a15c465c
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.14.2.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/aio-libs/aiohttp
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions test-rust"
+
+DEPEND="
+ native-extensions? (
+ net-libs/llhttp:=
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ >=dev-python/brotlicffi-1.2[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/backports-zstd[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ native-extensions? (
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/isal[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ dev-python/zlib-ng[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/blockbuster[${PYTHON_USEDEP}]
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 3.{12..14})
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( pytest-{mock,xdist} )
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT:=180}
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ sed -i -e 's:-Werror::' Makefile || die
+ # remove vendored llhttp
+ rm -r vendor || die
+}
+
+python_configure() {
+ # check for .install-cython, so that we do this only once
+ if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] &&
+ use native-extensions
+ then
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ local -x AIOHTTP_USE_SYSTEM_DEPS=1
+ # implicitly disabled for pypy3
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_fileresponse.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_nonzero_passed
+ tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection
+ tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_zero_not_passed
+ tests/test_client_functional.py::test_invalid_idna
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ # https://github.com/aio-libs/aiohttp/issues/11400#issuecomment-4168569526
+ # https://github.com/python/cpython/issues/145599
+ # https://github.com/python/cpython/pull/145600
+ tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal
+ # some warnings
+ tests/test_multipart.py::TestPartReader::test_read_decode_compressed_exceeds_max_size
+ )
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" -o filterwarnings=
+}
diff --git a/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
index 37e64dcf3598..a89686d70adc 100644
--- a/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
+++ b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
@@ -46,7 +46,7 @@ python_prepare_all() {
python_test() {
local EPYTEST_DESELECT=()
case ${EPYTHON} in
- python3.1[34])
+ python3.1[345])
EPYTEST_DESELECT+=(
# https://github.com/aio-libs/aiosmtpd/issues/403
aiosmtpd/tests/test_server.py::TestUnthreaded::test_unixsocket
diff --git a/dev-python/awkward/Manifest b/dev-python/awkward/Manifest
index 4472b31d775e..5ec335e6abda 100644
--- a/dev-python/awkward/Manifest
+++ b/dev-python/awkward/Manifest
@@ -1,4 +1,6 @@
DIST awkward-2.10.0.tar.gz 6343762 BLAKE2B 18550fd612e50fa8f814dd5d91abab0be0baf56c57e2d9771d5e7538d2be871d3ffd3d26a40ba6a8d0f83518371e1d05ec7576c80771c1d2f77f1810161ca27c SHA512 c7e8b1e36a2a832e7d8ffef1019bab8fd19a5e29b82727d21ecffc8252d6240cdf2acd02de256e6d55f97bf68e3d9f4ae3b96dc0e817dfc7e53f2a393aef0523
DIST awkward-2.10.0.tar.gz.provenance 9837 BLAKE2B cc977242888a13746365d73ec2a05ffac74db39dce338fd9de866066e028c158c2fc79136455a8a39bff691c8b3d378889fb994c1638b302fdb32e86500fa938 SHA512 f5783172e3d9617c7aefb2cda1a94bbfbd2bf34325993de20480a02c95515e10d01142fe662e3003f85cb9719c1afaf92d06c17c910d76c99f1ca4d7cb8661fc
+DIST awkward-2.11.0.tar.gz 6421215 BLAKE2B 99276166838e14792cfd58e273ef39d8d333cb9badc6c79e8c161830f3422a14f93528a16d9010dfabddc12bf9dd4c0581fc794714ff9c8f82c9cc274343e522 SHA512 ddcd6344f5b8fe576ffe5f08190443547da250d1cea425e116c3b1dce51c10c19af1ca510bbe74816244bca25718d6eeab005e5c8ba0ec591a9ff48c178de594
+DIST awkward-2.11.0.tar.gz.provenance 9571 BLAKE2B ffd36d8a8b85b53184b091ebba74bb65a941c8d171feae5583396bf95072fdd6806bde87cbcaacdb374fca7311121319d2871d4bb68a818bb4dbe1ad7d676941 SHA512 79323919469d82ba498b0e639f6e81dc9643ef69fc0b1f6ac0eae0cd17bdaced63c9676acee797e590c65af96a5ea1b1ca919a1710d9e6bec6450161d90c420a
DIST awkward-2.9.1.tar.gz 6303886 BLAKE2B 5b17e9934e335c86c0bfec9c191b016505812167e08cf474d436dfb9543337538e35454572f76b9776023f4c5097fa2ef784ec7d6f8c1c7401646bd8aea39311 SHA512 836b59c231a0c06fa38bcfac6412db0e8a68553c67f9803fc7785b7f2dc5b24f870749641e5be6c1305a6fe36228f3786296ebf32e24a7bfb995aa44d4826fe0
DIST awkward-2.9.1.tar.gz.provenance 9547 BLAKE2B ec83d985d2f2bc3c0270f34fda2712916c09af7efa8bbd9e513601ac047bb2947e931049f8c74d8a81d512580b2370da35a331e41e421783344da3c9ae539a56 SHA512 0775aa8f79a2d4bd5d07286c5420dd3ea365d79519116ea54e5d42c0185df2d056ac30f492105d8c542a255914483f5ff44f81a03676640d622e2a4c046001ab
diff --git a/dev-python/awkward/awkward-2.11.0.ebuild b/dev-python/awkward/awkward-2.11.0.ebuild
new file mode 100644
index 000000000000..8bd0f1adea40
--- /dev/null
+++ b/dev-python/awkward/awkward-2.11.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2025-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/scikit-hep/awkward
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manipulate JSON-like data with NumPy-like idioms"
+HOMEPAGE="
+ https://github.com/scikit-hep/awkward/
+ https://pypi.org/project/awkward/
+ https://doi.org/10.5281/zenodo.4341376
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ ~dev-python/awkward-cpp-54[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.3[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2022.11.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[zstd]
+ >=dev-python/pyarrow-17.0.0[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )
+"
+ #dev-python/numba[${PYTHON_USEDEP}] # needs numba from sci
+
+EPYTEST_IGNORE=(
+ # fails if just caffe2 but not pytorch is installed
+ tests/test_3259_to_torch_from_torch.py
+)
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ # CUDA tests require cupy
+ epytest tests
+}
diff --git a/dev-python/berkeleydb/berkeleydb-18.1.15.ebuild b/dev-python/berkeleydb/berkeleydb-18.1.15.ebuild
index 3a072208f945..f4173794e751 100644
--- a/dev-python/berkeleydb/berkeleydb-18.1.15.ebuild
+++ b/dev-python/berkeleydb/berkeleydb-18.1.15.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index b42ea858835e..7f4b2a8bd9e9 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -7,3 +7,4 @@ DIST boto3-1.43.48.gh.tar.gz 1182113 BLAKE2B 8485ed17dc4abb15648962d35264738d274
DIST boto3-1.43.49.gh.tar.gz 1182698 BLAKE2B 09ac6916c3fbe2ebc41406e833adc8b13f67f69dfc61f0e278f232b0a4112132eb165d8e0f0776a115c3a7b2b08d4ac1685fed661ba991c1f8d13ca3626a5f69 SHA512 6d73dec98849899c5892c8b8e545e38e433ee35c1af98ddf3f9250d4a607daf5d917f97ee7ed3cc54b831e569a46476adad4ac4cbaf68a89971fb2a4408be202
DIST boto3-1.43.50.gh.tar.gz 1183546 BLAKE2B 72bcdda319a094b12642abc9b3dc98887043d295b0d4ff1ad7dce3442336ee2bf8a0528a0fe311d66cbb3f6712e33cbcca787b9510cde120c54424fe838533c6 SHA512 40e3b787563d5f9226a62bd0a2aef6802f084401319744b0e9b27a69b039aaabfb6a9bcc3ec53bf56b3e0e8449a7332b9da9fcf9da48b033fa20d0db3565fd5a
DIST boto3-1.43.51.gh.tar.gz 1184372 BLAKE2B d89d6ee90f2e758dd88b2aa9ea70d836c2e26669fda3246ddaf55c9c01d74848d76ac5d555f345103e371f90c2ad6f904cd369c9c546608ff26decc4a2f9dd7e SHA512 08a300db1e3bf4725cb95aa7e5fa451998e8467ef76bd1fed059c05c7ef7c6005321481460a6e3e5154117e876ef7a579cda5a2ebc12ba3dfc33bcae998e127f
+DIST boto3-1.43.52.gh.tar.gz 1187251 BLAKE2B 5ee087e5cddac442b2008b564c1d2d1b07986a85db461303d9044a93243169aab9e195885be8065d76c41888d3c5b766ca5304177a3960cae46633f02645cdcb SHA512 66e4e0f07636a3148a8ec28e83bcd82e5328b7e0664c3b4153eac375bbc90ae528c026c8d187b4551b35ea04bbeafaf923bcacae44b99760767153729ce6c279
diff --git a/dev-python/boto3/boto3-1.43.52.ebuild b/dev-python/boto3/boto3-1.43.52.ebuild
new file mode 100644
index 000000000000..93fbbe6dd59b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.43.52.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_{13..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.19.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 461197fe5c14..86b69a41064e 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -7,3 +7,4 @@ DIST botocore-1.43.48.gh.tar.gz 16688909 BLAKE2B 18765fa54b970c5792bed052d910faa
DIST botocore-1.43.49.gh.tar.gz 16696979 BLAKE2B 2a3257c70719fa6f8b6e55f55a0adedb2f3af261a7faae2a7469eacdaba62f3361984be172e611d445f2dfc13ad392142532a879775fb670ee46d187891acb59 SHA512 bf9e9d1141fa83f7153fd9bec3a05d4d7f295a9947080c19358c29b86868687dc4cd1371e34149a9af13236c9043efe1fea356dc3266bb1cc34603e5e41165e4
DIST botocore-1.43.50.gh.tar.gz 16700459 BLAKE2B bb521f40fce6272e1bba2330e07c4524bb811b9c4abc2b1d5c30f179061a9d97f1821c05963e5f12457765229a0de1b1c6441deab811078c23f0786a2cde42d3 SHA512 605a52e05bba219faa6a54ab3aa20e511ebddaf572c98d8be1ff899dfd9cc15c72bb9e6a23c6d634b5f6c994ff6e3215133f43b215be4664c968c8e005944748
DIST botocore-1.43.51.gh.tar.gz 16704426 BLAKE2B 0c293805968a448b093654c57df15d83f400ecfabc965c7449194fd8fa62f6d547da5baa705eb52d4fa26e00943db81af7908a366d210bb6dbd56bccbc79a868 SHA512 709fee1bed2e3e25ad6da78d42974683c5d03507beadff4e4ea4f554f8fdbaf9ef665ef6d99defd170eba003a6750379a299a64187a31d23cc0dc5a18c904349
+DIST botocore-1.43.52.gh.tar.gz 16708936 BLAKE2B 044e3646265d68818480bd5fd1403c25d9a7d999bc48c47c604c0a0f8d2fc97d55a1161815a810a629e9b70436973927fbb654afabd628a18aa54c86f54fb1a5 SHA512 3b06728a591664fb3f1497a62ecadc45ac027fe873fa7dbe80f5760c16bd24dde35c656e1ac20b5282275dfd57758f77208cf5f27599cc3f1c1d6efce1ca95ce
diff --git a/dev-python/botocore/botocore-1.43.52.ebuild b/dev-python/botocore/botocore-1.43.52.ebuild
new file mode 100644
index 000000000000..a3a161f78545
--- /dev/null
+++ b/dev-python/botocore/botocore-1.43.52.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_{13..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/bracex/Manifest b/dev-python/bracex/Manifest
index 911d412906f9..9d38678d2dad 100644
--- a/dev-python/bracex/Manifest
+++ b/dev-python/bracex/Manifest
@@ -2,5 +2,7 @@ DIST bracex-2.6.tar.gz 26642 BLAKE2B 283e73a59afb6f90a59c4fb11ba999a13284a204481
DIST bracex-2.6.tar.gz.provenance 9192 BLAKE2B 5d528916e13c892df9d1e3b56132a6ff2092cf1f0653c6b1813ad50aa8775f99a1b7216e5f294f445ad0543ee315bd0b171460a04c8a1220c7fa09a45c40baea SHA512 8dd2fd4919d001f69198eaafb78de0f91d3f826cd88cb7ca57573d1e367893c21dda627cbd94cb5946a0001283065d5f1237e8b4266d7237f285980d31ae6ea6
DIST bracex-2.7.tar.gz 42150 BLAKE2B 600124d6611f4592436b22bff66ea909d491526949fd0946b0e02b81ce887a999902945845bc0be7389b71a6428c9cb37665b9f97f729453177b03df960468f2 SHA512 b5deb52f0f552c0a3bc1910fa0826a5ae0b0b64e287d953df338d3946a82c215c06fd6bc2aa9fa5fc6532726b7e4db863b4059c6fb484543e5ab729b4d3d96e5
DIST bracex-2.7.tar.gz.provenance 9839 BLAKE2B e03ba0fc9427ab6a1509abc0de758976dc9733817ca4e2e7038f53dbb7b4c744013982a7b28c481955d6a72f874f8b5636d38bfe38a12de486299a124dbd3789 SHA512 a1df0296f57fe2f43b56cb92ebc6fb10bdcf274db1743e054adc730a89d4d32f27f948c9a118285397341bc09a2ee36c110bf711d0e979cebf3ae4b1a0ed484f
+DIST bracex-3.0.1.tar.gz 44019 BLAKE2B 12a8d7510c80e48b2461efbc85078aee51f0bf93b50394b3c451bc0e55f6e5e795035d7812a907f5e3e0251713bb334297416760e3371f5bf45112913bfab124 SHA512 7a8e408e6b4dc572f6899f12fce6ce039b7e61a614af4b7cc4b1b8056c9f4eb63b3f44dbc66103491ce1f25ae36f6287fc8357ec1aa2ff9acda3906fcb0cce30
+DIST bracex-3.0.1.tar.gz.provenance 9626 BLAKE2B 24fee61e3b213b97bc72a053c8377ea82c397eb2e1361c639c040a68dc81e25a318e41c3699cfad9f9d8f7ba934f163c7bac5d2a78edbf5e54223b7924bd4daf SHA512 377c69a0f72fb83cfb74659b6c76c6a733f92b85174dd42952746e7e905a2b9d60e4ca8d76df126857d685de557daa6da192f50d1903124addf7bf48efa77861
DIST bracex-3.0.tar.gz 43162 BLAKE2B c7e31337fa849d24afd4f5a2d8b50163314ce04a550425867e7b6530983eb572ef997ada9b1fde75203252db416e5862e5546aef037dde2efacc36e517039394 SHA512 cfa892c84eacd238c3f8469e4db9a8c7063541b950158fe4b0920c57a55b9029f916648fadc5ac9b0108ffa8cc7b9ea29c481449b42ff28cef90a6e6d5583116
DIST bracex-3.0.tar.gz.provenance 9731 BLAKE2B d681d185bbb435e7ba472643909e354644a6f8276556f97f3e807eed998776755f05f572a654491fd4cef9f5cef10e235e7faa4d7971d0bcf07aa3b2d447b716 SHA512 17a5d4be38a867b0d763011118824a5c68971d6ea0a84d7394b94abf4136c6c59483b53b37811225c756761b05cd3ce075aad33fcf21ef348b3de2f4aa8acf28
diff --git a/dev-python/bracex/bracex-3.0.1.ebuild b/dev-python/bracex/bracex-3.0.1.ebuild
new file mode 100644
index 000000000000..06fae3104a7d
--- /dev/null
+++ b/dev-python/bracex/bracex-3.0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-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/facelessuser/bracex
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Bash style brace expansion for Python"
+HOMEPAGE="
+ https://github.com/facelessuser/bracex/
+ https://pypi.org/project/bracex/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 8483f6d4ab46..31580c608c68 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -4,3 +4,5 @@ DIST cfn_lint-1.52.1.tar.gz 4487553 BLAKE2B 7424bb7e2f02d9c825db9c2dcbd0b7601bae
DIST cfn_lint-1.52.1.tar.gz.provenance 10005 BLAKE2B 9745d99328ace70220263a5298f41d95f49d192fbef8130a4052681af0a06e18d57e25ad7922e4f93a535fd9b2ead070eb3b7f652a870c74d8a60e84bad3aea7 SHA512 166ff9ec2ceef4fa4bcb8b9b152a8423e976d9192bb3c7cb1621c620bbfdda4949ef3780b802fae278078853776eef47ef0b53ed39f571962b9cb54b6d64a356
DIST cfn_lint-1.53.0.tar.gz 4517403 BLAKE2B 931000db6a89629932269e24f9269e950b43331b284ed62f7961d6039595b1adeb59c60327035d29f7b02bf7ae8b7283e5003e83df08b1d394eed794cd829eec SHA512 2237556bf0c5b5cd761899430225c885b6c10ee00e62c52d5ad9a945a316d66db1cdd14c7ed67e9a4dad3d71d70e915a7d3e45e5e3a2bb1d47ee42e4987dafd3
DIST cfn_lint-1.53.0.tar.gz.provenance 10173 BLAKE2B d1fcc344b818f36e27305edb1c8669d898fcfb7ea989830b22bc05eba7f1f857cfd0ab909b159dd8bb6809920ae40db4157ef0c902bb4ae2966e460d3eedefaf SHA512 bf5330f59b9cb267c9453a3760ffa8a222bc50b9791c614112137a8eb888b77229f4c65c609949c0a145b632a49ac43331e737cd46f0b0a765099505821f71d6
+DIST cfn_lint-1.53.1.tar.gz 4549692 BLAKE2B 6f0d4f99971279a94a61ce2802e80af70d8928f4ccdc1e27bb4d1063f51829a52a5150a2a757b9dbf964a1e9629ba39c064e03c1361cc7f5516ea69a03cbf169 SHA512 d8d270cd2c0317ef06fdb3ff81c60876715a5197f0f7fbde1e5f2405ccf72fc785b1d85fbd30485f27d5fe42684c75f14babe1ba5429c934dcad405cd7fc7d13
+DIST cfn_lint-1.53.1.tar.gz.provenance 9907 BLAKE2B fc6b501799621998b3578e94a13f2d168add94986a2920764756751b9448afab1803db93086e64914b78fc72114b56ad91bc1bb159d6280d4484721dca718ab8 SHA512 d97eea1083a5bedb425b94d85909a726edbc43d64b69b05d9bec12785d997c6c00ae69f1baa018759670a68f293b822bc04a576186e06a8d31caa9bd035c3813
diff --git a/dev-python/cfn-lint/cfn-lint-1.53.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.53.1.ebuild
new file mode 100644
index 000000000000..85f616e39f72
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.53.1.ebuild
@@ -0,0 +1,60 @@
+# 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/aws-cloudformation/cfn-lint
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.111.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.3[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # crashes on 3.12+, probably pygraphviz
+ test/unit/module/test_api.py::TestLintByConfig::test_graph
+ # scripts missing from sdist
+ test/unit/module/maintenance/test_update_specs_from_pricing.py
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest test/unit
+}
diff --git a/dev-python/configclass/configclass-0.2.0-r1.ebuild b/dev-python/configclass/configclass-0.2.0-r1.ebuild
index 2aad0106193e..f8056faf6e16 100644
--- a/dev-python/configclass/configclass-0.2.0-r1.ebuild
+++ b/dev-python/configclass/configclass-0.2.0-r1.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
@@ -26,4 +26,5 @@ RDEPEND="
>=dev-python/mergedict-0.2.0[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/django-taggit/django-taggit-6.1.0-r1.ebuild b/dev-python/django-taggit/django-taggit-6.1.0-r1.ebuild
index 0f94d60047ca..d817e87981ba 100644
--- a/dev-python/django-taggit/django-taggit-6.1.0-r1.ebuild
+++ b/dev-python/django-taggit/django-taggit-6.1.0-r1.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
diff --git a/dev-python/eradicate/eradicate-3.0.1.ebuild b/dev-python/eradicate/eradicate-3.0.1.ebuild
index 4936eebd9fc2..b5f788186380 100644
--- a/dev-python/eradicate/eradicate-3.0.1.ebuild
+++ b/dev-python/eradicate/eradicate-3.0.1.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
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index 177de3ccac8b..de69b500d351 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -2,3 +2,4 @@ DIST faker-40.23.0.tar.gz 1972975 BLAKE2B bd31c81933c72a1cb367e764331295656e5b92
DIST faker-40.27.0.tar.gz 2018361 BLAKE2B 0a2caa035f137738669b57c50a79209f3c3dfedd0fd077992c2290d3cbde4fca3605d797630327cf82afac50f592cb972f10622832483ed45e7d18cd796906a2 SHA512 33734d76f291e6b36b3551201b6055c515d06d943ec1aaeeba739d38d4709849a99af785e1c49a5473ac12fc58d43114a5493a46de52a0d56861dbe5c84c9b0f
DIST faker-40.28.1.tar.gz 2022717 BLAKE2B a677249f4144ae6c123b438bae2e7d10c8e7faff839fe7371fe4c7d6fdbe61f0d70a4e90c0cc12448f857afb5aec1d4a424cd9ac3f998f5b78d5ff942aaf136d SHA512 3b0c86a85e4772a10b8995df39af498878d2961e4caa5bda61ef3a2f88e26dc1c3f97781f714e46ef67b0dece68ebfb37390379c06f5768a2914f074c7254d92
DIST faker-40.31.0.tar.gz 2024136 BLAKE2B f3c1256c9d03d6ec918a849fb720b9bf18e8c177babc422896b174effac242b3c979092a084e7d290b718b7f2f9caaa5040479b62dd5d5cde2ac8c4e7ea14cc8 SHA512 aca52d229f21e80b41b94a95986ea1f5f96bbcfe42e3e9a6b197b44a95b0b6b6ef43fac7be7189a9afa8bd11fd28b6735ee321da37a1d74b222ae62f0c419ffb
+DIST faker-40.32.0.tar.gz 2024472 BLAKE2B 5c42bea5eacbcafb4a6752280486a3dbe850c189a59cb320089ca0fd17c9641b9b4ceaebba1e765e0dc5fe6bbfa1cdab4275ecef7e683e66470b453a2da9bd26 SHA512 c4bf118dad8befcded8bc0b02fe3b07874e9672ba5a5a0e9729d6b17f3004b2711369590f057a4af8eb96782a7eda4b25dafffb72d9e64d0a1715f5a61a74744
diff --git a/dev-python/faker/faker-40.32.0.ebuild b/dev-python/faker/faker-40.32.0.ebuild
new file mode 100644
index 000000000000..125fe3904e57
--- /dev/null
+++ b/dev-python/faker/faker-40.32.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/faust-cchardet/Manifest b/dev-python/faust-cchardet/Manifest
index 8c28751a5189..41d63da7ee82 100644
--- a/dev-python/faust-cchardet/Manifest
+++ b/dev-python/faust-cchardet/Manifest
@@ -1,3 +1,4 @@
DIST faust-cchardet-2.1.19.tar.gz 678871 BLAKE2B e87389ef602bc5e69ae2037aff1000b9caacfd91a44c5eb8fb2084d4ac33772eb8e480b05109ff83ebfcb2b9a57e215b4bc9cc5558f4f7e1a19b58dd1dfca8b5 SHA512 bd75ddf8b2e9891fe6ecdfd687a6903342a24b93f35a3d9a1b20da9abc77684e73840db73da97689636e3412e33da25b68cfafad114186681d0dec98880ffe95
DIST faust_cchardet-2.1.20.tar.gz 695215 BLAKE2B b57d8980298cd7992eff00b13db745cceba3459e16f6f2e28ddedea959868142bb62632f20f09b21d6f628399dbfc0dd0f89272e47ff059ec3d1e551f50c574f SHA512 c2513955dc19541a55cb1b745a4b2d58ea0a0e525797a4e205a3c95c80743ace37ce77bbd4df0a2828d1a5c733c9b1d71b04e05ae760e3a95aec1af3873d85c5
DIST faust_cchardet-2.2.1.tar.gz 642133 BLAKE2B ca1afa718f74c859ba53a1b668b95b162aad977cfd2df92d1a9156c1e145579de9509479a9aa99ea726038f8b3c9228c0266c45cb968e0ecd28ca819fbd2a94e SHA512 20b22d52cb1d3da17e70c9ec2854ef69ddfbdbb49903c00e92b9b921826ed4b13060ea4ee2cd9748fc17852cb0591eeeff21f96ceda866f0acbda480ddbe3b84
+DIST faust_cchardet-3.0.0.tar.gz 785788 BLAKE2B 204410fe550dcd79b37e8aa61447585df686367e3e91a4792451bb752e87c3d3ec03a58980c06a38f83829ad24f5a95d286710bb2871528904297e1af5409624 SHA512 682ebaed4bf749c613ce7ee821a76b1f6ae4f67d274685c5c7365629d579e32e216918db1bd20dcde6e144a38a92037c6c3f6158ddf0938d5142478cb48e7cba
diff --git a/dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild b/dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild
new file mode 100644
index 000000000000..2bee8aa6cb1a
--- /dev/null
+++ b/dev-python/faust-cchardet/faust-cchardet-3.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="High speed universal character encoding detector"
+HOMEPAGE="
+ https://github.com/faust-streaming/cChardet/
+ https://pypi.org/project/faust-cchardet/
+"
+
+LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 68066960f00b..092878c36bd1 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -1,5 +1,3 @@
-DIST filelock-3.29.3.tar.gz 61956 BLAKE2B 0ed0cbbe5369aab9ea1df4e17e43259951f082657e2f98605fc97f9a11db043f0718670cc7eedfa029914c08e0359d6e78d8e5597c36f995e79c876243c9e252 SHA512 ebf7fce93c269085d9c7190b47aeab76e7e28a00d0d32125f5e923435c180587d4bd1b84c543005b023561ee1a38bb5eaa1d9b4ba5f9ce52db92adcd25fb9488
-DIST filelock-3.29.3.tar.gz.provenance 9855 BLAKE2B 4a527df2b23dda435f858ad272188ebc5ee3ad1bc857077ea2de40bc0e579503b355eff097d929350012ae353e80d99382fb2cf1a752d24f396ad112045ec853 SHA512 22c0ae0303317c7cc5ee8b8f7a3b89d53408e0cc76eab0d1b26b81757a0e1668edfd7b290b3dacdcbe395716b453b4e408dc6c5f5a5ed52dfa47dcc9d1589c5d
DIST filelock-3.29.4.tar.gz 63028 BLAKE2B 9e918f65b3f7e4126a42864c5bdb8734b09e12ae2f64ea7285026d77bd1b22e3e6024c5b509cebc18b2c01e1388abff3b2183ac59a27db2cb8faea1c4adc63de SHA512 18ad0d05522f529f9197e8270bd05e6c248ee652cc2b7ad19b77be6bf899aff4c908e277b5ef6e1d43db2666428eacbdeaa33a477ec451beb35a83b265f6db09
DIST filelock-3.29.4.tar.gz.provenance 9479 BLAKE2B d6541ac68521d0d58b6e2acebb0d9812a47a81d83ea29dfd66c4b782bc89a25aeb6402a2430d8ef2aed24358d79b9f5235262f6e82b9d84a8bfa5c0268632a0f SHA512 3a46b418d4ad473e7973a0eb5da831970ea21d662aaf764b626eff514c59829b224b0e8f0df5e7540f8ea6b027a6990dcc4425d7e1a71d7249f4b5bd44d92731
DIST filelock-3.29.5.tar.gz 68927 BLAKE2B 7f54bcaade7048e6cb41528752ede9b3978c27553e693cecb26f62b8bac5ee5634b9dcc6fa40a15e75c1f9537c597858fe69beb321fa635fd4afed13dd70009a SHA512 da590940023c63584f6eef35fa63a0628a4e182a80a51aca155bec11439571a551e72e6f9f23a0dd16b35e1d4d821417e2d1ce0bf1c3526fc48c6fc301185b1c
@@ -8,8 +6,6 @@ DIST filelock-3.29.6.tar.gz 70301 BLAKE2B f789d28c298e00cd8ecbb6dbb86b146b26f4c9
DIST filelock-3.29.6.tar.gz.provenance 9714 BLAKE2B fb55c35105da0badc79f989c808fb1c38e3e69ceeac430454e13c9fdfc1140d2051eed26936286fdb9338304a1de682c553812fe47ffe826dbdf0067d9bb52de SHA512 afa45949c59ef3d5cfdbf64ff6710e20a16c2fbd492e623cd6f97972b3e7808b5d7269e227226028ec2762c6f34c9beaf33149fd78e31f4f4fc901fbcb9d91c1
DIST filelock-3.29.7.tar.gz 71521 BLAKE2B c032a547c012ceeef83c8f4a561ecb0985e2444d92a6fb653af045565e2d887bd28adb71449ff5425280419f72456f5c93296bc1ed11e1027ae0ba6bcc54cfb8 SHA512 7ebe4add67d48f3ad2d084712e17034a503e4eaa690761aa9100b73425cb728a140eb44de7b739b4ba5bad952221eb09804866a619a20345d5e7e6fd2a70156b
DIST filelock-3.29.7.tar.gz.provenance 9855 BLAKE2B 785f4eade5c0848e0f993415cd97c96617414bc3481ce47b312f41309b1784cc7231494f030a41974359ced5ebb22e121e12f28fafc8b41dcbd8cfd4555f7406 SHA512 05879d7e37a8f5e7b60482d136cf7c4d70ebf30ca13aee763791d9f418d26669ddefb405f903814c762f8e13846882892883bfc2c2840e7bfae85c82ce806554
-DIST filelock-3.30.2.tar.gz 176823 BLAKE2B deeacbd7d49da6730dc4e0ce6b2cf752aea8446af80e2ed8e7e44c04c9b2a91e7b27f72f308605fadd5290c4f4e64f4b76555293dbe6f9fd078a6bd3cf18cbe9 SHA512 d36ccfd6a935b4d8d225dc6f839737de59b5597d872ef68c2fbbd929d716529e2d01c6c1233b25469fa6d75e526415a43862cd811ff6c7eef8cbd6e970008bf8
-DIST filelock-3.30.2.tar.gz.provenance 9761 BLAKE2B cd77c9a9a251f5009d9a805a89aec34ad0c490ff0536e69317c4519f9af5b23b24dd73e0d4310833df848171f29004047317cfae9cac25c2b3fa9c56b9764a21 SHA512 e229fd0f489df6beed32cb1b7f8559d2420675f6d4ce967e5ea653d7a79b82151bf794e04274d80931b66db996a39339ea8f04c9e3d9c52f584aeccf857e7629
DIST filelock-3.30.3.tar.gz 177706 BLAKE2B 067c4edef12b140b6cee97c5166e36de82697ed91e27bf58e1efb7c3ee8bf2de9d89cd3962eab3efb73798b57a83b103b364e1b1cf1e6ac64a902a16eab83b18 SHA512 7c7d2e607e5f1fb5f1ba000714571267f69fe313fdd7fb1f741cb799e36485761a01f9e0d53e96e144ff24449c6bdf7eaeb88b32684a863c2455948772df6e74
DIST filelock-3.30.3.tar.gz.provenance 9761 BLAKE2B 8e1b7929c39ce687bf2587af19fcf34de91887b318451ece908eefc745ece73a0d9b84793ad1f3f973c54cb083c6f8ba01924129ccd824092d51d3d9531cd5e4 SHA512 739b3f18d8826ab47e9ad613126ce2596406ce70190ba8e1f08c0cf743961750da2e89aec7ea6bde99456b7d6ec2852cace74788ef0111e57301823959b614b5
DIST filelock-3.31.0.tar.gz 180931 BLAKE2B 1921f1ec88d79cb764c30dc5f2ebf9192209dd433504d6577f8f5c3b73951268345af331f1a684fd986d9f9f25ea3f88179dcd5ce32604c6af6f7b7e8903413d SHA512 e24d88921f975db582b64baf5e23bd1ebb3de1364b874e9d63a2a4a42cd9e71d2a30e6646f9b7afcbca3cd3b075eb480bb38c6451f5410b711ba57578252d871
diff --git a/dev-python/filelock/filelock-3.29.3.ebuild b/dev-python/filelock/filelock-3.29.3.ebuild
deleted file mode 100644
index 0c8f0c0c6c99..000000000000
--- a/dev-python/filelock/filelock-3.29.3.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2018-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/filelock
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A platform independent file lock for Python"
-HOMEPAGE="
- https://github.com/tox-dev/filelock/
- https://pypi.org/project/filelock/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
-EPYTEST_RERUNS=5
-distutils_enable_tests pytest
diff --git a/dev-python/filelock/filelock-3.30.2.ebuild b/dev-python/filelock/filelock-3.30.2.ebuild
deleted file mode 100644
index 1f38026c0588..000000000000
--- a/dev-python/filelock/filelock-3.30.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2018-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/filelock
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A platform independent file lock for Python"
-HOMEPAGE="
- https://github.com/tox-dev/filelock/
- https://pypi.org/project/filelock/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} )
-EPYTEST_RERUNS=5
-distutils_enable_tests pytest
diff --git a/dev-python/gitpython/Manifest b/dev-python/gitpython/Manifest
index 8399b6aa5fd3..6e1407c67a38 100644
--- a/dev-python/gitpython/Manifest
+++ b/dev-python/gitpython/Manifest
@@ -1,8 +1,10 @@
DIST GitPython-3.1.50.gitbundle 11365195 BLAKE2B a1c889dd431d94ef6a70aa7c26b29fcbc2a27224a7f939422ed2fb0bc77ccd63f96adb9fffde05ea8bf7947cdf6855c7096582f6763b1a4c790ab5e00011560c SHA512 11a09d70d5ba8527d0907739b6a7c355d62692afddfcd2cc4f31f30e0546746c824b29264429676f3a5b27136945901147590e4862fab6561e30a42aac059801
DIST GitPython-3.1.51.gitbundle 11475069 BLAKE2B 42942f353b1e719d209b059d9f9047b9d6081b4b3e61e3405a526ed03215ad62ec6d8da70fd157e64631ab1a62b35bca01af531c0e1e65d875b4cfb2ffe3cdf1 SHA512 7d590c22a1ec8addd3cd0b445b1edb4ff3d7eec8fb356f9e12f768a613fadc25dbce461ac6b368ea0f9dbefba2d097e3af3fe6ea44caccd4a79ac6172e300126
DIST GitPython-3.1.52.gitbundle 11480264 BLAKE2B 5a9368453765f664ae813d99c0db8afb5752053e908d61024945a45ad4ef0d9ff39b8cbd3ac543a3f52ef82643685ff96609d9086095ebb84e59394de8a8c361 SHA512 5df37794b755c7820fcbe2215098cb8b58e69bf98f1465d2f4cd5efd688287c229ed8734eb3f9294e660705a8b9a3bc7eec009b79db78711a824d6454e396caf
+DIST GitPython-3.1.53.gitbundle 11481045 BLAKE2B 1f45f2766a227f1cdab87835dc81f001f64bc144f527395c93c8d155488d4e6ab09f51648da352f7fec96d842d7624617e136cf695189514360f46d5ee077650 SHA512 3cf929c339f861eff58911bb74b0a9b9b649f6ec632a5811350c18e97ea3b9688279d738334d909207978d08b8c21c54445268445a01d93cc2fcf7ac2a149ae5
DIST gitdb-4.0.12.gitbundle 1627457 BLAKE2B 2fb730fb72f682bac9a71a2b70af6ed476f69d57e00b323e669550793bcc330bd4b71575e0d0f008ed58f39e5beb622213ce2a10df6f512f1f5536b72c77871a SHA512 2fc619f511e373ad2ee51a108057e3a558dbfd68cbd7632244d7fd7914ed5fce99c182de5542264273de642e6e7680ee9b54a6da95224c562f43cf65e325db56
DIST gitpython-3.1.50.tar.gz 219798 BLAKE2B 405dce7a580de35973d460750df020d6c6959da36b46f724d45ed369d4a2bca98afe45947f35a66ee4ca746315a501173786b2e78970945ba285cd97199503cc SHA512 f5233ddd8eec95673df7ec035bc17c0f320277fa1392dff43e44f6781954d7e8d017832ae5e7b166bce094a16859468cbe0cef65ad40b13d75b77ab9a166c7f1
DIST gitpython-3.1.51.tar.gz 223519 BLAKE2B 6f828a6a1bf0c222351d2f3c0d80107b87b82cc61c7f1b5086c98db89897e431c8310c932a9aad329dcae6b805b9b560be3bc18d1634f07639e2de8a680c36a9 SHA512 afee2f96b88f15bef46c4b2df45fd5e1eccd30609c6ba2f0ca319ff360d5b09b79167cdba8a3cf310ce42e612947329913dc4b97d79c24eb01677ef6c77be67f
DIST gitpython-3.1.52.tar.gz 223726 BLAKE2B 64c1cf95f45e66f9801aff59cc9b18cbd42784122e96c90b0005abc175734cab98977145d26a21521dbeefc47555c2f972dc8998d5c1d4f4a3fe8b42508f04d9 SHA512 5cdf0dd635a30a516ae28400ce4267b809e9f9512594136f08a5b503dd2ffbc173f524ec48cc2e88948d638f82a2ced5c39d61e4d64923e278d5d8889346e4c9
+DIST gitpython-3.1.53.tar.gz 224597 BLAKE2B b82e7254ccec5e6e6c942d01c2c2aab51f0b12a83e988bc5aeb5c285691eb16bede5203e0f59700401c1a9df97c22bb40075d3bf5d76a2bc5dfbedc353de590f SHA512 a2e27ea55817541840c90e9564f1b18db3ece6d21adb770a06fb24b0bca559072d607254116cb780490e32484df00d0b9910b2e4a0d508f2b516658712b29fb0
DIST smmap-5.0.1.gitbundle 362567 BLAKE2B 72c8b48ad3250a33b94218c145c02033dee84c1da5f1eea57983a58699262d51844be675330d95c7d64924b6aeaacd4b0a57e9a5acad3be184aaad62102202e7 SHA512 9ca8386bfec25d1562cdf1c2ee85f7edb15fd3f44ecd1abbef738979f12b82f0b0f39a06589203a39f89518d981d7129e35f64f2d855cd162cd964bdd87c8d18
diff --git a/dev-python/gitpython/gitpython-3.1.53.ebuild b/dev-python/gitpython/gitpython-3.1.53.ebuild
new file mode 100644
index 000000000000..696f647771d9
--- /dev/null
+++ b/dev-python/gitpython/gitpython-3.1.53.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=GitPython
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+TEST_P=GitPython-${PV}
+GITDB_P=gitdb-4.0.12
+SMMAP_P=smmap-5.0.1
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="
+ https://github.com/gitpython-developers/GitPython/
+ https://pypi.org/project/GitPython/
+"
+SRC_URI+="
+ test? (
+ https://distfiles.gentoo.org/pub/proj/python/GitPython/${TEST_P}.gitbundle
+ https://distfiles.gentoo.org/pub/proj/python/GitPython/${GITDB_P}.gitbundle
+ https://distfiles.gentoo.org/pub/proj/python/GitPython/${SMMAP_P}.gitbundle
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_test() {
+ git config --global user.email "travis@ci.com" || die
+ git config --global user.name "Travis Runner" || die
+
+ git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
+ git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb || die
+ git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
+
+ cd "${T}"/test || die
+ git rev-parse HEAD > .git/refs/remotes/origin/master || die
+ # this tries to fetch again
+ sed -i -e '/git submodule/d' init-tests-after-clone.sh || die
+ TRAVIS=1 ./init-tests-after-clone.sh || die
+ cat test/fixtures/.gitconfig >> ~/.gitconfig || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # performance tests are unreliable by design
+ test/performance
+ # unimportant and problematic
+ test/test_installation.py
+ # Internet
+ test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
+ # TODO
+ test/test_submodule.py::TestSubmodule::test_base_rw
+ test/test_submodule.py::TestSubmodule::test_root_module
+ )
+
+ epytest -o addopts= test
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 4223eca6adc5..61ed55301692 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,7 @@
+DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
+DIST crunchy-0.2.4.crate 3887 BLAKE2B f957597c82795eb10d43a6a98f7575e19b9484dcdf9fe35ac79ce406035d5d467021a0c563dcfe8f717e800b6bf532fcd72cc11be47e084405e16219b88e67b1 SHA512 72ecadb6c8558dcbf3cbc3a34bcefbf292e42999e7af6f59b9804e1233d87f6f65802b157f346a64cd7d2dc1a92564d5481211b081ba5ea170ecdb06dff9dd0b
+DIST getrandom-0.3.4.crate 50932 BLAKE2B 34165a6994877aeaf3063affd48eb499512371a1fdc0d890feee598b5e22c14cb8347642a0e9374cd5d8a59a8281db839e45923769260312379321bef54c687d SHA512 43c44ec3ba0668f388519b2cefbee63f959f0e078730b3f7563742522e5f4b120472024b95fc94aeb90900a15d327c3573271bb26b2de4785e589a8bc1bc9da8
+DIST half-2.7.1.crate 61040 BLAKE2B bd78abf71b1b0ae219d2293f8edd5084fa630150016c95786d0af38a898d2775ff73ce848c4b2bbf02c2ea2dc8a610b2e045df78892d2b1de28981e8033625a7 SHA512 f47cc8bfb4c754a8585d4e8eca1a35039dc0879e87e59acb72e91bf2d33eca8c4f8dd17b3a56e8953bcba62cb08122120866e9d4b3ab9f008847d86a5f81716d
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST hypothesis-6.155.7.gh.tar.gz 9606080 BLAKE2B aa57b12df421b8194564b85f09307add06c35b98ad923e3c1704ad5cdc5581c47e56e4bf0cf77048306395884a11b6b1b0131f94381250e2203b80c1f3fb6962 SHA512 2c4042084b918c249183b311b3037711043b3c43f685712a51b0751cbb781b065150db949f48ecf2e0ed7fcc9a530c395063252d868d893cfb36cd10af3e31f0
DIST hypothesis-6.156.1.gh.tar.gz 9610367 BLAKE2B ffffd235f9f8cadbf42b7a65e7b0abf54312836ca5ce7846dcfd27154ee045646741232529feed3d5e608614a8e05bb02faa754b50193503966f3aeac4352751 SHA512 b887084a5ceee0a5c6dac196b7aa311176314aa284566c2b14a6349e5c00207626610df590de7b02efdbbd579b4f177e30115cc3732854828dd75f419beb42eb
@@ -6,9 +10,11 @@ DIST hypothesis-6.156.4.gh.tar.gz 9611219 BLAKE2B 57ce8d8577cb2889773523adb6b62c
DIST hypothesis-6.156.6.gh.tar.gz 9611355 BLAKE2B 41841a837cd722840f7d5d4243627cb220ed0cedc0cf4c010982fa14e8575f290da8c37c71955f4131029e685bdce019d699707404d1f92440726b7a0e572b40 SHA512 b495921459ea29faa9de74492ec6d64deaea9af79c93e8f429ce75787080afd5c73b448e9c07d795989254ccbbd40fc93f7ec403ea9a7b65f292f21aeca70c93
DIST hypothesis-6.156.9.gh.tar.gz 9621697 BLAKE2B ff3b9f098c9097285976a44c68f1c4c4d431e757439d3faea759e7633f57d6ada94a5749d990dbaec7d936c12ecd9c2401dec0f68cbf5048a7819dd4a94e2ec7 SHA512 630dd5c026247535bcbbabd7c99eadc7c9d6831a3f8db301b6488045ee9d895487d629eac712331432ff2a4b9ea42e11bd4b7feb32813c8b635cf2aa9819f03a
DIST hypothesis-6.157.0.gh.tar.gz 9623883 BLAKE2B 6c0d9f3db009286e63654561528f230fe74fc7aea62a73e417b469bba89b756cbfa28b5ce5e51e79614ad49a602af677b85ee81f20ce9a4e68285fb6a9b40688 SHA512 bb3267fba9078ccfdc8413951bc3c33366a03c0be1daeed88b76264d72f275f7fc80e693112e450d83512df3daa086f1572858635633807110840ac65f421a8b
+DIST hypothesis-6.157.2.gh.tar.gz 9627621 BLAKE2B f7e9c4bc145912b523339958efde77eed366b143a9e41102ddd31ee3c4874f5cb01b087abce0f6cdb473fd115015a062d25f9a5c40905b8a5b3d91211c1db287 SHA512 69037e21f93a742ab75ec40b33fe2e8896725c32d671c109fccd06a52a5e657b1fb937a7fdafa8acbf22e4980e5131ff928e14565a8728ad0e21be128379e500
DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
+DIST ppv-lite86-0.2.21.crate 22522 BLAKE2B 150b2ae019f296dc0a15090bcabcf4981bc58159d592b07da729565ef8976e3d1b4416381c6ecaac77874d8e259995254255c8831861ac20922b810753128cd4 SHA512 94710d5b25b67539cfa828476367849e1ecaca744f2e0429b48c05b47ec48cd57f950fb9845a361fbfd96f361ac00fd2d47cc27c584b79ce3d9d8fc133f5b7bc
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67
DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8
@@ -17,7 +23,15 @@ DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d42
DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST quote-1.0.46.crate 31628 BLAKE2B b004131fc9942e278d3a89e9a68ea76098b94a488a4e5577074f59983809d92bb4803f759c47426a683191cc23bbe9783bbebbcbcaed6488d45a0e01b787cd36 SHA512 f51e65743b9f15b491d20bb6c3a0df921cfec29df8bafca36c9dde034b5117fe3f4eedcc258126c6cb1729be1ffde5fcf7e5b0fb0c3de4a618f46ab3cd803e77
+DIST r-efi-5.3.0.crate 64532 BLAKE2B 54bc882e333f7ba52b6dd6ac92b8a282581c10b47de91a4c4b71b15a27b2df885ab52ae2fcc8a546367ee1ce98300dcaec3c33cbd7393b134383528540bb7d14 SHA512 e748db9729dbddf215d5c37630fa272197dd2921297800209ca7bfcd6ffd8530b598b944d95547ad9723655cafdfb69b1c1fade9ba5f8c2ac5c55ec38258fdad
+DIST rand-0.9.4.crate 99786 BLAKE2B a6a3c106a8f89cc5f066497fa976b43f577a10b673f1023e28da03f116caec679d85108e112114485ea8536a8edf93f849314f27925081b3d2618d61c4e65f70 SHA512 3b78989d418b84dc00833237e1e83d93a263d67d9ef8570785d1917a7dc731103db1b790643def196d66bd8f163da49994742791a1b2d9da03f854a0176e68ac
+DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
+DIST rand_core-0.9.5.crate 24129 BLAKE2B b259f980ad82cce5d7871d7d72adceccdf75348c9adc628308cede24b603df4c1978fcb9976574d99d1024207bd496df6359a998f7a6f1b235d3f16fd8556252 SHA512 0ae54e2fdc0fa8f6a2dd46fe29de26ac397b9f5c805424b3d06e467cf1d09762d66c7eb07ada74adb64ced326f15d4f415e665979d5de2b3f8e8cc1196547c56
DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
DIST syn-2.0.118.crate 305533 BLAKE2B f0ba994123a9ade5ea94e72f91d836c5af769ccca4c8c8d9ba8ae8c2bf2c7cfc88d4b068efa886e3c25c5635b2759b1bbf6b7b4afea6b66fc5084ad744272ba8 SHA512 24cbedce5f751fb5fab46ce27b9772fb59692e5520039a4d66a9f4d8d8b381d2af5c5be5eebd1e24cdba49fcb40a90b38f61477dd5dc96d8f272823f9a93b61d
DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
+DIST wasip2-1.0.4+wasi-0.2.12.crate 135311 BLAKE2B d016ad82ee36ba316bda8e13fab53007b812372d1baf8718c39013a6e46ba4be123b31ff117ca89d1f5152b537dff13dde37887542ee37fc5a6df1dece020a6e SHA512 42c79d515531dd74efcca7fc3518ec57a34d5a4c73cf36f462fa1fc87151dd22d227021667e7743aae587962806b96840fecda029e5469c69047a494b13e290b
+DIST wit-bindgen-0.57.1.crate 71227 BLAKE2B b91b6e78026d22b58da75e69bf76278f841e11b76610ce5ec04398da9bdfec14b3729c9a342fc79a74634baebd8974f1f937ad3170c67d42208182a0ab20b88a SHA512 9a2ebae44032c0032ae22d1cc277aa6cd35c874d00a0a8b2271a0267ab838f1584eb9fc41d896a0639ad7ad2268fbc9c337a4372c1b3183f6117674d4244bafa
+DIST zerocopy-0.8.53.crate 284705 BLAKE2B fe2a0dc7e76ae28462e84f22aa43cb543c38441201c254c4a36400f47273161e1b258338829b55556001077e7bc621737d6347343d329e710a9f259a95e52cc6 SHA512 c2f1fabfcc5ce8badb1b69b395ef1394bc4cc88b795e095b22347fd4cefc5c195a4013e8a05a2327ef1e45aad65f6e562a08c7c03a62d3aec149701cb6da0be8
+DIST zerocopy-derive-0.8.53.crate 98699 BLAKE2B 1906910fbe89376e7619da35f49ab72c24098e4435012a9c2033f3ff2b114d7b75f4222b65f42d086086b754e2178292e0312c34fc63a9584ea256dd6c09284b SHA512 4ed6cbf5afc127c966f114f4d48f33b50df04327864956276f31ff7f47dfb0b23fa966a4c217a1a714b8a20b8c473f17ade8cbb964a7bc088741fd851cd14341
diff --git a/dev-python/hypothesis/hypothesis-6.157.2.ebuild b/dev-python/hypothesis/hypothesis-6.157.2.ebuild
new file mode 100644
index 000000000000..8903f56543dd
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.157.2.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+CLI_COMPAT=( python3_{12..15} )
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+RUST_MIN_VER="1.91.0"
+CRATES="
+ cfg-if@1.0.4
+ crunchy@0.2.4
+ getrandom@0.3.4
+ half@2.7.1
+ heck@0.5.0
+ libc@0.2.186
+ once_cell@1.21.4
+ portable-atomic@1.13.1
+ ppv-lite86@0.2.21
+ proc-macro2@1.0.106
+ pyo3-build-config@0.29.0
+ pyo3-ffi@0.29.0
+ pyo3-macros-backend@0.29.0
+ pyo3-macros@0.29.0
+ pyo3@0.29.0
+ quote@1.0.46
+ r-efi@5.3.0
+ rand@0.9.4
+ rand_chacha@0.9.0
+ rand_core@0.9.5
+ syn@2.0.118
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+ wasip2@1.0.4+wasi-0.2.12
+ wit-bindgen@0.57.1
+ zerocopy-derive@0.8.53
+ zerocopy@0.8.53
+"
+
+inherit cargo distutils-r1 optfeature
+
+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/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+S="${WORKDIR}/${P}/hypothesis"
+
+LICENSE="MPL-2.0"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_PREBUILT="usr/lib/python.*/site-packages/hypothesis/_native.*"
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/
+ local EPYTEST_DESELECT=(
+ # broken somehow (xdist?)
+ 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
+ )
+ local EPYTEST_IGNORE=(
+ # require syrupy
+ tests/cover/test_custom_reprs.py
+ )
+
+ case ${EPYTHON} in
+ python3.15*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]'
+ 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]'
+ 'hypothesis/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index 1785573a73eb..084371d22d50 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1,3 +1,3 @@
-DIST icalendar-7.1.2.tar.gz 471132 BLAKE2B d87f3a72213ac3c93b83d3c5bb2adcebc960eda7808432a6d7b4de62215e51b6d34005ec62245dea6fd1187c1223abea9a678108e73988a1cdd554a655571cee SHA512 bd1ea4a536c90a80234fdca538d6d8a5ae715dd7581effb9427a33c6abb86a2166397d717ee6d6f336a9c6229a56c5c43bfd538d7ea5e8c749d7a0411ab0abbe
DIST icalendar-7.1.3.tar.gz 472734 BLAKE2B 4bd73502055c8156d6f4a952b5349ab0285fce727620d96a118ec78b4e588adaeeff3d24ce62f9e5efde8bc621a9553893f1dac163c1d287dd1ad7ab63255244 SHA512 0c98ca1353e77488ca8d6a2d6c10bdb0518b4c0ae77047f7004b8b5f650cb80f619a17936e67e053d152812ed5e36b1585bc1d0667961b79941c8ede7441add1
DIST icalendar-7.2.0.tar.gz 489932 BLAKE2B 5175cf68bb0bf3fb878be22ef7169fb0b41e93a9fa5c7d51d4a56679e58316e77bd8a51399384231b65e770b2e91a317d7df4d9683c0228f89945c48a13b096a SHA512 e8c53c2c3b062db57997955706d22e4b17b352df27abe698924467d6ad613847c02a5a66f3d44cdc8b2513de901b762521e907956e429d1c7df9e6d23f5c6967
+DIST icalendar-7.2.2.tar.gz 491618 BLAKE2B b5b257898e4b2a6501856289a753eabf9f4613d32e379d0a7d0d24188fb0782bf7245c029d8bce188fd42b1067ee592a64e64ef71fcbf425ddd2b4cf0be318be SHA512 dd809f2b3b71269d06e07543407f9a769c2662385b1da9a81a4f031657fb624b783ad443a09a4faa35980c748f9a45d89c64e1a3e76e039abed5d83b4b101aad
diff --git a/dev-python/icalendar/icalendar-7.1.2.ebuild b/dev-python/icalendar/icalendar-7.2.2.ebuild
index d40c3d3447c7..45ee133c1418 100644
--- a/dev-python/icalendar/icalendar-7.1.2.ebuild
+++ b/dev-python/icalendar/icalendar-7.2.2.ebuild
@@ -16,14 +16,14 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/tzdata[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/typing-extensions-4.10[${PYTHON_USEDEP}]
- ' 3.11 3.12 3.13)
+ ' 3.12 3.13)
"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index 22111ff22e1c..90ed2b65f709 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,2 +1,4 @@
DIST imageio-2.37.3.gh.tar.gz 583529 BLAKE2B 6b48eda8cd2f07c8a4fdfaf2d34c3ed7a24fbe48965a3996ca63e7be7389806b5e6f5565a171d98b4891c3bc4394c807ac6d851567a0c9aa677e171a719c0f80 SHA512 5b35ba5997321e88e0ff8c9953c579f1c6b16259a7a97f7a8ee0d921b5e8464de24000596e0a9df26efad20716ddb21a0caafba29cfd9744e724327629aa7cdb
+DIST imageio-2.37.4.gh.tar.gz 586659 BLAKE2B 29823368f9c9ef520e28b7d219f60266d9ce68e06a9fad39117d3dffee0bd154eade2150e3b4e5d0b78d3e4b6f04cd35d233b11cfd74faa89351ad16d2ec6912 SHA512 43a902ee537fb3ca4b626b7fe9762e5bdee88ada59a5ac7c725c1ca5b29d10d0c7b27a5a9600354990cfa003fbfd513341db0ae80a0d09c065e9b1fb75a4f3f7
DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 195497374 BLAKE2B 0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad SHA512 1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0
+DIST imageio-test_images-f676c96b1af7e04bb1eed1e4551e058eb2f14acd.gh.tar.gz 195639504 BLAKE2B 54e6788a70e111aa1864b7bc6117bf13e3fe016aa0a8c1fda3f776f78050b793e778868847f02bfa644e7a7fe0209d15acac5d97590f4a220d016d8d00bbefc5 SHA512 351731e741d103da4c7b9ddc4c8e4dfb7fd3791fa0290d428417d63726623ffe6b61c0111ca34ccd0fcd086de7cb41146fbfe714eb8d860b82f7a79df430d898
diff --git a/dev-python/imageio/imageio-2.37.4.ebuild b/dev-python/imageio/imageio-2.37.4.ebuild
new file mode 100644
index 000000000000..5f40f767e369
--- /dev/null
+++ b/dev-python/imageio/imageio-2.37.4.ebuild
@@ -0,0 +1,104 @@
+# 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
+
+# the test suite always clones the newest version
+TEST_IMAGES_COMMIT=f676c96b1af7e04bb1eed1e4551e058eb2f14acd
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/ImageIO/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+ -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+BDEPEND="
+ test? (
+ >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}/imageio-2.22.0-block-download.patch"
+ )
+
+ if use test; then
+ mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images || die
+ # upstream tries to update the image cache, and invalidates it
+ # if "git pull" fails
+ sed -i -e 's:git pull:true:' tests/conftest.py || die
+ # ffmpeg tests expect it there
+ mkdir -p "${HOME}/.imageio/images" || die
+ cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # uses fsspec to grab prebuilt .so from GitHub, sigh
+ tests/test_freeimage.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Note: upstream has a needs_internet marker but it is also
+ # used to mark tests that require test_images checkout that we
+ # supply
+
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # Internet
+ tests/test_bsdf.py::test_from_url
+ tests/test_core.py::test_mvolread_out_of_bytes
+ tests/test_core.py::test_request_read_sources
+ tests/test_pillow.py::test_gif_first_p_frame
+ tests/test_pillow.py::test_png_remote
+ tests/test_pillow.py::test_webp_remote
+ tests/test_pillow_legacy.py::test_png_remote
+ tests/test_swf.py::test_read_from_url
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # not important, requires random system libs
+ tests/test_core.py::test_findlib2
+ )
+
+ epytest
+}
diff --git a/dev-python/keyring/keyring-25.7.0.ebuild b/dev-python/keyring/keyring-25.7.0.ebuild
index 722f27401ddd..fb96b2712ac1 100644
--- a/dev-python/keyring/keyring-25.7.0.ebuild
+++ b/dev-python/keyring/keyring-25.7.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
diff --git a/dev-python/keyrings-alt/keyrings-alt-5.0.2.ebuild b/dev-python/keyrings-alt/keyrings-alt-5.0.2.ebuild
index ebc3cc62a864..47a53572b743 100644
--- a/dev-python/keyrings-alt/keyrings-alt-5.0.2.ebuild
+++ b/dev-python/keyrings-alt/keyrings-alt-5.0.2.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
@@ -31,6 +31,7 @@ BDEPEND="
)
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
src_prepare() {
diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest
index 92607ec11f50..7db81a9451f0 100644
--- a/dev-python/nuitka/Manifest
+++ b/dev-python/nuitka/Manifest
@@ -1,2 +1 @@
-DIST nuitka-4.1.2.tar.gz 4561050 BLAKE2B ff9687a28f51746cab2f1483440c5a4078baa9b8f21268d9cbed35f0e5bda0f7c1d7f23a4fad09e46870514162c8ec28767610b33c3548a40d5ee08cc7f06249 SHA512 0e6d2db12fa44819c319f99cfc074591ff5863eb4a3f40155c362beebea3243f7e3d69d33b39c9168379c1e9e8cd3cae945b1b2dbfbe85e337357fed0092cd53
DIST nuitka-4.1.3.tar.gz 4565475 BLAKE2B 1b76b19d418d4a5eb9481bed5eed3fe30491bf315d7412d580735969d4129c54cedb476b981dcee95b0c8a23abbf9a83071556a33cf90ebddf87be2202e07bb6 SHA512 a700fbe717a61a02b8e429a479f80441570feef0a5c751a42de92fa11cc5f66b3b743a08b873f3a6c11a7e990fb07851cd942fcc7080212727d8dd0d143fed32
diff --git a/dev-python/nuitka/nuitka-4.1.2.ebuild b/dev-python/nuitka/nuitka-4.1.2.ebuild
deleted file mode 100644
index ecd8abb6c459..000000000000
--- a/dev-python/nuitka/nuitka-4.1.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-build/scons[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka.1 doc/nuitka-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" dev-util/patchelf
-}
diff --git a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
index d03beee69925..c493fa157e58 100644
--- a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
+++ b/dev-python/pdfrw/pdfrw-0.4_p1-r1.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
@@ -50,6 +50,7 @@ BDEPEND="
"
# unittest would be sufficient but its output is unreadable
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
src_unpack() {
diff --git a/dev-python/pygraphviz/Manifest b/dev-python/pygraphviz/Manifest
index 0693a13b3e7f..c30cc3b11854 100644
--- a/dev-python/pygraphviz/Manifest
+++ b/dev-python/pygraphviz/Manifest
@@ -1,3 +1,5 @@
DIST pygraphviz-1.14.tar.gz 106003 BLAKE2B d56b16c6cc0fefeb258f6071424e20e38277bf76a8750ecbc1d9e2e8af5737ff79c78436bdf0d09c0e785e3b1bf90519b9bfd7014cf8373280c58e7057e2ba19 SHA512 867346303d560be21a37080e6d3ce0afe42119ee373f8cd872e853fee611d2c4cb56cc057023230fcf8ffbf03053ea92b9fc2ec6d5e682d6c6667b6727d87899
+DIST pygraphviz-2.0.1.tar.gz 81998 BLAKE2B 3aa4ad0c331b745837021d13a07e77622f35e0d7d804c8bda0797ce24ae66f1bf51e22466b6b0a51ddaf91e9feec382ddf8e3dbe4eb6757815fae1d3ce2b337a SHA512 104e4a48135758daa12526b4f1aa9b32a39c4a1348e8df27c80dee96f49fcc9b316b8486ceabb1d93db7984aa1c4eade4fdad9788f35384855af9d9e2a9ceb40
+DIST pygraphviz-2.0.1.tar.gz.provenance 9843 BLAKE2B d73ca166bb3eec28589d2592d806b393436dd2ec33d29d819344829191c716b480c33e1444863db6e9f089c5ec8684e2bc0819ed68f69ef343933faa6fd9ae99 SHA512 a7333e6002b78de6bf37ce0affeb63e97f565d5130daee9ea7402532e3f86c42323af2d00e398c9b15354469a6ba74ac635639ee7a923e9f23180878c514e8ee
DIST pygraphviz-2.0.tar.gz 81321 BLAKE2B 0aff92b7c0882921d2a9f1741a5d3585931270d53d67d7f2972912a38160d47e045ceb345d35c79181edb54ae3118bde1859b7b4149ad033dfdfabc861197511 SHA512 4aa37d84287bb2d777f6967fa79f4598ac8cd218ba473ac5f7a13d2e82d91257719909391a91217663af31d97c3cb28acedc3105590e66f09d0889bc281cffd0
DIST pygraphviz-2.0.tar.gz.provenance 10171 BLAKE2B 04e7633641ea7018876edcb9ecb8296e44a973c311e5c90a8a75942d4b0b8ec006ddc9145d0c65c9edf2ceec14ff6cfa0dc80fcaeb66112d30933fb9eaa53dd6 SHA512 37ff64f7b0815ee4dcf8898c4b8b4b6471f78dbd4d1f9fe980fa5ac52206391c28bfae13a77ebcb154108d43b84ab39db912b4a5929426bbd347c3939f41ce32
diff --git a/dev-python/pygraphviz/pygraphviz-2.0.1.ebuild b/dev-python/pygraphviz/pygraphviz-2.0.1.ebuild
new file mode 100644
index 000000000000..8442c87b7652
--- /dev/null
+++ b/dev-python/pygraphviz/pygraphviz-2.0.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pygraphviz/pygraphviz
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for the Graphviz Agraph data structure"
+HOMEPAGE="
+ https://pygraphviz.github.io/
+ https://github.com/pygraphviz/pygraphviz/
+ https://pypi.org/project/pygraphviz/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
+
+# Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary.
+DEPEND="
+ media-gfx/graphviz:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-lang/swig:0
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf pygraphviz || die
+ epytest --pyargs pygraphviz
+}
+
+python_install_all() {
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyqtgraph/metadata.xml b/dev-python/pyqtgraph/metadata.xml
index e3be8a449fae..4328d032c626 100644
--- a/dev-python/pyqtgraph/metadata.xml
+++ b/dev-python/pyqtgraph/metadata.xml
@@ -13,5 +13,9 @@
and Qt's GraphicsView framework for fast display.
</longdescription>
<stabilize-allarches />
+ <use>
+ <flag name="pyqt6">Use <pkg>dev-python/pyqt6</pkg> as Qt for Python implementation</flag>
+ <flag name="pyside6">Use <pkg>dev-python/pyside</pkg> as Qt for Python implementation</flag>
+ </use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.14.0-r1.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.14.0-r1.ebuild
new file mode 100644
index 000000000000..3809bf32c885
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.14.0-r1.ebuild
@@ -0,0 +1,168 @@
+# 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
+
+DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
+HOMEPAGE="
+ https://www.pyqtgraph.org/
+ https://github.com/pyqtgraph/pyqtgraph/
+ https://pypi.org/project/pyqtgraph/
+"
+SRC_URI="
+ https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="opengl svg pyside6 +pyqt6"
+REQUIRED_USE="test? ( opengl svg ) || ( pyside6 pyqt6 )"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ <dev-python/numpy-2.5.0[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyside6? ( dev-python/pyside:6[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}] )
+ pyqt6? ( dev-python/pyqt6[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ pyside6? ( dev-python/pyside:6[testlib,tools,${PYTHON_USEDEP}] )
+ pyqt6? ( dev-python/pyqt6[testlib,${PYTHON_USEDEP}] )
+ dev-vcs/git
+ )
+ sys-apps/gawk
+"
+
+EPYTEST_PLUGINS=( pytest-xvfb )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # apparently fragile
+ tests/test_reload.py::test_reload
+
+ # TODO
+ tests/exporters/test_svg.py::test_plotscene
+ tests/exporters/test_svg.py::test_simple
+ tests/graphicsItems/test_ROI.py::test_PolyLineROI
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+
+ # pyqtgraph will automatically use any QT bindings it finds,
+ # patch the supported Qt versions to only include the ones we have enabled
+ # This can be simplified to:
+ # `sed 's/QT_LIB = os.getenv('PYQTGRAPH_QT_LIB')/'QT_LIB = "PyQt6"/' -i pyqtgraph/Qt/__init__.py`
+ # when we only need to support pyqt6.
+ local upstream_supported_qt=(
+ PySide{,2,6}
+ PyQt{4,5,6}
+ )
+ local gentoo_qt=()
+ local is_supported_impl use_qt qt
+ # pyqtgraph has conditionals that depend on these values; we can't just remove them.
+ # set deselected or unsupported to None to avoid more patching
+ for qt in "${upstream_supported_qt[@]}"; do
+ is_supported_impl=0
+ case ${qt} in
+ PyQt6) is_supported_impl=$(usex pyqt6 1 0); use_qt=${qt} ;;
+ PySide6) is_supported_impl=$(usex pyside6 1 0); use_qt=${qt} ;;
+ esac
+ if [[ "${is_supported_impl}" -eq 0 ]]; then
+ gentoo_qt+=( "${qt^^} = None" )
+ continue
+ fi
+ if use ${use_qt,,}; then
+ gentoo_qt+=( "${qt^^} = '${qt}'" )
+ else
+ gentoo_qt+=( "${qt^^} = None" )
+ fi
+ done
+
+ gawk -v qt_string="$(printf "%s\n" "${gentoo_qt[@]}")" -i inplace '
+ BEGIN {
+ i = 0
+ split(qt_string, qt_array, "\n")
+ j = 1
+ }
+ /PYSIDE = '"'"'PySide'"'"'/ {
+ i = 6 # length of upstream_supported_qt
+ for (k = 1; k <= length(qt_array); k++) {
+ print qt_array[k]
+ j++
+ }
+ }
+ i > 0 {
+ i--
+ next
+ }
+ { print }
+ ' pyqtgraph/Qt/__init__.py || die "Failed to patch supported Qt versions"
+
+ # We also need to remove them from load order.
+ local liborder=()
+ local qt
+ # The order is important (we want to prefer the newest at runtime)
+ for qt in pyqt6 pyside6; do
+ if use ${qt}; then
+ liborder+=( "${qt^^}" )
+ fi
+ done
+
+ gawk -v libOrder="$(printf "%s, " "${liborder[@]}")" -i inplace '
+ BEGIN {
+ libOrder = "[" substr(libOrder, 1, length(libOrder) - 2) "]"
+ }
+ /libOrder = \[PYQT6, PYSIDE6, PYQT5, PYSIDE2\]/ {
+ sub(/\[PYQT6, PYSIDE6, PYQT5, PYSIDE2\]/, libOrder)
+ }
+ { print }
+ ' pyqtgraph/Qt/__init__.py || die "Failed to patch qt version order"
+
+ # Finally update the list of supported frontends in test to never try unsupported or deselected
+ if use test; then
+ local frontends=()
+ for qt in pyqt6 pyside6; do
+ if use ${qt}; then
+ frontends+=( "Qt.${qt^^}: False," )
+ fi
+ done
+ gawk -v frontends="$(printf "%s\n" "${frontends[@]}")" -i inplace '
+ BEGIN {
+ i = 0
+ split(frontends, frontend_array, "\n")
+ j = 1
+ }
+ /frontends = {/ {
+ i = 6 # length of frontends
+
+ print "frontends = {"
+ for (k = 1; k <= length(frontend_array); k++) {
+ print " " frontend_array[k]
+ }
+ print "}"
+ }
+ i > 0 {
+ i--
+ next
+ }
+ { print }
+ ' pyqtgraph/examples/test_examples.py || die "Failed to patch test frontends"
+ fi
+}
diff --git a/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
index 889405c00fad..2cdbfb8ae6b7 100644
--- a/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
+++ b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
@@ -1,3 +1,7 @@
+https://github.com/pytest-dev/pytest-forked/issues/89
+https://github.com/pytest-dev/pytest-forked/pull/90
+https://github.com/pytest-dev/pytest-forked/commit/b2742322d39ebda97d5170922520f3bb9c73f614
+
From 398f003660dda242b97217390718a2a90c3d7a88 Mon Sep 17 00:00:00 2001
From: Stanislav Levin <slev@altlinux.org>
Date: Tue, 13 Feb 2024 12:44:53 +0300
@@ -10,12 +14,6 @@ https://docs.pytest.org/en/stable/changelog.html#pytest-8-0-0rc2-2024-01-17
Fixes: https://github.com/pytest-dev/pytest-forked/issues/89
Signed-off-by: Stanislav Levin <slev@altlinux.org>
----
- testing/test_xfail_behavior.py | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/testing/test_xfail_behavior.py b/testing/test_xfail_behavior.py
-index 15edd93..d4e5ee7 100644
--- a/testing/test_xfail_behavior.py
+++ b/testing/test_xfail_behavior.py
@@ -7,6 +7,7 @@ import pytest
diff --git a/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-9.patch b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-9.patch
new file mode 100644
index 000000000000..8b3cb5c7c888
--- /dev/null
+++ b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-9.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/754165
+https://github.com/pytest-dev/pytest-forked/pull/96
+https://github.com/pytest-dev/pytest-forked/commit/8f59f07681757446a7fdf67c998fffd90fd8029e
+
+From 8f59f07681757446a7fdf67c998fffd90fd8029e Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Tue, 10 Feb 2026 09:42:39 -0500
+Subject: [PATCH] Adapt tests to pytest 9 output format (#96)
+
+--- a/testing/test_xfail_behavior.py
++++ b/testing/test_xfail_behavior.py
+@@ -8,6 +8,7 @@
+ FAILED_WORD = "FAILED" if IS_PYTEST4_PLUS else "FAIL"
+ PYTEST_GTE_7_2 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (7, 2) # type: ignore[attr-defined]
+ PYTEST_GTE_8_0 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (8, 0) # type: ignore[attr-defined]
++PYTEST_GTE_9_0 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (9, 0) # type: ignore[attr-defined]
+
+ pytestmark = pytest.mark.skipif( # pylint: disable=invalid-name
+ not hasattr(os, "fork"), # noqa: WPS421
+@@ -72,6 +73,8 @@ def test_xfail(is_crashing, is_strict, testdir):
+ )
+ if expected_lowercase == "xfailed" and PYTEST_GTE_7_2:
+ short_test_summary += " - " + reason_string
++ if expected_lowercase == "failed" and PYTEST_GTE_9_0:
++ short_test_summary += " - [XPASS(strict)] The process gets termin..."
+ total_summary_line = f"*==== 1 {expected_lowercase!s} in 0.*s* ====*"
+
+ expected_lines = (
diff --git a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
index c079c4aaf6ab..63cfed148a8a 100644
--- a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
+++ b/dev-python/pytest-forked/pytest-forked-1.6.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
@@ -29,22 +29,24 @@ BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
+EPYTEST_PLUGINS=( ${PN} )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
distutils_enable_tests pytest
-src_prepare() {
- local PATCHES=(
- # https://github.com/pytest-dev/pytest-forked/pull/90
- "${FILESDIR}/${P}-pytest-8.patch"
- )
+PATCHES=(
+ # backports from master branch
+ "${FILESDIR}/${P}-pytest-8.patch"
+ "${FILESDIR}/${P}-pytest-9.patch"
+)
- distutils-r1_src_prepare
+python_prepare_all() {
+ distutils-r1_python_prepare_all
# this is not printed when loaded via PYTEST_PLUGINS
- sed -i -e '/loaded_pytest_plugins/d' testing/test_xfail_behavior.py || die
+ sed -e '/loaded_pytest_plugins/d' -i testing/test_xfail_behavior.py || die
}
python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_forked
+ local -x COLUMNS=80 # tests check output bug #754165
epytest -o tmp_path_retention_count=1
}
diff --git a/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild b/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild
index 1c59fbd72609..0e3a09331093 100644
--- a/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild
+++ b/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.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
@@ -27,17 +27,13 @@ RDEPEND="
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- )
"
+EPYTEST_PLUGINS=( ${PN} pytest-forked )
distutils_enable_tests pytest
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_helpers_namespace.plugin
- epytest -p pytest_forked --forked
+ epytest --forked
}
diff --git a/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild b/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
index c33f0112b478..aaf3bda07e84 100644
--- a/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
+++ b/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2025 Gentoo Authors
+# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 6c8cf1e6301d..25dd93a1962b 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,2 +1,2 @@
-DIST sqlglot-30.11.0.tar.gz 5893125 BLAKE2B e9ba0fa6d52f15970ac9afd23f6336febc94fc6f01ce9db03111fd62e7b9d55172a4b9a2405c0086b540187802651825b9db87af3f1a248b6228536bf3d88562 SHA512 f751b1680b7f8a330f5264a79a571552d8e571dd0966099928c8600e646bd2a7b585c95ec534bd1efe68e3f19c943fa88bcdf8aa9cd9bd8787f47040c70cc343
DIST sqlglot-30.12.0.tar.gz 5905110 BLAKE2B 0c69697a4d5f2c98970bbbf8778305601f43f3f594d3eb5a848ed462ec22b01647db8336c227d66977b3c95bcc28f979fcedd0c96a39b3bf57ebc2579850c1ae SHA512 843a6bccea5a8cae20efe536d15f0146493d00ba548a2f2bfe4375b6172c0cfe16800117f2a81cd52bf2829a1f3a1158eca85d911bb7beeefe5d809e8aea33ab
+DIST sqlglot-30.13.0.tar.gz 5932385 BLAKE2B 5714fa3951a8c311cb57108620e04a61d7b3c656974f92f7d33135773c5efc5eaaf937502470b21ba6090e55e1315a0f8960f6f9a5c7d771a779d5ca5ab97b56 SHA512 ace7bef544f630e9fdd46a92147fa5120881f38f9c3a7612af6a4939b6ae58b7cabf2915d23a7e07bb07dcd7aa20ad52000e8a3d8b5e52445155179f3e35cada
diff --git a/dev-python/sqlglot/sqlglot-30.11.0.ebuild b/dev-python/sqlglot/sqlglot-30.13.0.ebuild
index 063fa5096326..063fa5096326 100644
--- a/dev-python/sqlglot/sqlglot-30.11.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-30.13.0.ebuild
diff --git a/dev-python/stripe/stripe-15.3.1.ebuild b/dev-python/stripe/stripe-15.3.1.ebuild
index 9f6f5afe22a0..d87b66115eea 100644
--- a/dev-python/stripe/stripe-15.3.1.ebuild
+++ b/dev-python/stripe/stripe-15.3.1.ebuild
@@ -56,7 +56,7 @@ python_test() {
tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled
)
- epytest tests
+ epytest -o addopts= tests
}
src_test() {
diff --git a/dev-python/syrupy/syrupy-5.5.3.ebuild b/dev-python/syrupy/syrupy-5.5.3.ebuild
index bc97490612ce..8835100d3b09 100644
--- a/dev-python/syrupy/syrupy-5.5.3.ebuild
+++ b/dev-python/syrupy/syrupy-5.5.3.ebuild
@@ -24,6 +24,7 @@ RDEPEND="
"
BDEPEND="
test? (
+ >=dev-python/attrs-26.1.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.13.4[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/tasklib/tasklib-2.5.1.ebuild b/dev-python/tasklib/tasklib-2.5.1.ebuild
index 4882736dd432..dcc3002f52d3 100644
--- a/dev-python/tasklib/tasklib-2.5.1.ebuild
+++ b/dev-python/tasklib/tasklib-2.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/textx/textx-4.4.0.ebuild b/dev-python/textx/textx-4.4.0.ebuild
index 2e36d32d2acb..238b536fb7fb 100644
--- a/dev-python/textx/textx-4.4.0.ebuild
+++ b/dev-python/textx/textx-4.4.0.ebuild
@@ -29,6 +29,7 @@ RDEPEND="
"
BDEPEND="
test? (
+ >=dev-python/click-7.0.0[${PYTHON_USEDEP}]
dev-python/html5lib[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/thriftpy2/thriftpy2-0.6.0.ebuild b/dev-python/thriftpy2/thriftpy2-0.6.0.ebuild
index b9387efff44d..6cd502e6fe4d 100644
--- a/dev-python/thriftpy2/thriftpy2-0.6.0.ebuild
+++ b/dev-python/thriftpy2/thriftpy2-0.6.0.ebuild
@@ -28,6 +28,7 @@ RDEPEND="
BDEPEND="
>=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
test? (
+ >=dev-python/aiohttp-3.8.0[${PYTHON_USEDEP}]
dev-python/tornado[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index b51021ce654b..0702019cb3bf 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -4,3 +4,5 @@ DIST tox-4.56.4.tar.gz 286611 BLAKE2B 63beb6fe64ff88316e637369aa4cfd1eca1dd99421
DIST tox-4.56.4.tar.gz.provenance 9871 BLAKE2B 77a570490a72a56e20e17caa0d1bc3a1564cd97c7e98b9a5394da507546b70b5c300f3a374760ed597516308ec7ab335257369ca7eaf34aeecef3ca89ffa100a SHA512 93518399a30f7e70397368801e32b8881b848d7c50256b4b240c80d75e5ad026bd3ab1ce8405496da624b3b382ef0ebc3b8f7c0eec026ea426dc73f8884c5025
DIST tox-4.57.0.tar.gz 287613 BLAKE2B 1cc082057a78419ff0ce69366513b31795efe120c536a2d965e3958100df088ab08a4339f911f3e53323c49d87f83d03ec70bb729ba8afb1a08e4b578986c5cf SHA512 2cc2caed59061649ed562fcfb21a4636e6a95b9a56ede186bfb5257e7d4de3d2b11d1d85f429a734cbaee8d5300158a610596b88d60ce76c3393cb2a3e59838f
DIST tox-4.57.0.tar.gz.provenance 9448 BLAKE2B 82872ecdd198d8c0d491acc162689ea0d04da4c9b59b9105f6c1f5a66ae2b490843a9ac98edd3dc444bc62bd585a5e1318e779e9e5c2c145798febe4b5cc8908 SHA512 c624b424580a1917fb37aba79680aaefc053894c9f5ae7278473adbd752335f0cece209375f9d4128456a864cd3595c27eb6094d8c38ff1ebfe5c0932c914bc0
+DIST tox-4.57.2.tar.gz 296928 BLAKE2B 31adcccbab438196c8627de3a8db9be985216c612c29be6bd67e04e140e4cfad6ff0c35b0a8a3d2b48d8d30db7058ab2b8093688eaaf5d96b2fb4858f61c5374 SHA512 a21bb6c2f7f133e3bc74cfcd18516114453ded75d156f930804acdfcfc65c6d3d2816c838efad01187df730544c19ede99e3c4fef24a68213c6a461396174e55
+DIST tox-4.57.2.tar.gz.provenance 9593 BLAKE2B f78ff9e827973ac587dd1c310ea4541101ae947e49d9ae5e729911f500533f78f6169ef51e6a89a1c1f3690ec9341fbc079ab6d762cf1a8ff59767f5cb227e0a SHA512 8638ce3c3ddc7e1bc74955917d2345deb3305fd9dde3eb014a56996dd6abe3806c37830b8214de0150b829eecc70cebd56c082b33d336cb02993444b268f225a
diff --git a/dev-python/tox/tox-4.57.2.ebuild b/dev-python/tox/tox-4.57.2.ebuild
new file mode 100644
index 000000000000..23fd6cf278e6
--- /dev/null
+++ b/dev-python/tox/tox-4.57.2.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
+PYPI_VERIFY_REPO=https://github.com/tox-dev/tox
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ dev-python/python-discovery[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,rerunfailures,timeout,xdist} time-machine )
+# upstream timeouts are quite short
+: ${EPYTEST_TIMEOUT:=180}
+# xdist seems to mess up state between successive implementation runs
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ tests/tox_env/python/virtual_env/package/test_package_pyproject.py::test_pyproject_installpkg_pep517_envs
+ # require tombi
+ tests/session/cmd/test_schema.py::test_schema_tombi_lint
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/unrardll/unrardll-0.1.7.ebuild b/dev-python/unrardll/unrardll-0.1.7.ebuild
index cccd397c75eb..5ccfde81134f 100644
--- a/dev-python/unrardll/unrardll-0.1.7.ebuild
+++ b/dev-python/unrardll/unrardll-0.1.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023-2025 Gentoo Authors
+# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 4a8887e4f9c4..ea02e507afc1 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -4,3 +4,5 @@ DIST urwid-4.0.3.tar.gz 868487 BLAKE2B 5687138af349dc0fa80be8fbf6fcc91f51d15debb
DIST urwid-4.0.3.tar.gz.provenance 9634 BLAKE2B 8c66d760e1bd5bfa507007d5e496b0999d8c99e9d10edb0be752b5615108126ccda910a34f4b55099069692fa305c6c05ca575b610c41b3631977f5672431230 SHA512 a90d927273337bd8afe5b944792d2484dfc335103fe1c33e2fb73cf518e162101171d791256af50baec1d436a4022a10a8cf8176c8cc28338e9e66640b714693
DIST urwid-4.0.4.tar.gz 872046 BLAKE2B 5323c199d34ab4e7afdc26fbf38baf2fe9583a6b90886b39ed93fc7cedbe927e36b5679aef218c77f8f64302c18a7362cbe7b6c7575f445726d4cc78af79e0e6 SHA512 a97300c143f6375a311c8339eb5963cf36d5415e0f3c8fc19131124ddb73ec9c843b57aa1b5c1ce9356dc388ae709d07d6e06d9aa203ce68ee0490aa50a6737f
DIST urwid-4.0.4.tar.gz.provenance 9536 BLAKE2B 40ecc86e3ea98984cae6ad124591cc709c2a41950717ae9aee6306bb620254d84304d45e2fdd81bef05c44730cee7b5a5de2cd16bb464273b9881a0b2b7f9aa4 SHA512 e9691a9c57904a82a3d6523979aa4cd022153b64766c270cda18268338f6740a3db9364f8527dfa136abc96f802dfa474d74b7dfceae7cbbf332a4cac11a58ed
+DIST urwid-4.0.5.tar.gz 874498 BLAKE2B 5cdfb79940934e801ccf891f84c09d8745f5e96a3ddd50305367e9f72165f4525b83fc9b713d84b2fb2853eb5773f0d18fc13e6376cb848e85ad63d32dab6761 SHA512 60cee9985ef5f09372ec5579b0f9969e81098f4e96e3ece5038291fd0702dd8d73388c78f178f1df7e8149eb6b518d02eb992dee6bd3d567da29cd968aada2df
+DIST urwid-4.0.5.tar.gz.provenance 9489 BLAKE2B 82739a79ff4e0650b012d2cf25c3e176600884889f73e2c8cbd932e8ef793bf9279dcb6e5c70579f51b22cc2b72020e1493c903f312114e662e4f0fdce6ecbb6 SHA512 2ad9fa3f3c8f355830037f7f5446f2254c75100242f882611257dbf18c67ada13b6b1dfd6fa64c8151a09e79e2be414fccfd00964660337475c6f3a89f340de5
diff --git a/dev-python/urwid/urwid-4.0.5.ebuild b/dev-python/urwid/urwid-4.0.5.ebuild
new file mode 100644
index 000000000000..f840d3f28004
--- /dev/null
+++ b/dev-python/urwid/urwid-4.0.5.ebuild
@@ -0,0 +1,49 @@
+# 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/urwid/urwid
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e 's:--cov=urwid::' pyproject.toml || die
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 4e8734216429..e48b1235a13a 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -8,3 +8,4 @@ DIST uv_build-0.11.26.tar.gz 405178 BLAKE2B c59258a222a8346543ab8bde8d425600c9a5
DIST uv_build-0.11.27.tar.gz 406474 BLAKE2B bb3c669e37059b2777c51120578caae84db54379f765c13a946b2fdc5e502e3c67ee7e30f7d2e1dde649961c6f2d0a10e758bf9b6b1835cb600f2400925ac627 SHA512 e7a7f461cf1ae899b24fcedc08fd739f352347eacb1f215026745a6b170e552504ed712b91519cff170ae81e36d6b7403a0270e9766e2cdf644411b51e62cf9c
DIST uv_build-0.11.28.tar.gz 408697 BLAKE2B 2c318b2f6f734f1da4bed3ea0bba8fa4ef51e76853be25dc19277b5347f8b45eb22a923f0a20575982dd9eac0dfaecf15c2a6bcbcd2357a75e6bcedf6a64231d SHA512 c502494cde643e2a5e45e34ba3be3132720f6ec4c7e4c966c02a673308d44f1ee313d84ab267ffb6cb88cb0227075b88369381bbe89b9b6333b1f4eb89bc0724
DIST uv_build-0.11.29.tar.gz 411484 BLAKE2B 4a9250bd8ecb4967c222f5ed0842c6415963a3423b593f59dfb87a2fa343839abb0d77f1cb1f90d69ac45c54722cde8ff68e3e567478f54a0b21ba74fd4d55fd SHA512 c9722cb2575d9d0b50ba36b53b8cb2eae35f18e2da92ea7eab74743354e8b17034172f2c932e381cf158d2d748103d9bcb97ba383e465f7770efc2dc11ae2dc6
+DIST uv_build-0.11.30.tar.gz 411771 BLAKE2B cad2c9697121953768006433ce0b93cbb3e9ce3624c072ade08b226fceb1c33842ba1c9aacb363d24c864ae6449c9b8a4883da85f036844bfb5038c69880bb9f SHA512 651cef152185689eadcfc33fd9f3293c1c4ade67b59fd4b17634182acbaa9994503ae111a738e770a172ade09c634e9ce68b57767708d2cf73a9db7f9975c60c
diff --git a/dev-python/uv-build/uv-build-0.11.30.ebuild b/dev-python/uv-build/uv-build-0.11.30.ebuild
new file mode 100644
index 000000000000..d66584ed2ede
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.11.30.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 31b768e9925b..7f5c265ffb0b 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -18,3 +18,5 @@ DIST uv-0.11.28-crates.tar.xz 43834312 BLAKE2B c60aec44025e8258226e4c50faadd95aa
DIST uv-0.11.28.gh.tar.gz 7332190 BLAKE2B 1b19a6cc9d0d65dc6b693dd96906c268814c272b230a6d881c6b213f984c5d063a8105888f3890c8dcb07a61bba4f082c578221a199f9cdfee37cc2dcdab1fad SHA512 b1e0468d714e70e7f4b1c9a3348ff8d7499cf463d9b59272347bfa38cc5d4d96c3913bf6c05222b26f098331cd84a3f495c4d5a4d872b45d5e735393cc3415ad
DIST uv-0.11.29-crates.tar.xz 43221288 BLAKE2B fdb0beeeb0eb6afd6c5e6a401f34dd733466d038579565529c2ff794f568daca1b2f3b20e9dc64f7e164c1329970901e64320ada771d98db9fdb97d95375fe7d SHA512 d64272bf1ce46f4627e03f83fa7c5c23e5e50a56805bb7d66dd27431cd57ce2b00cb6db45ec4b162d004638cc0f7cfe7d6346b8020d66f5869f1e786356c5f7f
DIST uv-0.11.29.gh.tar.gz 7390745 BLAKE2B c4366c7fe66a14246ed95734d605e8c02f2da336b3b5e93be67a0d7dae99afd3b9d15c9e59b79ae17ffb2d43f90718a72e6160a6cd422423c149fce5c45b2e77 SHA512 27d5f0f40aed962468bd3d80f04f792ec4698db9ec0930564dae25ba7a743430b04b4aa5b2cca92883b7544369200a32956337b04bd558dcc8b1ae4c5a3b1a0d
+DIST uv-0.11.30-crates.tar.xz 43265592 BLAKE2B ccbeac888d7902a32ea69d5a04f02deeed6930a98412200c07b3badde7681cfb094b520920610a57d5671979eb814ecf36ae012c5a2a4e273715ce6127900ea8 SHA512 eee68f12601fbf20ef25aca96f12fed2a7a26b5dac8d0c7129ce558ffbff80c1f55daa9879943e889d25afbaba388ba5f187b4f2ee5e753c02ed3e68592748a1
+DIST uv-0.11.30.gh.tar.gz 7407810 BLAKE2B b999322f54e4180a1301823e5ce1968d07b598f48a5ac5c4b8572009417be0f6ec724dba5595353fd026c6e0ef4fa6beec450ca06bc4c0f21b9260823c45bafb SHA512 40d35103b86f17ba0315cb0ca6f74aca5b004cd7b9a0e30efd089e048fcf4e213cd6c8752064595b45dda7e6eaedf0bf6d8eadda1fb93ee3a653897be6f23d7a
diff --git a/dev-python/uv/uv-0.11.30.ebuild b/dev-python/uv/uv-0.11.30.ebuild
new file mode 100644
index 000000000000..ed03ea27cebc
--- /dev/null
+++ b/dev-python/uv/uv-0.11.30.ebuild
@@ -0,0 +1,163 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.95.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
+ Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+
+ # uv is now forcing bundled liblzma, sigh
+ sed -i -e '/xz/s:"static"::' Cargo.toml || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ dobin "$(cargo_target_dir)"/{uv,uvx}
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/uvloop/uvloop-0.22.1.ebuild b/dev-python/uvloop/uvloop-0.22.1.ebuild
index 0406e02caf1f..861035a7d847 100644
--- a/dev-python/uvloop/uvloop-0.22.1.ebuild
+++ b/dev-python/uvloop/uvloop-0.22.1.ebuild
@@ -75,7 +75,8 @@ python_test() {
# https://github.com/MagicStack/uvloop/issues/574
tests/test_cython.py::TestCythonIntegration::test_cython_coro_is_coroutine
# Internet
- tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_{8,9}
+ tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_{1,2,3,5,6,8,9,11,21}
+ tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_{1,2,3,5,6,8,9,11,21}
)
rm -rf uvloop || die
diff --git a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
index dfffa4f90773..aa1c13d56243 100644
--- a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
+++ b/dev-python/xlwt/xlwt-1.3.0-r2.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
@@ -22,6 +22,7 @@ IUSE="examples"
distutils_enable_sphinx docs \
dev-python/pkginfo
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_install_all() {
diff --git a/dev-python/xvfbwrapper/Manifest b/dev-python/xvfbwrapper/Manifest
index d3223930229a..223853724e4d 100644
--- a/dev-python/xvfbwrapper/Manifest
+++ b/dev-python/xvfbwrapper/Manifest
@@ -1,3 +1,4 @@
DIST xvfbwrapper-0.2.23.tar.gz 13130 BLAKE2B 77556dafbaec6a74db9d6033424cf4d51225ca98645e077aa3e57798c74dc9dcc0f2dcada6dc1114bd2b0ecbda27dfe0d70a62b608fbaf0f8406d9f6784acd36 SHA512 92c1887f8a16b2df12f410b26abc919f59c3e3e50517edcbed26f31d9602f23c0e284f1eada99c3b0a30f374fd2df1dba29422cf3b15446ca2404aa4797f80b4
DIST xvfbwrapper-0.2.25.tar.gz 12711 BLAKE2B dc063eab0316f10797926f59714317cfe58a7692234ad451b160641e1561ff3eb51a5fb15c3803b54507e42dc4be4e87ffc9723dc901b29221fd910f0adf01ae SHA512 8fd1d33282c18f4e98a399b3ef8fb640ca8acf8b323b90e732c23a5c1168b6eff7a89314ad9508ec7d1c2ac8a0c72b723199629a6dcfc2df353113df37012127
DIST xvfbwrapper-0.2.27.tar.gz 12716 BLAKE2B ae79a18c0bce0ce2ba48242b845370083b3db70411c22b59deacbba1dc727a320f27c93613b71002c3dcbb0ecb3ac2b9b1590d9f01c1b77b8817a676672b7d15 SHA512 4cf5254767d483dad45d9365e9cc09c98a1bce0ea730994d5db0516f7ff84596d06d7ca0fde884687920052742390ee981af2241b8db4c95e850aada7c23575c
+DIST xvfbwrapper-0.2.28.tar.gz 12830 BLAKE2B df12edac5361cdbbfedd148041a123d156ac43e9ac181396e7cf3caf20646173277f38726b1e8bfbb8630fbbf03dd8367d0f29bb3e77f41f35511dcd0d2296d1 SHA512 04638b5d0724ef60a6ae182b597279c46d8814bb86e5318de43241130e0c7a57d0a46f8a836c103cebaaf4fa56663fd9727d638d3e2770f76fadefddcf8d4381
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.28.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.28.ebuild
new file mode 100644
index 000000000000..787856574075
--- /dev/null
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.28.ebuild
@@ -0,0 +1,31 @@
+# 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="Python wrapper for running a display inside X virtual framebuffer"
+HOMEPAGE="
+ https://github.com/cgoldberg/xvfbwrapper/
+ https://pypi.org/project/xvfbwrapper/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ x11-base/xorg-server[xvfb]
+"
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/yara-python/yara-python-9999.ebuild b/dev-python/yara-python/yara-python-9999.ebuild
index 817eaf2fde22..237fa64ecaa4 100644
--- a/dev-python/yara-python/yara-python-9999.ebuild
+++ b/dev-python/yara-python/yara-python-9999.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
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index fdd30299c9c3..9a9653fdf088 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1,2 +1,4 @@
DIST yarl-1.24.2.tar.gz 210798 BLAKE2B 24307407fe04c59e33a34bc4c8a529f47966328a592134fc7af3c8fe7170404f5bc7cf0886c05b6d26fae62e7f42470491e92161d71ceb6757998f13a9724942 SHA512 1804d105d20d828c29827cf593aecabb3369af3a5edb62c46af4daa54bb39e452b815258e2a5e6a9fcfcd2485d93e4354822549abd3de29cd681aa0d04e46aab
DIST yarl-1.24.2.tar.gz.provenance 9271 BLAKE2B 2cecf60ef6c52ab36fd04d243d854dcff16f7d37228b941d2ceda934a4a65ed94eb3d8e73f93df7e51cb84cd52a71c701b1f251667c6e17ea597bcef9430f86a SHA512 8bbdecb0632757b2e63428d2ba12dc600366583ec3e41bc7409a57c0ae939d09cfb6b0273a1d015e6bdcc480d82954a23571d2fde0c00b0f3b484fb83c8efd4c
+DIST yarl-1.24.5.tar.gz 228679 BLAKE2B 81e0d83e7ebd56602fba4b9e8a0c4b98269d11fdc64d0e72ff7fe1c9f7872784cabbbe6ce10596f73939c08253c0d238dff303c2302911b589e6a7ac47015b90 SHA512 0805b94ab2d69bd906a8f4a6a65b65e0cc11e0eaec473d40e9d363664c48a25dbd5cb0a5d4ed14b5ec965c2e5a17c766788b3d08f82a836876e80e2c9a012cb3
+DIST yarl-1.24.5.tar.gz.provenance 9424 BLAKE2B e0b509817c88266a0a6eebe00da6bec206b0c3c18e7d2d13e39b39b0d2dd2611d9a766380375e67b51ba4c0a046db07b59b6f182bccd8fb1748811110970b820 SHA512 f5d551cc2484ed7c27b4e40e118cb3f96755ff4b8d8cdda036c1fdf8c542fd71456183719f749f42a973069ed90d4543398eeba1707b2700e1a2bc5c08a92a08
diff --git a/dev-python/yarl/yarl-1.24.5.ebuild b/dev-python/yarl/yarl-1.24.5.ebuild
new file mode 100644
index 000000000000..b378da5d9b45
--- /dev/null
+++ b/dev-python/yarl/yarl-1.24.5.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYPI_VERIFY_REPO=https://github.com/aio-libs/yarl
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # override insane flag defaults
+ cat >> packaging/pep517_backend/_cython_configuration.py <<-EOF || die
+ @contextmanager
+ def patched_env(*args, **kwargs):
+ yield
+ EOF
+}
+
+python_compile() {
+ local -x YARL_NO_EXTENSIONS=0
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ YARL_NO_EXTENSIONS=1
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # benchmarks
+ tests/test_quoting_benchmarks.py
+ tests/test_url_benchmarks.py
+ )
+
+ local opts=()
+ # note different boolean logic than for backend (sigh)
+ local -x YARL_NO_EXTENSIONS=
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ YARL_NO_EXTENSIONS=1
+ fi
+
+ rm -rf yarl || die
+ epytest -o addopts= "${opts[@]}"
+}