summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/brotlicffi/Manifest3
-rw-r--r--dev-python/brotlicffi/brotlicffi-1.2.1.0.ebuild (renamed from dev-python/brotlicffi/brotlicffi-1.2.0.1.ebuild)22
-rw-r--r--dev-python/coverage/Manifest2
-rw-r--r--dev-python/coverage/coverage-7.17.0.ebuild119
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.11.0.ebuild2
-rw-r--r--dev-python/dulwich/Manifest24
-rw-r--r--dev-python/dulwich/dulwich-1.2.19.ebuild (renamed from dev-python/dulwich/dulwich-1.2.14.ebuild)32
-rw-r--r--dev-python/fastapi/Manifest1
-rw-r--r--dev-python/fastapi/fastapi-0.161.1.ebuild130
-rw-r--r--dev-python/flask-paginate/Manifest1
-rw-r--r--dev-python/flask-paginate/flask-paginate-2026.10.22.ebuild (renamed from dev-python/xvfbwrapper/xvfbwrapper-0.2.29.ebuild)22
-rw-r--r--dev-python/google-api-core/Manifest10
-rw-r--r--dev-python/google-api-core/google-api-core-2.33.0.ebuild55
-rw-r--r--dev-python/google-api-core/google-api-core-2.35.0.ebuild55
-rw-r--r--dev-python/google-api-core/google-api-core-2.37.0.ebuild58
-rw-r--r--dev-python/google-api-core/google-api-core-2.43.0.ebuild (renamed from dev-python/google-api-core/google-api-core-2.36.0.ebuild)0
-rw-r--r--dev-python/googleapis-common-protos/Manifest4
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.76.0.ebuild (renamed from dev-python/googleapis-common-protos/googleapis-common-protos-1.75.2.ebuild)2
-rw-r--r--dev-python/grpcio-status/Manifest1
-rw-r--r--dev-python/grpcio-status/grpcio-status-1.84.1.ebuild46
-rw-r--r--dev-python/grpcio/Manifest3
-rw-r--r--dev-python/grpcio/grpcio-1.84.1.ebuild138
-rw-r--r--dev-python/hypothesis/Manifest7
-rw-r--r--dev-python/hypothesis/hypothesis-6.170.8.ebuild140
-rw-r--r--dev-python/importlib-metadata/Manifest2
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-9.1.0.ebuild (renamed from dev-python/importlib-metadata/importlib-metadata-9.0.0.ebuild)4
-rw-r--r--dev-python/memory-allocator/Manifest2
-rw-r--r--dev-python/memory-allocator/memory-allocator-0.2.1.ebuild36
-rw-r--r--dev-python/openstacksdk/Manifest1
-rw-r--r--dev-python/openstacksdk/openstacksdk-4.22.0.ebuild94
-rw-r--r--dev-python/pandas/Manifest3
-rw-r--r--dev-python/pandas/files/pandas-2.3.1-xarray-test.patch23
-rw-r--r--dev-python/pandas/pandas-3.1.0.ebuild (renamed from dev-python/pandas/pandas-2.3.3.ebuild)64
-rw-r--r--dev-python/pycparser/Manifest1
-rw-r--r--dev-python/pycparser/pycparser-3.12.ebuild48
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-9.0.0.ebuild7
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-10.5.0.ebuild59
-rw-r--r--dev-python/qemu-qmp/Manifest1
-rw-r--r--dev-python/qemu-qmp/metadata.xml10
-rw-r--r--dev-python/qemu-qmp/qemu-qmp-0.0.6.ebuild37
-rw-r--r--dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r3.ebuild3
-rw-r--r--dev-python/svglib/Manifest4
-rw-r--r--dev-python/svglib/svglib-2.3.1.ebuild (renamed from dev-python/svglib/svglib-2.2.0.ebuild)0
-rw-r--r--dev-python/tzlocal/Manifest2
-rw-r--r--dev-python/tzlocal/tzlocal-5.4.5.ebuild (renamed from dev-python/tzlocal/tzlocal-5.4.3.ebuild)2
-rw-r--r--dev-python/unicode-segmentation-rs/Manifest16
-rw-r--r--dev-python/unicode-segmentation-rs/unicode-segmentation-rs-1.0.0.ebuild (renamed from dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.3.2.ebuild)20
-rw-r--r--dev-python/xvfbwrapper/Manifest5
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.32.ebuild31
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.36.ebuild (renamed from dev-python/xvfbwrapper/xvfbwrapper-0.2.33.ebuild)1
51 files changed, 991 insertions, 363 deletions
diff --git a/dev-python/brotlicffi/Manifest b/dev-python/brotlicffi/Manifest
index 07a377c6ba22..969ca48a88af 100644
--- a/dev-python/brotlicffi/Manifest
+++ b/dev-python/brotlicffi/Manifest
@@ -1,4 +1,5 @@
DIST alice29.txt 152089 BLAKE2B ea900856d3ae0ed2fea1923e557824bd09583f7c1be25aa778a43812d945318e1d911e682e318861979b5a479765b34e15a926d257f883ff2fb0df418ebf9966 SHA512 d93d674d66b227d7b3f4e1b7c35b102c40800e728bff68c7821109e7db7adf2f0b76a67bc9bd53b0202ac8daa0b22145f004dbdc6b59a48a6c8c72061bf1989f
+DIST brotli-1.2.1.0-testdata.txz 3797720 BLAKE2B 385f9c65196eb8973fb5c930d82f2fb05c00e51a9639c89ce8f1f646b2d5b63dc90a44404b27603c9d84f431583f1761ab4e91f557768983424c4a1fcba08985 SHA512 06ce7e7fa9590b18d4fdb5c746ba8058fdbada9c80523f61619a561831f8cbe3c747db2ef9e5a26a54135c02184d684c8bffea2749c66b44b296cc536da76716
DIST brotli-ed738e842d2fbdf2d6459e39267a633c4a9b2f5d.tar.gz 512305 BLAKE2B b646e4565386870443d006a97a13b295c2c66de448e501f809700c303bb3daf5e4f84a2dacec16c43a534879243e4cda9292072630f13d5f7ca54f2c4372e560 SHA512 f493e7f15ca2804ae8715e48bdc954680f527533e684ec3762a7d49d05890915194289ed948c8cce95644274e1dcab952dcfbc84c0108aaf79f35f20270ffe6a
-DIST brotlicffi-1.2.0.1.gh.tar.gz 25990 BLAKE2B ee17a59c4fb755f177234e10f2aeb5144da019ce13ac9f43f5501aa1afc703534e5070b4bd3df76ebc59987e0ec79186f6eba916cddac90546fce076787df101 SHA512 f01f6b510865f8f94c2e0b4b5e52463e6988032d597dbc315fbd68556ab7d4618ec6e0a923c1f0535e6da1e2f51965d9b8705f0d212d62f353f9ffcb6f08629e
DIST brotlicffi-1.2.0.2.gh.tar.gz 26279 BLAKE2B 767e15b8d2fe26c4b6cf8c480fd0b5fe076f8a9138b929aec6bc6b65a45cce2e83921a50f186a9b5e3bcee326c71c4d69aa412cbf92d5da976356b5c5f28cf55 SHA512 9f7cd0f01606cde41f3aafb5c7da5fcf2c8f79b0d0676d963820c3dbee861195284422f8d870bbe576807c28f104ee9981c32fa7318686725ce0c8e99af933dc
+DIST brotlicffi-1.2.1.0.gh.tar.gz 26765 BLAKE2B 76a7c3f78ba0a43462806811f23e8f57e73d9b2a05e631e9af5e328d282e2cd74df9c0e1fa29b60cbb75dcacaacf27324eb815059e0e9caa23ef5f77bb4d26fe SHA512 c68de0adfcf04118538c4a521cfa6b7dafb902e9f38cb3c12f2c8093892310cd17163bb8a7b7f2f9cb8e8b0aec049bda96fda585aa9b3d152572ecb0209f1938
diff --git a/dev-python/brotlicffi/brotlicffi-1.2.0.1.ebuild b/dev-python/brotlicffi/brotlicffi-1.2.1.0.ebuild
index bdaf17517f1b..fa29eb75d8b6 100644
--- a/dev-python/brotlicffi/brotlicffi-1.2.0.1.ebuild
+++ b/dev-python/brotlicffi/brotlicffi-1.2.1.0.ebuild
@@ -10,9 +10,9 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
-# Commit of the Brotli library bundled within brotlipy.
-BROTLI_BUNDLED_COMMIT="ed738e842d2fbdf2d6459e39267a633c4a9b2f5d"
-
+# Ideally we'd fetch the git archive for the commit bundled in brotlicffi,
+# but upstream is removing various test data files from the git archive.
+BROTLI_TESTDATA_PV=1.2.1
DESCRIPTION="Python binding to the Brotli library"
HOMEPAGE="
https://github.com/python-hyper/brotlicffi/
@@ -22,23 +22,20 @@ SRC_URI="
https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
test? (
- https://github.com/google/brotli/archive/${BROTLI_BUNDLED_COMMIT}.tar.gz
- -> brotli-${BROTLI_BUNDLED_COMMIT}.tar.gz
- https://github.com/google/brotli/raw/${BROTLI_BUNDLED_COMMIT}/tests/testdata/alice29.txt
+ https://github.com/google/brotli/releases/download/v${BROTLI_TESTDATA_PV}/testdata.txz
+ -> brotli-${PV}-testdata.txz
)
"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
DEPEND="
app-arch/brotli:=
"
BDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.17.0[${PYTHON_USEDEP}]
- ' 'python*')
+ >=dev-python/cffi-1.17.0[${PYTHON_USEDEP}]
"
RDEPEND="
${DEPEND}
@@ -46,6 +43,7 @@ RDEPEND="
"
EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_RERUNS=5
distutils_enable_tests pytest
EPYTEST_DESELECT=(
@@ -56,9 +54,7 @@ EPYTEST_DESELECT=(
src_unpack() {
default
if use test; then
- mv "brotli-${BROTLI_BUNDLED_COMMIT}"/tests "${S}"/libbrotli/ || die
- # sigh, google and their stupid .gitattributes
- cp "${DISTDIR}"/alice29.txt "${S}"/libbrotli/tests/testdata/ || die
+ mv tests "${S}"/libbrotli/ || die
fi
}
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 159a10bc897b..425c94d0f142 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -4,3 +4,5 @@ DIST coverage-7.16.1.tar.gz 969651 BLAKE2B 0b33a919ba5722d9ff20c3561f096677abfbc
DIST coverage-7.16.1.tar.gz.provenance 9764 BLAKE2B 141169c22de5d80d552c8c3af4fc75fb348ac50fa92ce18104c9bfaa46aeb53f467932d32caf89a04f6d49ec563096154ea767d3a60ff2e484c88056d629b811 SHA512 5b64badff085ff8132d8c324607d15994796a090fff39523cc341265748f265deac36005298381214ef6c8abb2ff5d0098c53b15d329fb454aaef1f9c6c8ed5d
DIST coverage-7.16.2.tar.gz 971999 BLAKE2B 936073cf3fbc3ebe1974f12f1976a697a648cdcdb55b86f19d30dc3b54380d168477970a00678e3c7dcbc5ecc6d0fb6d54e1c6caa61797f7693f72d786a2221e SHA512 0800342b41ca17b3fb681d9181235790be18cf011158c4f67a89effdbd927fbe0c29dc79569aa2d668a8ad39141f33d380cd79bf02e393853089df2eccf6e7d5
DIST coverage-7.16.2.tar.gz.provenance 9764 BLAKE2B 60fb6766e20897c90eb7a413f933b1c133f90b3b6056001bf9184656f4905f75db738f26ed0ee2a5a91ff649d25b8689bdfa96945f08f97a30ac05db4115a86c SHA512 74aa4309b4391f3b2f3ea365afff5f4884b3cca46e9da85e08ee492f802e77daef0d0542ed84f8e9e41a000bd7e9195fe085075efc18ba3a6abccdf1e444889b
+DIST coverage-7.17.0.tar.gz 991021 BLAKE2B 5998706a4c9981a9b189d293d8d30170727cd2dfdeea493fd53f23a0b6fab2ff70fe8b8eb193cfd05394075929b6c05df8ff9dcb4353f0c468fdafb51787888a SHA512 4afd80d4a368c9800fb2f83a530d4a08f87c72053030a793e6c003689f6c19b1d44ed949995dd6a92ad9fae985c37e74e4e64a324dd4f5f62ba0fc15a88b6991
+DIST coverage-7.17.0.tar.gz.provenance 9938 BLAKE2B 6cacd2138b085b8ad08b446b220b224937d02b1b7ff7a3b85d906657d271540ae61588daa3ae2b1b029369ffe3040542178aff2f760cae7464862610a7617730 SHA512 9aa1a58104a2938f650ad3ad9b3979e204ea08beee9a0c87e169bc98cca859ccfa46cc76d6430b7655882be4719ca3e729e88ac5795717c45b0c2b1a332cfb56
diff --git a/dev-python/coverage/coverage-7.17.0.ebuild b/dev-python/coverage/coverage-7.17.0.ebuild
new file mode 100644
index 000000000000..e06d7b973915
--- /dev/null
+++ b/dev-python/coverage/coverage-7.17.0.ebuild
@@ -0,0 +1,119 @@
+# 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/coveragepy/coveragepy
+PYTHON_FULLY_TESTED=( python3_{12..15} python3_{14,15}t )
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/coveragepy/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{rerunfailures,xdist} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ if ! use native-extensions; then
+ local -x COVERAGE_DISABLE_EXTENSION=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+
+ if [[ ${EPYTHON} == python3.15 && ${COVERAGE_CORE} == sysmon ]] &&
+ has_version "dev-lang/python:3.15[jit]"
+ then
+ local EPYTEST_DESELECT=(
+ "${EPYTEST_DESELECT[@]}"
+ tests/test_arcs.py::LoopArcTest::test_continue
+ )
+ fi
+
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ nonfatal epytest -o addopts= "${@:2}" tests ||
+ die "Tests failed with ${EPYTHON}, ${COVERAGE_CORE} core"
+}
+
+python_test() {
+ local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" )
+ if has_version "dev-python/hypothesis[${PYTHON_USEDEP}]"; then
+ EPYTEST_PLUGINS+=( hypothesis )
+ fi
+
+ local EPYTEST_DESELECT=(
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # packaging tests, fragile to setuptools version
+ tests/test_setup.py
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+
+ local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
+ local xdist_args=()
+ if [[ ${jobs} -gt 1 ]]; then
+ # required upstream to avoid cross-test conflicts
+ xdist_args+=( --dist=loadgroup )
+ fi
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace "${xdist_args[@]}"
+ fi
+
+ test_tracer pytrace "${xdist_args[@]}"
+
+ # available since CPython 3.12
+ if [[ ${EPYTHON} == python* ]]; then
+ test_tracer sysmon "${xdist_args[@]}"
+ fi
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/dirty-equals/dirty-equals-0.11.0.ebuild b/dev-python/dirty-equals/dirty-equals-0.11.0.ebuild
index d99736111bcf..ea0e47d34e5a 100644
--- a/dev-python/dirty-equals/dirty-equals-0.11.0.ebuild
+++ b/dev-python/dirty-equals/dirty-equals-0.11.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_FULLY_TESTED=( python3_{12..14} )
+PYTHON_FULLY_TESTED=( python3_{12..15} )
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index d93535f015a3..facb38fd5d8e 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,33 +1,41 @@
DIST bstr-1.12.3.crate 355150 BLAKE2B 7f600e90529e64fbcab3dbd736e9db5fe79da5908040a09216ff2f5a21f8e6a5bd79c9860c3bc0c4fa44669c0d5a1c58ac85db57fdc4816ca57c808fb647ba56 SHA512 5093e7fc678c31684468d7b779a6f129db6b3d87fe7e05b86950ff1ee1afdf1bf6ae2586144667c8ee798de37f5fd089be0f7318401565484fbd7de07f7c0330
-DIST dulwich-1.2.14.tar.gz 1361695 BLAKE2B df32f5624b285000ad3fa0d8d9608ad196a1bd1e168effe5d0b0b106db394ca4e8e815be21b0c0a6c0726a6b7861ade5d6ede19b30c73c9188081ed6b8584291 SHA512 8bea61b50759879872b7960bbb2bcd9d94570079e97ce2f0ab9ba7f5bd1dfa63eceae2253d461f1e7c6093d70cdb5295b7f4d9204330c2724a577873304de972
-DIST dulwich-1.2.14.tar.gz.provenance 9959 BLAKE2B 01bb7882dfa2b845aa32f936e07ad3f8e0c0099d42f3e51a89a73e1c412410de5a09a65d1250fbe34f46d9b15325638f3af4e8d445bbf5f820ec5d933c493625 SHA512 66ae3484f7bb2de0f48710ddfe2aabddfe82271c9d8234ade2dc78a2487b7aec467575b9d21f1cf0bd8fa5705e14f4e7f99377cdedd29c28cb5c4227a0037923
+DIST bstr-1.13.1.crate 356631 BLAKE2B 074f90244aa6b2914506779636463fb1d418b38213da6a438d4aaf40eebfe6c334884c99eb8ad6da1d9ddb8cf5ffb289bb21ac8cbc4dc75957a9b830ce184b82 SHA512 81ef4fbf5a371c47b933d5405cfe23a826683af76607baf4972c1e6a2b23308f73ce4309f2f7eecefd58e1773af0e9c943d7407095724b75f2695cb17d35a653
DIST dulwich-1.2.15.tar.gz 1371420 BLAKE2B 3d8b0c7d8aacc48987497c68479edbc5a62e5a2e459676c678b42a0603b06d862295df01a7a906d802288d6a45139e5b88b8194a8f4ce8e24dd2254432666468 SHA512 b5a9e7f8762202c20ebbe8e465574c639771de0b2483daa63516380de4be953d5f304015aa06ebc5a8edbda4da81ab82a75bc8dbdb5974238efa364bad7e93c7
DIST dulwich-1.2.15.tar.gz.provenance 9975 BLAKE2B 9433193f4f451e3aa02755313c982001563d014f66425e71d31ed8d6f41ed2d680ca728f1d513269754d7e5c848c21046830231394fc7db09dfe85922d316b1f SHA512 c14b41f443d5970d7c7e62252b307ab81321b5e291d7ac766fde9b09e4fea384bb1f5f0d09d2948ed22972e41eae3f755c443231049a4dd80d39a31dd3a1ad5a
DIST dulwich-1.2.16.tar.gz 1402870 BLAKE2B bad05b492d25ef69efc2fa962290d2627ec892c56c6904f607ded45f00365522ab8579b9f2d1eff7a445fa598bfd5f16484a77fc96467e277bd9c3ff320bb3dd SHA512 92135473321ac37a1d683f874bf682b0da436c1cd71c2a299f3713ed27ba9349adbae13e91a08e40b7e44d528a510ba019d2b03db02114199d8fca4345cde572
DIST dulwich-1.2.16.tar.gz.provenance 9771 BLAKE2B 3de07dd1b98c3a8eacbc13ab8235000b4edcec865ba84c3e1ddf69c16c84bc57d9e0ae0678d5b978d8b85f65a6ef66a79cdc810df277e8541c0201f200500854 SHA512 f149548be1915458a00f4de0a92f28d5711388cc226fc558e93d4271a64ea426890d23d310f645d6404de0fe84f6c30b8c4d7b5571d08440f5d5fb34adc7b69e
DIST dulwich-1.2.17.tar.gz 1407736 BLAKE2B 7bce43d899ca60dc6e4451d54829921db3747af1b0b512598909779738e6e21d66c0dc16cc2394868724774ecbf8bc13b0bae978f23d3b9633ac438337d07b9b SHA512 82fac681d94c0e792d578ba81e46e3cce0b550b6dcb0b57cde0d2cbe0d3ea61c4e30e3f7cb403cf2bee259de9b2a3f08c5625d5efa8c773bd184c71ddb44ec91
DIST dulwich-1.2.17.tar.gz.provenance 9724 BLAKE2B bf3233e96974561bb594d462a877f78bc331eae89d536918d336c6843704d0573f201c17342572b66ff7e5093073a94c0ca0d98c9d31bdb80d7ded4063e4814c SHA512 565bb0e077c1fcd9925ee0419cdbce4e460ee44a8755c1ae01016b3190417f6dc5fc022377cf7a0319e31830159225a7930ad4e3fd8be3580ebded063c37fd2e
+DIST dulwich-1.2.19.tar.gz 1435621 BLAKE2B aa98d2f65f2c767b807ef43c43d85d97bd7655a90be668461eb95309442cd1921e08770508c588dde209749d36fbd893df020c926dc2358ddd382ce393b51788 SHA512 8724cda2f1fc497a10e9cedc52063f103711d896aba376092bdd635a55d6c5d9ac22ed7b08caf8d5449dbaa06bd3637172d403142504447291e5d4a68520cc7c
+DIST dulwich-1.2.19.tar.gz.provenance 9988 BLAKE2B 7c3b789014569e2cab301f6ccdca3e73153b51ee3367b4cbf78f6f3aded137adb1ada8b6a1af56038e38736d2c47b4af66f36bda8dece3fa0ae26229218075a3 SHA512 074bf6b1a5461316b3cfa097c8f1c9ead7035aa6332195b3354cfdd8d3e51d6e03e67b2b3832c6a39f22c74bdab10f4abc2f78cb243a74739c5ae3c74c3780ca
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690
+DIST libc-0.2.191.crate 855401 BLAKE2B 04788709363e27f063bd30d2e568d27b8a217d2702ccc32c28ac0f82c5f786e534f053d9133aa086d2186c060724adf0bd2c6fdf705ac6cde563561ecaba4e94 SHA512 f90bff0e667425a6680514097c44ad99454dfe9d2bec02a72633e94f300a6e39cba0a7887a7124ee3c2235d41836faff706649fa86b9970df7a7f72a460ea964
DIST memchr-2.8.3.crate 99165 BLAKE2B 46e5fb49dbc9db3ab2f9a3f77d9e45f1a7dfc99f7bf0350a83e9a56599cbbc4fa6e4738407e177304d595b03727c9cc86969bbfe4e7b8ff5efda44a6c8861bc6 SHA512 2965717bb9e0451c8fcb3d81f509898918491a7b72a894bec5a0d48619cf24db4378e28c6f71f22dbb0f47f1e96662cd86adb0cf1ffad81a7efc2a973fbcd62f
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 portable-atomic-1.15.0.crate 202705 BLAKE2B bf956c2bf08953b0ae1384d5c1703edf12c4a9b9d1f035b49043f4fb5e0a1ad005263affaf02331a77f098471fe2da8eee7b16861c33df9ef0d76444c614e291 SHA512 257cd168d0362b7b1d5e6ed9032cde9b0ac6e69d90b7e27347c39702a5ea020159c271e37e8045cf10661170f9354638791cfc972587bff3cba01da137f5a2c0
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
-DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67
+DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903
DIST pyo3-0.29.2.crate 1255741 BLAKE2B 5187b7dc0f0b2b1441b451850f442a9cf7b8e65baab3c94996be80e39543350ce8739baccb2df0caae1049a4cf744274e4ca9a9d752887d09df5c03e380d42b0 SHA512 85326462a932fd49441f320a879192306a7a6f3a66468ca468fefdb3dff9a530b7895010f156c8c3b125279b94dd304b72825fd4bbdcaeba8e3a58bd8cdcc929
-DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8
+DIST pyo3-0.30.1.crate 1345706 BLAKE2B 42f28e632d23a90b6e1ec4eae54ee17c1c75312f3f53d896dcfc43e047f0fe72d94e33c793f47f108a5b3c98885bc78d978e347a68f771d710228c3e1d97ba9e SHA512 68799fc448f68b204d4825ce4e1a0b000febf18d968740fa9f94df9507b3a2697fb1c4b642d88ad1f1fb2b214fcd1b9a3a8089eccd8b0418c08b4ae69b7bfdec
DIST pyo3-build-config-0.29.2.crate 41104 BLAKE2B b4a78b704ae7c6cd8393abd436fc5d4e9f984ad6f4c95f1fd069888865a516f1a65eaebeecc7bb61e6a0d62d637ff4312a8d6a31f2dabb262d0f3c5177abdf39 SHA512 ecae961c373a87eb13ed3881ac4954112bbf54b3e02eb287d818e44e5ab46cd4700220da5072dd1fb22d68435d012a413a3680b54505c700ee059f1472833b6a
-DIST pyo3-ffi-0.29.0.crate 88184 BLAKE2B 5891af92a3bcba764c4701dcc0a99edbced010a5ac46df3217d004f5c3a368f18331733c6723bd49e522c6f7105455df13e2be0f07695ed5ce6ae71c15dec438 SHA512 baaf01d13ddc09316ba16b22e9ca15a67e5bda5b861ed7961c3393fd4692fc1c96952f81465d1dcb6531b9083f96c5630981b3d7802cb1ac2af67aafaffbec76
+DIST pyo3-build-config-0.30.1.crate 42996 BLAKE2B e49f6b13e5a4379f3a0db2c305a96cd0b19955f22b3fd08fba4373a1ec886847abf619beddb7fc111e99bc174b47211d9de68230db8ea03e12e534bb5ceab7bf SHA512 9801d582931f1d6b835792ffa04439310544b068c9f94f1329487328d43010646dd81233575a4338c44e7fe86714a579186c04ee07604b94f8af5066730eb699
DIST pyo3-ffi-0.29.2.crate 90029 BLAKE2B f20803f6866a99767ce814984cc624783c2207ab54909deaba0a674c3c8f3e98c56bac80e1ea0e13b295634b0c6a713bd961b6c58aacbbc3be5fa9e224ff86e3 SHA512 a5b1db7e856af10f32ba3ce6a4dddc48a11f48431b82cbc1e40be88370836902afc9ab2918eb953d7fbed1ad7daaebefdf70489c7c798e591782e7dd6e2d0ddd
-DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d4297a3ff86b3b150e9185c1978fc184ac198e566a41833292a8a78ab59446eafd5ef7169e5cb41493e7cbeaa68280 SHA512 fb6633ac76229d2e0ad88d51136a9318f03823b27c700a62cfbc957b4c834985e2f4c0cdaf5ea5e9993ec9e8ce3d63cd6b3fb823f2a042e65186adbed78da7c2
+DIST pyo3-ffi-0.30.1.crate 93717 BLAKE2B 383cac05d9e768c9059cfd5f714e30848c87584bfcb0b8e421805f2da9f3b5a9a3f27d467cf9432b0f41b68003f9141dfdfeb29cdb1248cc68b01072dc01ec34 SHA512 32945d4b6f08723ae1129810ac71e12f5dc9c5de3710cadedb91bba17cbcf21acbf269598241117b45dc36141d28e6d1a58f1c07957b8664de62e991f30c82e9
DIST pyo3-macros-0.29.2.crate 9044 BLAKE2B f7caebd70dc9f54914d1d87e4c800f7bddc5d1e09835b0afd96e1f98320127660aa38f58b634ca196d823c926e279bf87c17506161a61bbae0908c51fc3b7eef SHA512 32281797e849ccb23c0ba03f8bea13ffcd86acfc3d5df65543c13befc03c142e88bfaf45f0cf5489cfe9e6acf9170ca6c24ced5d3f3f72be37bc7d2ce2bdb935
-DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f
+DIST pyo3-macros-0.30.1.crate 9055 BLAKE2B f49eedcd8922df4e0b9b0e119a6b5d06be3afe3f0d6d3fcd332716aae593fffc8fea94b02a4de7410bd678f7ab0ffb499c3e11bc45f72c2d8fa4e41c400dca9b SHA512 26f3b4d1aa86da4a305b01d780ce7de3359d3bfeadcbdbb39b9803d0a7634cf3611dfd5a285d21e97d51f61a6c590fdef8ddda45ec9abe870575519e6bbb4f33
DIST pyo3-macros-backend-0.29.2.crate 93749 BLAKE2B dce6aeef93fc8483dfffd5b514d21530ff499f241ac157e2ea304c8cd050e9fc1343d356a5a85dacb8a73d4d4405b89b4eab128f85fac54aa00f53298ab409a5 SHA512 944b8482e2a6fd0dce82eabe50f915d82b066cf11944e413ab81c01fc917dfe1877748cb8eb92f23d8acee43a9d1fb35f8690203ec440e7db7c66b03c7f27358
+DIST pyo3-macros-backend-0.30.1.crate 97593 BLAKE2B 6ff2e6e445f40b15ab8347a13b4786359875d16621ada11c0b8a5fc0efca84e306f95c1f2d5e87431bbd6303ead0d80aa469e3c53e0cb4360d6ea9524e0c9eb7 SHA512 29f96ff877d55ea3141435a30b8482743590f2dfd3fd9d24291cba8c834148cc2e0790125c8c0c3af650bf1c9b5e521a1a2ff3874dfa58bb3673dc11876ddf89
DIST quote-1.0.46.crate 31628 BLAKE2B b004131fc9942e278d3a89e9a68ea76098b94a488a4e5577074f59983809d92bb4803f759c47426a683191cc23bbe9783bbebbcbcaed6488d45a0e01b787cd36 SHA512 f51e65743b9f15b491d20bb6c3a0df921cfec29df8bafca36c9dde034b5117fe3f4eedcc258126c6cb1729be1ffde5fcf7e5b0fb0c3de4a618f46ab3cd803e77
+DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441
DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4
+DIST serde_core-1.0.229.crate 63100 BLAKE2B 3126a7f8915a142f49a403dfc3b54341f67af7e533d94981e4b13450eb9c8d0befda14c91d4ed05a288a3b71b68430d8d5ec3263db6c146ce697046657b719ad SHA512 23122dd8663f6b4cecc8e6affe8b7a010abdd31428461c033a5db330bb7c2872c8a7e91ce0884923b640bea801a64044fff6ef532b260c05f31cb426b2518e66
DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003
-DIST similar-3.1.1.crate 79833 BLAKE2B 7e8ae0e74b88ce0014cfd924ca6d8b2e807ab4709610dc82363358dc051cb1121e16c41f6a271e67483c0005d3e15e32d66600311393fc69e54872bf8e82b19a SHA512 f197b2dbca2c9a09314042ddd6d413410f952f284cf12b8d86b7a6a2584ba61efb4a29e8d3bc954fdde79265711a97fe1a3e94ef82e8ade9379a5981c7bb793e
+DIST serde_derive-1.0.229.crate 59864 BLAKE2B 28ab7ec0616bff52dbee3e05724b85db0fd70ae9bbb1b8f5124dfc9c923f12547e467a0b838ef57fdbd526d81c2718b2b8e7e75aa54f8e4ecace491362888968 SHA512 6ff319ba98b7631aede0c985cd47026d4795139beee9d53e5b00ccf0a7f6542e446b094821044fee852c7ff31c3721b964fa9425d15685714ed8f57534070e9d
DIST similar-3.2.0.crate 100297 BLAKE2B ab05252abee1d7ef5fe2ce91b2305a6463b263c7e528e56a4e68559696a6fef17f45bad278d2d584d5e20bae05064495ffb272ff1a43c6626ced3a212aedd30c SHA512 d4308622122e803d2d4f7b6d7f2182823837f73f23248a862972af9e7e786bfc204c4889da2f0aa667a54ab48a0d0cac1f7499db490ad89bacbb05b57b773e51
DIST syn-2.0.118.crate 305533 BLAKE2B f0ba994123a9ade5ea94e72f91d836c5af769ccca4c8c8d9ba8ae8c2bf2c7cfc88d4b068efa886e3c25c5635b2759b1bbf6b7b4afea6b66fc5084ad744272ba8 SHA512 24cbedce5f751fb5fab46ce27b9772fb59692e5520039a4d66a9f4d8d8b381d2af5c5be5eebd1e24cdba49fcb40a90b38f61477dd5dc96d8f272823f9a93b61d
+DIST syn-3.0.9.crate 313970 BLAKE2B 63ba393b429909b75de710e1da70bbf5b5d4ba76917786ae5ac165ad57806a02b54af3fb7eaa5213f1e59e086ddf6807f08d4e37de2fc4b0a7270a290850fa91 SHA512 94ff1cfd429e4ca9c3a72c7e7012c5ccac2178134d4fb82683601bf466094e6178dd5bbc558e973a7f03e890e4e08cf8622dba2a2898fdde608a33b244e42cc5
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 unicode-ident-1.0.27.crate 48807 BLAKE2B 2f756c8e8a8a4653e616e15c217d72a01af3e6538105c6cfbad6e89b1cf6bb5ba591855b5b7580989b44eef37279789a550331778ed924ee4906cd68dc8d2aa8 SHA512 c952d72be2eea9d70114072a1aabd17573ac672e23f3a549d2a2b6375d14215eb1f0a2dc00c89819eb40f26341a6e24c54cb7be1fe92494d9c01b5941ce25670
diff --git a/dev-python/dulwich/dulwich-1.2.14.ebuild b/dev-python/dulwich/dulwich-1.2.19.ebuild
index 74ca26da8250..861bdebe54c8 100644
--- a/dev-python/dulwich/dulwich-1.2.14.ebuild
+++ b/dev-python/dulwich/dulwich-1.2.19.ebuild
@@ -11,25 +11,25 @@ PYTHON_COMPAT=( python3_{13..14} )
RUST_MIN_VER="1.85.0"
CRATES="
- bstr@1.12.3
+ bstr@1.13.1
heck@0.5.0
- libc@0.2.186
+ libc@0.2.191
memchr@2.8.3
once_cell@1.21.4
- portable-atomic@1.13.1
- 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
- serde_core@1.0.228
- serde_derive@1.0.228
- similar@3.1.1
- syn@2.0.118
+ portable-atomic@1.15.0
+ proc-macro2@1.0.107
+ pyo3-build-config@0.30.1
+ pyo3-ffi@0.30.1
+ pyo3-macros-backend@0.30.1
+ pyo3-macros@0.30.1
+ pyo3@0.30.1
+ quote@1.0.47
+ serde_core@1.0.229
+ serde_derive@1.0.229
+ similar@3.2.0
+ syn@3.0.9
target-lexicon@0.13.5
- unicode-ident@1.0.24
+ unicode-ident@1.0.27
"
inherit cargo distutils-r1 pypi
@@ -55,7 +55,7 @@ LICENSE+="
LICENSE+=" )"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="doc examples +native-extensions test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index 507a763c986d..355885fe5f98 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1,2 +1,3 @@
DIST fastapi-0.156.4.tar.gz 500884 BLAKE2B b566123362fbd40001981e13d6df980956c8d2b58ffc494caa724eca4c6910cd5b7dd784a6191c90610e12ed8ac5ce69d9790b66b94338b02a1a96711b381ded SHA512 443976e73fd51878d6f6dc5d92fdecad0d7f31734eecbf5bbf64b32dd4281253ad2bb3f90cf3b5aa288ef4386b30aeddd509903c31204f7439657714ba35e5fc
DIST fastapi-0.159.1.tar.gz 522004 BLAKE2B e96c6265c9b2cfe56136a492360f4aee38477bb6bd1df293d9f8627b7d49bb71766bc753875cb4339770d730682a650d15e636d4eca7314bf235642c4079fc73 SHA512 cc63af68adf7b1c94a66d1a35dbd8f06eaa99a67d06de1fa5a04c30916f8c261556e0d0489f163dce600f4ee9a97f30093a21fdf30a4f9f1b04da0a382161f5b
+DIST fastapi-0.161.1.tar.gz 527406 BLAKE2B f64b50c6c6c2498bf09725c0d8711d142f77503a9a1ed488222454b8659a7a33107036f2f488d6f3d6323b24e58ca8a23a3306daf349c4cd009d52cec93c6ca6 SHA512 1621911097f38063e0ee08b302871b1377c5e54f77abf8da15a11a30e1a00cd207e541945f6a3f0fc4a204d09654c5b3213ce17aa7ed911620162557361a6bfa
diff --git a/dev-python/fastapi/fastapi-0.161.1.ebuild b/dev-python/fastapi/fastapi-0.161.1.ebuild
new file mode 100644
index 000000000000..1e1bf586041a
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.161.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{13..14} )
+#may be not stricly required
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="High performance framework, easy to learn, fast to code, ready for production"
+HOMEPAGE="
+ https://fastapi.tiangolo.com/
+ https://github.com/fastapi/fastapi/
+ https://pypi.org/project/fastapi/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.4[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
+"
+
+#FIXME: add missing deps
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/httpx2[${PYTHON_USEDEP}]
+ dev-python/pydantic-settings[${PYTHON_USEDEP}]
+ dev-python/python-multipart[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio inline-snapshot pytest-timeout )
+# workaround broken toml config
+: ${EPYTEST_TIMEOUT:=30}
+# the test suite is flaky as hell
+EPYTEST_RERUNS=5
+# 3k tests+, so use xdist to speed them up
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# There are some JSON response tests that will exercise orjson or ujson if they are available.
+# These are properly skipped if the optional dependencies are not installed at the cost of a little spam.
+python_test() {
+ local EPYTEST_IGNORE=(
+ # python/strawberry-graphql (in guru, test dep only)
+ tests/test_tutorial/test_graphql/test_tutorial001.py
+ # dev-python/sqlmodel (in guru, test dep only)
+ tests/test_tutorial/test_sql_databases/test_tutorial001.py
+ tests/test_tutorial/test_sql_databases/test_tutorial002.py
+ # dev-python/fastapi-cli (missing, test and optfeature)
+ tests/test_fastapi_cli.py
+ # dev-python/pwdlib (in guru, test dep only)
+ tests/test_tutorial/test_security/test_tutorial004.py
+ tests/test_tutorial/test_security/test_tutorial005.py
+ # Wants dev-python/multipart _just_ to complain that it's not the right multipart lib.
+ tests/test_multipart_installation.py
+ # scripts/tests use CliRunner.isolated_filesystem() removed in recent typer
+ scripts/tests
+ )
+ local EPYTEST_DESELECT=(
+ # Requires investigation - missing ./image.png test file (?)
+ tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation_img
+ # Broken by brotli being available, also fragile to random ordering
+ tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid
+ tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid
+ tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore
+ # opentelemetry-*
+ tests/test_telemetry/test_background.py::test_background_task_integrations
+ tests/test_telemetry/test_data.py::test_request_objects_are_not_exported
+ tests/test_telemetry/test_environment_integrations.py
+ tests/test_telemetry/test_integrations.py::test_current_contrib
+ tests/test_telemetry/test_integrations.py::test_current_logfire
+ tests/test_telemetry/test_integrations.py::test_current_sentry
+ tests/test_telemetry/test_integrations.py::test_inactive_sentry_does_not_disable_native
+ tests/test_telemetry/test_integrations.py::test_logfire_global_provider_without_fastapi_instrumentor
+ tests/test_telemetry/test_native_integrations.py
+ tests/test_telemetry/test_runtime.py::test_concurrent_provider_owner_wins
+ tests/test_telemetry/test_runtime.py::test_environment_export_initializes_after_fork
+ tests/test_telemetry/test_runtime.py::test_failed_registration_closes_new_exporter
+ tests/test_telemetry/test_runtime.py::test_real_otlp_exception_export_without_traces_or_metrics
+ tests/test_telemetry/test_runtime.py::test_real_otlp_export_and_repeated_lifespans
+ tests/test_telemetry/test_runtime.py::test_registration_provider_prefers_public_metric_reader
+ tests/test_telemetry/test_runtime.py::test_unsupported_provider_warns_without_preventing_startup
+ # TODO
+ tests/test_dependency_contextmanager.py::test_{a,}sync_state
+ tests/test_dependency_contextmanager.py::test_{a,}sync_raise_other
+ # tutorial tests are flaky
+ tests/test_tutorial/
+ )
+ epytest
+}
+
+pkg_postinst() {
+ # not part of any upstream extra
+ optfeature "alternative JSON library" "dev-python/ujson" # orjson, too but it's deprecated
+
+ # pyproject.toml:project.optional-dependencies.standard
+ # Following optfeatures should be exposed, but missing deps
+ # optfeature "fastAPI CLI" "dev-python/fastapi-cli" - missing - depends on this package!
+ # optfeature "compressed file support" "dev-python/fastar" - missing
+ # optfeature "pydantic extra types support" "dev-python/pydantic-extra-types" - in guru
+ optfeature_header "standard extras"
+ optfeature "ASGI server support" "dev-python/uvicorn"
+ optfeature "email validation support" "dev-python/email-validator"
+ optfeature "TestClient for testing FastAPI applications" "dev-python/httpx"
+ optfeature "templating support" "dev-python/jinja2"
+ optfeature "multipart form data support" "dev-python/python-multipart"
+ optfeature "settings management support" "dev-python/pydantic-settings"
+
+ # pyproject.toml:project.optional-dependencies.all - includes all the above plus:
+ optfeature_header "all extras"
+ optfeature "session middleware support" "dev-python/itsdangerous"
+ optfeature "YAML support" "dev-python/pyyaml"
+}
diff --git a/dev-python/flask-paginate/Manifest b/dev-python/flask-paginate/Manifest
index a2bc3218849b..8647babe1083 100644
--- a/dev-python/flask-paginate/Manifest
+++ b/dev-python/flask-paginate/Manifest
@@ -1 +1,2 @@
DIST flask-paginate-2024.4.12.gh.tar.gz 121693 BLAKE2B 378b80ac50c059735b952a2bc72ef1cc1988385a10d21fdc79a58df047ef065094fb08c134a6c5fa6ab0b6456fd047d4b1761ab331f7c793b6e13431f9e7f09a SHA512 5847a0265cb62fa949835f9e30b171fe6db9cba97ce15b38fbceac71a4213ce82d65e17f78fb4b1c22d40c92c0da62951bf9a93a20a8b763c68bd14c60191404
+DIST flask_paginate-2026.10.22.tar.gz 9819 BLAKE2B f3823ca970044276231bd86bd0c0aaf41c233285c502bc5803544d99e9b425f56861a7cc5006c187b4748e491604dd47fc72b14872ecd44cc0e57970140ec0a4 SHA512 d44df22aa8cf1081f9f3ce786416229bc7761db81b47955dc68f75888b34a101b28299302a7681b851f6b20a3be43c5372ee8169d9ee6e3e3da4986a5fee1fb9
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.29.ebuild b/dev-python/flask-paginate/flask-paginate-2026.10.22.ebuild
index 08ba139152c5..f3365766568b 100644
--- a/dev-python/xvfbwrapper/xvfbwrapper-0.2.29.ebuild
+++ b/dev-python/flask-paginate/flask-paginate-2026.10.22.ebuild
@@ -8,24 +8,24 @@ PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
-DESCRIPTION="Python wrapper for running a display inside X virtual framebuffer"
+DESCRIPTION="Pagination support for flask"
HOMEPAGE="
- https://github.com/cgoldberg/xvfbwrapper/
- https://pypi.org/project/xvfbwrapper/
+ https://flask-paginate.readthedocs.io/
+ https://github.com/lixxu/flask-paginate/
+ https://pypi.org/project/flask-paginate/
"
-LICENSE="MIT"
+LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
- x11-base/xorg-server[xvfb]
-"
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- )
+ dev-python/flask[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
+
+python_test() {
+ epytest tests/tests.py
+}
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index 533c658e6f7c..a337550a80c6 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1,11 +1,3 @@
-DIST google_api_core-2.33.0.tar.gz 181607 BLAKE2B 95d67b0831f211ebb9a4422b00766a7a4fd57f2d5dddea13186b32b4350d95b8763450e67432f77aa7ce1a1d37aa15bb5332ebddc7c479f88c41db12cca95753 SHA512 9993e6391803465e188232d10d1e34ac52502cd8dc69ba108218ebd08bed36a65ae4d1aa8cbb0f207afbec541824449d55eadfead961a4d8351ba2acd92f2ccf
-DIST google_api_core-2.33.0.tar.gz.provenance 6197 BLAKE2B 5e5675259629d3e4ce8db9d3151256e56903910f4111acf0ff15d3ee35b3e9edeea80ed93180e79ee60d29a8a089b7d506f82d9f476e0a799eaedd807f0846d0 SHA512 991dee5fd3ee9ba1e13198a2213d47cd75208e17d631cb08ca17fb1c9e8affbd0c41378e8f785c3dcb1be8f514da58b89a0ae20fd7efc089be4fea7c4a0c7417
-DIST google_api_core-2.35.0.tar.gz 192600 BLAKE2B 3b124dabd34faba1b46b00c6cf4c1aadb95d8dec31a21df76e9980163de46a3b0b3961cf304b62af870478fc84c117b5c01ed7466d084962eb7549e1644eb80f SHA512 b577c925ef3f09a4ab5b5bb263883056dca9311f486c82178ddf112076083ec3b98f05e4423f2c544c5f598182fb6954259d5e5d7ca1fae85868b47848d24a53
-DIST google_api_core-2.35.0.tar.gz.provenance 6093 BLAKE2B f40b129971da678fc75f68ba2b84bf408f5d00a5c713f4832d2a9c3e33e0bb35a279471d84317d0b1824d6fa5eef7fa62e1919aab7df8843a16d7efe384e5258 SHA512 1559570c5be55e094e23f38462e9b0189de0d2c2bdd8ea4bee01640eb9485fc1e2ca0222f71d3a83641da325ffddbe2e13ec07702917b57e5cad99dbde6dbe0e
-DIST google_api_core-2.36.0.tar.gz 196879 BLAKE2B b9026e37bec28104b81040536544938b319e6e559296c846991c74147399eb07042e8f2b9810af6e13f5d5936918d088f024005e999ee8bf497079431d22c15d SHA512 119d446ebd67bdd2f527d8bbc05e7877e1fa528e9421dabbef95597cf2e1a4555fe630f9e573b10836b98a65aa437c3a7d72a89a06d700cbf5214fd7084a44ca
-DIST google_api_core-2.36.0.tar.gz.provenance 5964 BLAKE2B ef264b3a188a19058f713cd8f83323e71734276d465b72f77b99a37c2ece8f0b9e25a70faa3879305621f84f1f99fe31029ec7c4f5c435565518c83a0ec4c17b SHA512 63ddeb9323376f41ce5368674f4a29cf5a8bfa0d9a4b60f3a469e4a11e2c8aaa3288cad03159ef4da605f93726ad1e4d46952403c2c00b90147014dc8e641835
-DIST google_api_core-2.37.0.tar.gz 203563 BLAKE2B ba146807ce2492ddf6b3f20bf755bbc94d87e4954502b48eb64aa849b4903deb4f6b636d1e29490464142befe1939410b18b13459c6330187440dd3e4aaff774 SHA512 eac0fdccc3cb91f90798f24b59820c21d10e57bfdc4ef82ec99275fc5e973d97f0b8101d8cf0544f9ddf3aa31cc769d67a20f4652b45d5a90edee74b2310c413
-DIST google_api_core-2.37.0.tar.gz.provenance 5874 BLAKE2B 69e200997fbface49b057ecb9a71e8e4831165a4a35f70ae9a8d47e5ed014eff9ffc8aa6e1d91babfb0f48b253b8ec2f55dbeb9f237e188a4af13a85174efbc8 SHA512 ae9e22056daf16c716651bb469c7d5429d5bae483c5dff67b063c3721fecf3b4a9f2b6f0c18256a78f8adb4563f856366826d947cb716433ddebfff3484b391f
DIST google_api_core-2.38.0.tar.gz 206784 BLAKE2B 6ec0dbe090374c4db6e4f27dbf97120ca0b4a47d48e17a825590950bc6d6cffa5a3ba39a2e4c3f626ab4606b3519b61eac29d380fe26a3b168db242e1f12de14 SHA512 bef24488a2389a88366e8c20d927ee51b92526d781aacd284a7fe45d1861176a43ba06f0a7fade6ccc3bd5fff7fb6bb87b4f4ab6c06daf6ebc28e5de882775eb
DIST google_api_core-2.38.0.tar.gz.provenance 6015 BLAKE2B 07b8ff1968b19edf7532b32e0aa9c8aaac7ce793cc44475928f1d87e95794c9450a51daf000fb291826de61a18609f174b3f70a287fb65a075aa95c8b49392a8 SHA512 1444bb83b4ec729503d0e5a4a0103783bf31d456614687a384096acc4fb37ff2f7f2e24be18c09772221ad11600d3921a44fa5b875c674800d9f37bdaa22f95a
DIST google_api_core-2.39.0.tar.gz 258568 BLAKE2B 98dbe72af6d5894eb4e1d12ce0daf2f5e3b0bcec59436798dd594ebc8a1eabef277f52d2f853aa83018058b8b089e137e4873d40ecedbc59c320aab2a9dc0719 SHA512 59f20324762a6f0522d06b966cd0e22ece83f2d692e9d6fcf8e2b1c4f1fe73d42064293ccece627fa9270757eac8ab438732f8780761ea8190f2364b4c0f2367
@@ -16,3 +8,5 @@ DIST google_api_core-2.41.0.tar.gz 262821 BLAKE2B 3e39e23f9285ad49557a3604451a39
DIST google_api_core-2.41.0.tar.gz.provenance 5917 BLAKE2B bf95f467af1d754cc674d84759f49247d078dcd0dc23b429d3e362fd2837c0db4fc8413ad97550645b573ab2f182528969eb730e01566375152c2e36b6dee6d7 SHA512 b4125da55a260cee4122c12c7055f4d2ef7cabc8eb408857fe882f7a2beabe788f896cf762c896b5e109ebd31f9c2311afe776a42fbbe2f847cf389545a1a66f
DIST google_api_core-2.42.0.tar.gz 273100 BLAKE2B 1a171d8f2adec18e832cadc21b0136e26515bf9e407e643ec1e63536089864d3e9bb77a1a098ec611bc98bfc523afe32f58870f4e0d558027b1bd6f6c55c79da SHA512 67e6d788eeacef218c2258ed3351978e4cbca02c17b5423d703727b7e15c49997b3f212f34df1e4361c69ad98157a3ea48c2283e06cb998a993a8c41574a3dd6
DIST google_api_core-2.42.0.tar.gz.provenance 5711 BLAKE2B c69a4d6b14cfa15addb06e313bf79938a36bc606b43a44b17a64ae8f2f409532dd347f47c7af4ffc890260edec7b58ec2d157aebc73a703df95c213d50117271 SHA512 1e6690922d48d691d53f57a827a4db8aace954c4c9e8e9d1c2c765ba2fe7da39687eb859fac438bfe52779e18f5fd8e19a10a43a53b7ea22ed5b5261310759e4
+DIST google_api_core-2.43.0.tar.gz 282948 BLAKE2B ecba60559afdd37d3190387a8e9edefa80fa3496ce879ce7e3f223979067fa7b5825e02ad3b214846f284c1b4d7af420565d671070b48105ebfabbb4adc0016e SHA512 40cc7dc1ec722d79dc7d3a08724d63f15d9608484c829b84922d126daf4eaf6f44104c7e4dcafd40af3de50ad7a5e4be82206be7c342d239f09c68b054442db7
+DIST google_api_core-2.43.0.tar.gz.provenance 6083 BLAKE2B e305c4af0d1f444e60ae71c9b79efe83551104cbe257e69b6ee04a00865ee42cd5c60c96a5012a1a1cc81e733052cbb27815d2ced6c68d11c9e5494d799dad9f SHA512 cde037b08b3035821c6c809c21acf52d676c639590d82dd97af60d56137e6f8b812243491386f0dc51d1a51f5ecc9aed6a77c0a6af8d0bd7d13442ca940e5f0f
diff --git a/dev-python/google-api-core/google-api-core-2.33.0.ebuild b/dev-python/google-api-core/google-api-core-2.33.0.ebuild
deleted file mode 100644
index 2028fc5f54ce..000000000000
--- a/dev-python/google-api-core/google-api-core-2.33.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core Library for Google Client Libraries"
-HOMEPAGE="
- https://github.com/googleapis/google-cloud-python/
- https://pypi.org/project/google-api-core/
- https://googleapis.dev/python/google-api-core/latest/index.html
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="grpc"
-
-RDEPEND="
- >=dev-python/googleapis-common-protos-1.63.2[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/proto-plus-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/protobuf-5.29.6[${PYTHON_USEDEP}]
- >=dev-python/requests-2.33.0[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- grpc? (
- >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # The grpc_gcp module is missing to perform a stress test
- tests/unit/test_grpc_helpers.py
-)
-
-python_test() {
- rm -rf google || die
- epytest tests
-}
diff --git a/dev-python/google-api-core/google-api-core-2.35.0.ebuild b/dev-python/google-api-core/google-api-core-2.35.0.ebuild
deleted file mode 100644
index 81f8420cdc2d..000000000000
--- a/dev-python/google-api-core/google-api-core-2.35.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core Library for Google Client Libraries"
-HOMEPAGE="
- https://github.com/googleapis/google-cloud-python/
- https://pypi.org/project/google-api-core/
- https://googleapis.dev/python/google-api-core/latest/index.html
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="grpc"
-
-RDEPEND="
- >=dev-python/googleapis-common-protos-1.69.2[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/proto-plus-1.26.1[${PYTHON_USEDEP}]
- >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.33.0[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- grpc? (
- >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # The grpc_gcp module is missing to perform a stress test
- tests/unit/test_grpc_helpers.py
-)
-
-python_test() {
- rm -rf google || die
- epytest tests
-}
diff --git a/dev-python/google-api-core/google-api-core-2.37.0.ebuild b/dev-python/google-api-core/google-api-core-2.37.0.ebuild
deleted file mode 100644
index 2b11a77adbaf..000000000000
--- a/dev-python/google-api-core/google-api-core-2.37.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2020-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core Library for Google Client Libraries"
-HOMEPAGE="
- https://github.com/googleapis/google-cloud-python/
- https://pypi.org/project/google-api-core/
- https://googleapis.dev/python/google-api-core/latest/index.html
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="grpc"
-
-RDEPEND="
- >=dev-python/googleapis-common-protos-1.69.2[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
- <dev-python/opentelemetry-api-2[${PYTHON_USEDEP}]
- >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}]
- >=dev-python/proto-plus-1.26.1[${PYTHON_USEDEP}]
- >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.33.0[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- grpc? (
- >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
- >=dev-python/opentelemetry-sdk-1.44.0[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # The grpc_gcp module is missing to perform a stress test
- tests/unit/test_grpc_helpers.py
-)
-
-python_test() {
- rm -rf google || die
- epytest tests
-}
diff --git a/dev-python/google-api-core/google-api-core-2.36.0.ebuild b/dev-python/google-api-core/google-api-core-2.43.0.ebuild
index 2b11a77adbaf..2b11a77adbaf 100644
--- a/dev-python/google-api-core/google-api-core-2.36.0.ebuild
+++ b/dev-python/google-api-core/google-api-core-2.43.0.ebuild
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index 9fc937a1ca80..8eeceb065186 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1,8 +1,8 @@
-DIST googleapis_common_protos-1.75.2.tar.gz 154083 BLAKE2B 50f1bb744f232e37c93a3ef6b71e8df77f0c9c74a67998c6d08faead3bf3b67a9338b91113cd75c7f28388fca04db424695eb8ff79ecb695158bed8b2e4b46ba SHA512 993e03c956c370f96703aea6477534f8eaa57ba7e4119f4739b1380c7ace478160c135137c8401804f0d47bf2def264b80eb336c92299a61965f7bb81d8dd53e
-DIST googleapis_common_protos-1.75.2.tar.gz.provenance 6117 BLAKE2B dc55edaeb136c7943a9723724dcb11f8a8c7f8c1dfafb82b42d9b4d3924f7e4821a1dddd46a0ae5ce79935104452b9e42d6e93b6de8846f8a25e0ab29675ba90 SHA512 663e49e09567e48ecc660a542f27ad8c810a1ae9cef78f5a72af6f6f162fa6752d7d319f00509e9cc368630d95b7be0b5f68a284a6d4ccb540db7ba415368d60
DIST googleapis_common_protos-1.75.3.tar.gz 153905 BLAKE2B c735728ca27c4781f4c8ca73662d4a5ad53c72932b2a0a0e8c91e9b77e580aec0d183a689d44a91307e64b8ac7eb5ec429d9d382324e64e4d2edc339f7cfbdef SHA512 3122c836efe8340e40d33bed4097f1fa765ee35146c186c2578af2166ba4e2070aea2e949499bee37ad41ae0229ec9840c7c3ed346d07485f095531f58a4598a
DIST googleapis_common_protos-1.75.3.tar.gz.provenance 5976 BLAKE2B 3980706aec265c9584ea7004dd9be8b76926ba601f599f703c0d2d235308dcbc70b7be330a8d96bce447004dacb31f6df7d27a1fb6a56460d2bdd1d589f2c8e4 SHA512 5830412389ee994a9ccd04c480f796e5c6d516fc6dcada66c5a7094b61eb68b3ea615a147135f0855b7fdc9ab885ec9c494192efb7501714d321d3414b31d46d
DIST googleapis_common_protos-1.75.4.tar.gz 154248 BLAKE2B f439168c244d583cb1ac384205852ede65a5843d61922eabae342117b2173ce7cc23b8f12dadd53f65bee4223335c6bbda1598368766febec6cb199eeb998617 SHA512 06a9af0d59b27ea3564d481b02d05c393f5d0b20ce116d89026b7cd070b6c09515e420a7e2990f8f47bbf8d1080a6570247f2841b24dadad0feb1d65f15a9666
DIST googleapis_common_protos-1.75.4.tar.gz.provenance 5870 BLAKE2B 35c530faf6392522f54b7e60e585cad6a2b45cad97cb870746cfd1c89afabfb8a2bf6b4a4bcacc8755c7e43b15a5fed4b828bfa362811a6881b659a641520547 SHA512 00c5e8eabe5e8331effd7a0c85f525f103c947bfb5b4c6539277f948e92063907911eca90fd97ab0dc343108396272da771177c8423b3cded736a78adfb5fd14
DIST googleapis_common_protos-1.75.5.tar.gz 156513 BLAKE2B ba66482a44da20569398e9429bd4947f661d6b83703036393e31a36a76a70c11e05503b9c81443d2292d56377e8b68109115a24b746633bf7969a67e8f909308 SHA512 8399eb4a26f26bd840595d642103d9d2cc1c33dbc974c884f07bd645a2c030199dec7bf984502ba73e3d7becdd049e7b8697b02e718bf10ddd4b855cde2ee8a5
DIST googleapis_common_protos-1.75.5.tar.gz.provenance 6027 BLAKE2B f54c5c86bdc38fa4557256b02f941ad6f6c2ee698a045fc47ca1d729a6cdc23be3686faf5b13e0c0a1ce1e11084ebd01d8a2ece2606069ef7d8d4e6420d3e520 SHA512 5ffcaafe87172c7d65b04f38365a83c2b2be6da8cad8e60d419b5f1fbbae0b813e3ec090304fd5adb2cb2add9cdd0463ff115e874da3f723d11940411a3face8
+DIST googleapis_common_protos-1.76.0.tar.gz 156250 BLAKE2B e74d82458639e2cdda87781525d43b94cd47de671c0c55c6373e0c42251e7bd31eb787f262480a052983181f7edcd8d2fdc2baa8a0321ab9e2f1b590c51bf08f SHA512 45af1d3c8408d5e222079eeac29bff82089eeeaba0c63ca706012ed422aa8b3b539bdcfb59169a575dea66cefbf8588f69895ebb0da90c6de29bdcb51d8ac922
+DIST googleapis_common_protos-1.76.0.tar.gz.provenance 5860 BLAKE2B efb75d12c49bcc548b8c0fe1e5442dc0034aa3a039ec461afbb69cfec0c3d06838d46f61bf7fd2ac0944ea16b4a19982915c79e8c9735bd04b561871dfa11a00 SHA512 d009c9567e6260f27704cfd2da5082722106d62822785090d8fa5198cd0a04c5ee8fcdd8b50f760fd7482969154e436164377064f8d1f213215b919055f86fe3
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.2.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.76.0.ebuild
index 4254e74223b2..ff059c44f854 100644
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.2.ebuild
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.76.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
RDEPEND="
<dev-python/protobuf-8[${PYTHON_USEDEP}]
diff --git a/dev-python/grpcio-status/Manifest b/dev-python/grpcio-status/Manifest
index a230607b62ee..4628d713007f 100644
--- a/dev-python/grpcio-status/Manifest
+++ b/dev-python/grpcio-status/Manifest
@@ -1,2 +1,3 @@
DIST grpc-1.83.1.gh.tar.gz 16254795 BLAKE2B 2a8382cc0504c60272b84e699c8aaf5c7256d296357d914e6d3d63387f032be468e096f8147ffac5bfb018be375d0b24b6b135605346c2612e1ccceb0a54615d SHA512 2afa0e389beabfa6f16e845338b456a8b397ef66ca533c9ecac4461d9fa568b4f5a28bb64401d3d91122c26d65e66ce887f2680af0b5fb6069cdc8d01ac21032
DIST grpc-1.84.0.gh.tar.gz 16364079 BLAKE2B b3b7aba77c8bc46662f58420ecaf3340a407bf8720a03e2d9a6c6355629254b4a5a6ab6e1e86d7d830be675ca20573deaf93bebb3be7875bf9915e9b733fb583 SHA512 59134070566c0f9964ee80d376162ff07c3627d3fc7e6bd4c238018fd798a1d2adbade1a413997ecbff040b2f8df0fd0a04fdc0c20e6d40b376d73ea4fd77570
+DIST grpc-1.84.1.gh.tar.gz 16329016 BLAKE2B 28276fc3f06d40fa5d358959595a1beac82815979f0c5d56520ba11e919941a19437bdcc62fe28da55da6700d1828573aad8a4e731245d7c5a61cc473964588f SHA512 31d029b30c048fa3cbc94113ae83611f11839b42e409e1a1c6f33903f81205f7b2e3a41672d5442729aa42bcf4ebb4657f68b4810a04ff2ba978535f8af0d8af
diff --git a/dev-python/grpcio-status/grpcio-status-1.84.1.ebuild b/dev-python/grpcio-status/grpcio-status-1.84.1.ebuild
new file mode 100644
index 000000000000..daa9f2d13263
--- /dev/null
+++ b/dev-python/grpcio-status/grpcio-status-1.84.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=grpc-${PV}
+DESCRIPTION="Reference package for GRPC Python status proto mapping"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio-status/
+"
+SRC_URI="
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/src/python/grpcio_status
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/googleapis-common-protos-1.5.5[${PYTHON_USEDEP}]
+ <dev-python/protobuf-8[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${WORKDIR}/${MY_P}/src/python/grpcio_tests" || die
+ epytest tests{,_aio}/status
+}
diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
index 0ad78d1ee935..40e3aede5c1e 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -1,6 +1,9 @@
DIST grpc-1.83.1.gh.tar.gz 16254795 BLAKE2B 2a8382cc0504c60272b84e699c8aaf5c7256d296357d914e6d3d63387f032be468e096f8147ffac5bfb018be375d0b24b6b135605346c2612e1ccceb0a54615d SHA512 2afa0e389beabfa6f16e845338b456a8b397ef66ca533c9ecac4461d9fa568b4f5a28bb64401d3d91122c26d65e66ce887f2680af0b5fb6069cdc8d01ac21032
DIST grpc-1.84.0.gh.tar.gz 16364079 BLAKE2B b3b7aba77c8bc46662f58420ecaf3340a407bf8720a03e2d9a6c6355629254b4a5a6ab6e1e86d7d830be675ca20573deaf93bebb3be7875bf9915e9b733fb583 SHA512 59134070566c0f9964ee80d376162ff07c3627d3fc7e6bd4c238018fd798a1d2adbade1a413997ecbff040b2f8df0fd0a04fdc0c20e6d40b376d73ea4fd77570
+DIST grpc-1.84.1.gh.tar.gz 16329016 BLAKE2B 28276fc3f06d40fa5d358959595a1beac82815979f0c5d56520ba11e919941a19437bdcc62fe28da55da6700d1828573aad8a4e731245d7c5a61cc473964588f SHA512 31d029b30c048fa3cbc94113ae83611f11839b42e409e1a1c6f33903f81205f7b2e3a41672d5442729aa42bcf4ebb4657f68b4810a04ff2ba978535f8af0d8af
DIST grpcio-1.83.1.tar.gz 13445033 BLAKE2B 6d40c7fe05a85698925de774945595854838b161267c20213388306660bba9105fbc5f7f3d0941f5db7f0188d2be7b10f926ac5f5448c99eec9a7dd51f817a28 SHA512 b01a71938a4a1df648054e53c67a6fd070da2da1e09bb10c39519ed3f75735a4d05fd4446539235627395869b911286e671993f31e58a68072c5094af0a28e22
DIST grpcio-1.84.0.tar.gz 13493876 BLAKE2B a2e7034727a1a55c91b517b93f897426aaac582c2d423a60ad0b0d0f3f2f9d2922a2bebbf169c0945de12f6e65c03f296ba26783bedb0ce38a00cd23cd6e2a3e SHA512 25ffad1f00b00fe106bd6fa4d07e41078aa134d3ea61a1b325cccd42dcb55ac3bffbf1d17326066d2ba7cebbaf925c6c2333a40c22cbc8f67644fec04104ca2d
+DIST grpcio-1.84.1.tar.gz 13421202 BLAKE2B edc1d0656de5438b0bf808bdd10783e3bad078d9d9618d231c8444f91078312100b8986c25643e54f3c91665aeda9d36465b37c9169513a3035250072548fe6a SHA512 ba0884beaa3ab591d32ea3915daff805b50a02a0ba558ff2c3c8c7ba2c4295c4a97b28b19ebb64efb9f4c7a421bf4a338e174e1138ace9c2e83b6bbd376732c1
DIST grpcio_tools-1.83.1.tar.gz 6399877 BLAKE2B 66b3f52f76ca0d342d74b7e61d2bfecfea1127a938742d824c67e695601349dc6d0625c8ea141960d3e88702e2b9a260d12c079beec0c114427ff50e89df66fc SHA512 828d6f5e382eb28eb7366e479a51e17fe7e7baeef08aae33f02b3f0b54604afdb54910632670f09ba26bd568d1c45fdd7f49a8b2bad46f73d55279d612b287df
DIST grpcio_tools-1.84.0.tar.gz 6401750 BLAKE2B 900df1a351252ddba7a63d7e656c999c9c6946a78c7d65d4b6239e65e42e947149d65d40fdd3f42615fc64d9fbd7d0aa77322c39171a3b761aee38ac8086a3e1 SHA512 2782982639bda49feaf979d50068598a1fbbd015c8ecb7abe244c70987d6c01a2ee9186ae4f7206d33927cb8186ade17dfb10723970b47faaae70737eb2a8f70
+DIST grpcio_tools-1.84.1.tar.gz 6401360 BLAKE2B f5b6d90d9cb47c97403eae7dde7cbe910adb2f23350ad973020a107681006fc4be8c7c3ef87c617850d7a76093ab2ee4150bb609150ad34aa3c51965d008562c SHA512 a4f5ea5297011bd6046ffe248406470dc80536cbbfeeffe2a2fd12f16d4862f806e46cb1a8bb9cad718d5ee86f7659330b7efdc8e8a2e7f274c5867b39cfa495
diff --git a/dev-python/grpcio/grpcio-1.84.1.ebuild b/dev-python/grpcio/grpcio-1.84.1.ebuild
new file mode 100644
index 000000000000..77e10cf7bc6c
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.84.1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 flag-o-matic multiprocessing pypi
+
+MY_P=grpc-${PV}
+DESCRIPTION="HTTP/2-based RPC framework"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio/
+"
+# Tests need other packages from the source tree, so use a GitHub
+# archive. sdist provides bundled library sources (git submodules).
+SRC_URI+="
+ test? (
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ $(pypi_sdist_url grpcio_tools)
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/openssl:=
+ net-dns/c-ares:=
+ virtual/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+# TODO: try to remove coverage dep
+BDEPEND="
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-7.35.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+# signal handling tests hang often
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT=15}
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/INSTALL_REQUIRES/s:~=:>=:' setup.py || die
+}
+
+src_configure() {
+ # -Werror=odr -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/856775
+ # https://github.com/grpc/grpc/issues/36158
+ filter-lto
+
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+ # system abseil-cpp crashes with USE=-debug, sigh
+ # https://bugs.gentoo.org/942021
+ #export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1
+ export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
+ export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
+ # re2 needs to be built against the same abseil-cpp version
+ #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
+ export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
+ export GRPC_PYTHON_BUILD_WITH_CYTHON=1
+
+ # copied from setup.py, except for removed -std= that does not apply
+ # to C code and causes warnings
+ export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions"
+ # required by abseil-cpp
+ append-cxxflags -std=c++17
+ # silence a lot of harmless noise from bad quality code
+ append-cxxflags -Wno-attributes
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/unit/_dns_resolver_test.py::DNSResolverTest::test_connect_loopback
+ # not a test
+ tests/unit/_compression_test.py::test_compression
+ tests_aio/unit/channel_argument_test.py::test_if_reuse_port_enabled
+ # expects grpcio-admin
+ tests/unit/test_all_modules_installed.py::TestAllModulesInstalled::test_import_all_modules
+ # TODO
+ tests_py3_only/unit/_simple_stubs_test.py::SimpleStubsTest::test_default_ssl
+ tests/unit/_cython/_channel_test.py::ChannelTest::test_multiple_channels_lonely_connectivity
+ tests/unit/_cython/_channel_test.py::ChannelTest::test_single_channel_lonely_connectivity
+ tests/unit/_auth_context_test.py::AuthContextTest::testSecureNoCert
+ )
+ local EPYTEST_IGNORE=(
+ # not a test
+ tests/unit/test_common.py
+ # requires oauth2client
+ tests/unit/beta/_implementations_test.py
+ )
+
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # grpcio proper builds against system libs
+ # grpcio_tools supports bundled libs only, and requires different
+ # flags
+ unset GRPC_PYTHON_CFLAGS
+ cd "${WORKDIR}/grpcio_tools-${PV}" || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+
+ cd "${WORKDIR}/${MY_P}" || die
+ local protodir=src/proto/grpc/testing
+ local testdir=src/python/grpcio_tests
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \
+ "${protodir}"/{empty,messages}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out="${testdir}" \
+ "${protodir}"/test.proto || die
+
+ cd "${testdir}" || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out=. \
+ tests/testing/proto/{requests,services}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out=. \
+ tests/testing/proto/services.proto || die
+
+ # TODO: aio tests are failing randomly, so we're skipping them entirely
+ epytest tests{_py3_only,}/unit
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 1c269d882253..d1ed99ebe8ee 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -14,6 +14,7 @@ DIST hypothesis-6.169.3.gh.tar.gz 9711107 BLAKE2B 973dc2650033c5b31dd2b6e7923536
DIST hypothesis-6.170.0.gh.tar.gz 9723099 BLAKE2B 0876a9786084cb4b9d6f0494a14ae7953b64641968991fdd8ac03944582018cf665db55fabee07d2da11a8a50d85dcc97b9cb907cec35dab97588492b928cd3d SHA512 b0505bbbfe05e3d3df1d622accb6a971b68b3ba6680c9611fd4185be1f55a598875d4319dba012d3ca53491663b673e595a6fe9303f04a0255ecc55ff4cc77a0
DIST hypothesis-6.170.1.gh.tar.gz 9724551 BLAKE2B a890c940391e77985c4e9b6131410cc03c371fd985e9102cbadd5e0e52e70db06358c73614cb0a8729f8d305c0d5062ff1badc9c5e092161d6e6d2ed6a02c475 SHA512 001cf30549c78ee0c469c804f154b528c44b8e2126a7578cb9eb5a3423b8419b9894fcde7c65290922a225fc6bae9f5d030953c40625bcdd9cabd16681320e58
DIST hypothesis-6.170.5.gh.tar.gz 9725753 BLAKE2B 6e4fbe57683bccd6c7da1ab5ef391f0ca48f1ae958301158df41048742c6cfbb64e3a6f6138cddaae5b4233b995c7054085bf2eab87ce36c36b21a2b34b06ea9 SHA512 0a8011e1988c414d4ffbb065572a126c3375594ebf95a5e8b90b41ef631d2f1ecfff480cf082471219093854a266ecc43fdf81c803475ea82171bcf5da9c04f5
+DIST hypothesis-6.170.8.gh.tar.gz 9727159 BLAKE2B 9bf6eecb800f76e4a1610ccb059badb5174dd7c6988ba85afa5a7b443c47263012d4ee4eaa51f8231b1364827c44a0a673cd1b9d127562850889f8c7d343ca2f SHA512 c0ee5652d5ca5ca65cb05e71b76d58077bf5a8b30e1a68ed005de1936a56789c2373fca51c700a1880f5c5509470e3020e5fb791efeecb8bb4fa0841111aaf3f
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
@@ -21,20 +22,26 @@ DIST ppv-lite86-0.2.21.crate 22522 BLAKE2B 150b2ae019f296dc0a15090bcabcf4981bc58
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.29.2.crate 1255741 BLAKE2B 5187b7dc0f0b2b1441b451850f442a9cf7b8e65baab3c94996be80e39543350ce8739baccb2df0caae1049a4cf744274e4ca9a9d752887d09df5c03e380d42b0 SHA512 85326462a932fd49441f320a879192306a7a6f3a66468ca468fefdb3dff9a530b7895010f156c8c3b125279b94dd304b72825fd4bbdcaeba8e3a58bd8cdcc929
DIST pyo3-0.29.3.crate 1261077 BLAKE2B a30b106b26b20a65dd2b58d26c817fd9d86f78d3b4f72ef5d73b3bcfc99b909ad021b722a2aa5795f0edf84e5f9077a53caf2686be8cf157a7bdfefd883dbef8 SHA512 809d8f84a08bc5f997f76a429edd53a8b500faa3aaa70846a174134d42f76352f3b023e2d235a9795c2fde6e52a088c5e20ac39fa97f370c50775906ae1f7f06
+DIST pyo3-0.30.1.crate 1345706 BLAKE2B 42f28e632d23a90b6e1ec4eae54ee17c1c75312f3f53d896dcfc43e047f0fe72d94e33c793f47f108a5b3c98885bc78d978e347a68f771d710228c3e1d97ba9e SHA512 68799fc448f68b204d4825ce4e1a0b000febf18d968740fa9f94df9507b3a2697fb1c4b642d88ad1f1fb2b214fcd1b9a3a8089eccd8b0418c08b4ae69b7bfdec
DIST pyo3-build-config-0.29.2.crate 41104 BLAKE2B b4a78b704ae7c6cd8393abd436fc5d4e9f984ad6f4c95f1fd069888865a516f1a65eaebeecc7bb61e6a0d62d637ff4312a8d6a31f2dabb262d0f3c5177abdf39 SHA512 ecae961c373a87eb13ed3881ac4954112bbf54b3e02eb287d818e44e5ab46cd4700220da5072dd1fb22d68435d012a413a3680b54505c700ee059f1472833b6a
DIST pyo3-build-config-0.29.3.crate 41138 BLAKE2B dc1d0616ae9ac411ae8d4e8c44b0bc3eeb81e2584aabd89f49bcd15875ed9031eb9c92469081cf6ad7f723d5331d549de53008406f2fff432e0d8f509ca603c2 SHA512 d87177fc23ef7b625e78d10811cb160c68be79526c574ff05c42e8f5f96c7e3918558971f8459d9930a1fd5bdba46e482dbe59d03c25ec000f75a0a4073253dd
+DIST pyo3-build-config-0.30.1.crate 42996 BLAKE2B e49f6b13e5a4379f3a0db2c305a96cd0b19955f22b3fd08fba4373a1ec886847abf619beddb7fc111e99bc174b47211d9de68230db8ea03e12e534bb5ceab7bf SHA512 9801d582931f1d6b835792ffa04439310544b068c9f94f1329487328d43010646dd81233575a4338c44e7fe86714a579186c04ee07604b94f8af5066730eb699
DIST pyo3-ffi-0.29.2.crate 90029 BLAKE2B f20803f6866a99767ce814984cc624783c2207ab54909deaba0a674c3c8f3e98c56bac80e1ea0e13b295634b0c6a713bd961b6c58aacbbc3be5fa9e224ff86e3 SHA512 a5b1db7e856af10f32ba3ce6a4dddc48a11f48431b82cbc1e40be88370836902afc9ab2918eb953d7fbed1ad7daaebefdf70489c7c798e591782e7dd6e2d0ddd
DIST pyo3-ffi-0.29.3.crate 91291 BLAKE2B 1f7819e3925cc3898d91244fe7d0b22e2551640b2169e7fff68086e208aeff0caeac5927b68fb1bd638b53a8488e9e821ec9a371d2a9e0a64130c8a535e03dd8 SHA512 05ce591fa67a9768d6ec70bfa181007d9b7591b2a607edbe4eec26b243d52e1e75098057a7a533746ca80e70893eb0b16c0f4ccb8911776ba13057ba42dfaa92
+DIST pyo3-ffi-0.30.1.crate 93717 BLAKE2B 383cac05d9e768c9059cfd5f714e30848c87584bfcb0b8e421805f2da9f3b5a9a3f27d467cf9432b0f41b68003f9141dfdfeb29cdb1248cc68b01072dc01ec34 SHA512 32945d4b6f08723ae1129810ac71e12f5dc9c5de3710cadedb91bba17cbcf21acbf269598241117b45dc36141d28e6d1a58f1c07957b8664de62e991f30c82e9
DIST pyo3-macros-0.29.2.crate 9044 BLAKE2B f7caebd70dc9f54914d1d87e4c800f7bddc5d1e09835b0afd96e1f98320127660aa38f58b634ca196d823c926e279bf87c17506161a61bbae0908c51fc3b7eef SHA512 32281797e849ccb23c0ba03f8bea13ffcd86acfc3d5df65543c13befc03c142e88bfaf45f0cf5489cfe9e6acf9170ca6c24ced5d3f3f72be37bc7d2ce2bdb935
DIST pyo3-macros-0.29.3.crate 9050 BLAKE2B 831954de983b2e805f89c1b280304ac068f056c9bb7c61837cf00db94470ddf7a06ccc004edbdd022e13aade5b46674c64b97bd175d3c03825ac38e6d8b9ba6f SHA512 3aebb40bc75fa1bb539dcf3d41034366bba721f0e12aa656dcf8b67f0b2043d5da2b19338b67f47529dea16a6fb7592d866b7224f477b9fc26bb682cf9d24bbd
+DIST pyo3-macros-0.30.1.crate 9055 BLAKE2B f49eedcd8922df4e0b9b0e119a6b5d06be3afe3f0d6d3fcd332716aae593fffc8fea94b02a4de7410bd678f7ab0ffb499c3e11bc45f72c2d8fa4e41c400dca9b SHA512 26f3b4d1aa86da4a305b01d780ce7de3359d3bfeadcbdbb39b9803d0a7634cf3611dfd5a285d21e97d51f61a6c590fdef8ddda45ec9abe870575519e6bbb4f33
DIST pyo3-macros-backend-0.29.2.crate 93749 BLAKE2B dce6aeef93fc8483dfffd5b514d21530ff499f241ac157e2ea304c8cd050e9fc1343d356a5a85dacb8a73d4d4405b89b4eab128f85fac54aa00f53298ab409a5 SHA512 944b8482e2a6fd0dce82eabe50f915d82b066cf11944e413ab81c01fc917dfe1877748cb8eb92f23d8acee43a9d1fb35f8690203ec440e7db7c66b03c7f27358
DIST pyo3-macros-backend-0.29.3.crate 95162 BLAKE2B 1591b244bd601ca103ee59e0dadfa0b69f9b3372a93c9584a0881afb501922ed444f977d6f94cd08327c01367d225c75695a4761b577cd77116526b7cdc0e511 SHA512 ee8fc2ae0e5ef5a7328edbf50dcc972669248034889eea25790d901478c384865f2242b8f66778a016e84fb8c56d5f75bf08d02cf7bb7c7078a5c25b1bbf7c43
+DIST pyo3-macros-backend-0.30.1.crate 97593 BLAKE2B 6ff2e6e445f40b15ab8347a13b4786359875d16621ada11c0b8a5fc0efca84e306f95c1f2d5e87431bbd6303ead0d80aa469e3c53e0cb4360d6ea9524e0c9eb7 SHA512 29f96ff877d55ea3141435a30b8482743590f2dfd3fd9d24291cba8c834148cc2e0790125c8c0c3af650bf1c9b5e521a1a2ff3874dfa58bb3673dc11876ddf89
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.118.crate 305533 BLAKE2B f0ba994123a9ade5ea94e72f91d836c5af769ccca4c8c8d9ba8ae8c2bf2c7cfc88d4b068efa886e3c25c5635b2759b1bbf6b7b4afea6b66fc5084ad744272ba8 SHA512 24cbedce5f751fb5fab46ce27b9772fb59692e5520039a4d66a9f4d8d8b381d2af5c5be5eebd1e24cdba49fcb40a90b38f61477dd5dc96d8f272823f9a93b61d
+DIST syn-3.0.9.crate 313970 BLAKE2B 63ba393b429909b75de710e1da70bbf5b5d4ba76917786ae5ac165ad57806a02b54af3fb7eaa5213f1e59e086ddf6807f08d4e37de2fc4b0a7270a290850fa91 SHA512 94ff1cfd429e4ca9c3a72c7e7012c5ccac2178134d4fb82683601bf466094e6178dd5bbc558e973a7f03e890e4e08cf8622dba2a2898fdde608a33b244e42cc5
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
diff --git a/dev-python/hypothesis/hypothesis-6.170.8.ebuild b/dev-python/hypothesis/hypothesis-6.170.8.ebuild
new file mode 100644
index 000000000000..339c1f831537
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.170.8.ebuild
@@ -0,0 +1,140 @@
+# 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.30.1
+ pyo3-ffi@0.30.1
+ pyo3-macros-backend@0.30.1
+ pyo3-macros@0.30.1
+ pyo3@0.30.1
+ 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
+ syn@3.0.9
+ 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/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
+ 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]'
+ )
+ local EPYTEST_IGNORE=()
+ # TODO: add a dep once syrupy has *t in COMPAT
+ if has_version "dev-python/syrupy[${PYTHON_USEDEP}]"; then
+ local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" syrupy )
+ else
+ EPYTEST_IGNORE+=(
+ tests/cover/test_custom_reprs.py
+ )
+ fi
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest 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/importlib-metadata/Manifest b/dev-python/importlib-metadata/Manifest
index 9635555c511f..9a45fa0adc89 100644
--- a/dev-python/importlib-metadata/Manifest
+++ b/dev-python/importlib-metadata/Manifest
@@ -1,2 +1,2 @@
-DIST importlib_metadata-9.0.0.tar.gz 56405 BLAKE2B c66e9669a68bc24d6c830fbc944808446bfd41ca7c3217adf2c02b336fa9d313cad0fc15fc474b7b2db3805d13975fadc1dbb0761f318bbb3c5a892367f19fbc SHA512 33d1a2d46a66b453224b08ef4d335729dcc64634d6b419c6a79c1c8d5f10787955aa6149c5affa23b6a4d1a2ad93ff4cbba4488a9a55ad4f255fb37a0946f0b6
DIST importlib_metadata-9.0.1.tar.gz 59124 BLAKE2B ce3f32c737d0267bf017ffa09f3d128d86b81bd18aa8caeb56423d30e1eca076088305e5ff35350b18806046236c9c0cd07aaa7d305e417198095f363d52ada1 SHA512 890eca6fbe26fb58bb6fdcf7fc3c018335ba7f95e6f4da05aa351190af62385813566cb9efc458675fc570ee565597470b8b65a7bd606180f02569cefd03bfee
+DIST importlib_metadata-9.1.0.tar.gz 62078 BLAKE2B d8b166f63140a7d8e85a6151d809ca6f018b7692dc54bb07af419fc6b0ffd31cdda373dbf590bffe1dd4c65d4a1baf5ee086e015a6dfa84dc8032f51a16f8b88 SHA512 52bbe69123ba9b5a2096d024b32b89a90ef76a4336750385d10f828a5b5d685c62396e471cb9b1f9672c588b0010e06622acf892102375bc3ad7a3a4c32778ce
diff --git a/dev-python/importlib-metadata/importlib-metadata-9.0.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-9.1.0.ebuild
index 1497a570ca28..ce0ae03c81fd 100644
--- a/dev-python/importlib-metadata/importlib-metadata-9.0.0.ebuild
+++ b/dev-python/importlib-metadata/importlib-metadata-9.1.0.ebuild
@@ -4,7 +4,7 @@
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
EAPI=8
-DISTUTILS_USE_PEP517=flit
+DISTUTILS_USE_PEP517=flit-core
# NB: this package extends beyond built-in importlib stuff in py3.8+
# new entry_point API not yet included in cpython release
PYTHON_COMPAT=( python3_{13..14} )
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
RDEPEND="
>=dev-python/zipp-3.20[${PYTHON_USEDEP}]
diff --git a/dev-python/memory-allocator/Manifest b/dev-python/memory-allocator/Manifest
index 3441e0e395f2..8a865003568d 100644
--- a/dev-python/memory-allocator/Manifest
+++ b/dev-python/memory-allocator/Manifest
@@ -1,2 +1,4 @@
DIST memory_allocator-0.2.0.tar.gz 22165 BLAKE2B ae49ff6893f4202214823dd5b1bdb0dc14f7dd4a5750f5a537770c0ecb879b6abdcad9bd0c4b1e0ed460b9d17542d6d2bb38936632a3e0db683d7896179a9981 SHA512 5c7dcedc347027f4918763ba5312f7994f90aff61fd44f17f1850f86f3aa0bb08d49fddadfb6555c08c52ac9c346e10c140dde3653f9c17c85dbea436ebeec13
DIST memory_allocator-0.2.0.tar.gz.provenance 9501 BLAKE2B 0ef75267c5868b5b764a52d49b889772245bf276a32dfc4331f9f5efe70db703b964a0b6b2b504c32f76349ce40aaa64f99c466f79397e1aaa0bed9dbe348434 SHA512 15e92d597015c33ed093cfa4b21445d59aeac8e7321162f89975fd45f6d6dbceb721aa11203bc1f5db4b9609f7e83bacc02676249b19672ff5ab8987628e94f4
+DIST memory_allocator-0.2.1.tar.gz 33501 BLAKE2B 1707d1192d298d4ec9be0eaf7c56fc197c09c00fa56218fd14d41eacfa3caae4b64d908498d13ec70b18b8660a9ca7bc270d625ec7dd4d8ba5eec0f2937110aa SHA512 e9455289b9184b14a9d3ea97e35f64bfb9368151a021db8b1a9190bc864fb1f8176ba2588b56f0c0f60d4667f3707b7f25542f6f02556ff125ca496926e4e4bb
+DIST memory_allocator-0.2.1.tar.gz.provenance 9855 BLAKE2B dc275089667f4bc1aabb4b74199ccdfda3c95b8be9b087b00f3e6f0da2881480623a7fe5a4f30b97bd9f202b8ffbb07cc0739f1392fa8313099a53101f3d72cb SHA512 942a135b63bfeee0b2558cb97c6406420efa95ce5199a428ee1194025e6f7665488fd98f65c807ba5c6c5b8f64d4c2fcc609a8193e511342a1e9749127ad131c
diff --git a/dev-python/memory-allocator/memory-allocator-0.2.1.ebuild b/dev-python/memory-allocator/memory-allocator-0.2.1.ebuild
new file mode 100644
index 000000000000..767e6b89b6ec
--- /dev/null
+++ b/dev-python/memory-allocator/memory-allocator-0.2.1.ebuild
@@ -0,0 +1,36 @@
+# 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
+PYPI_VERIFY_REPO=https://github.com/sagemath/memory_allocator
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An extension class for memory allocation in cython"
+HOMEPAGE="
+ https://pypi.org/project/memory-allocator/
+ https://github.com/sagemath/memory_allocator/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ # The test script tries to "import memory_allocator.test" which, so
+ # long as a memory_allocator directory exists inside CWD, will look
+ # for a memory_allocator/test.py there. But there is no such file;
+ # the "test" module is a compiled extension. To let the search fall
+ # back to the correct location, we temporarily rename the directory
+ # that misleads it.
+ rm -rf memory_allocator || die
+ "${EPYTHON}" test.py || die
+}
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 5176bbc41879..7da2ad48ff96 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1,2 +1,3 @@
DIST openstacksdk-4.20.0.tar.gz 1440710 BLAKE2B 882599b63bf119aedef1eef1729e09dc775f66459bd924d1072dad30f468f81eebf6908e2661ad1a5d1f4acdd6d473925ce0aee5d129fcc2570c399ce156f032 SHA512 a22bc39707292c7d6d741d434fc79866ce46868bceb2c0ccb729cfd7768d535ff5afcfc4f432cfffd6a064fe3763a79e7dc4c67580108d7cf24bac2a59d4f5ea
DIST openstacksdk-4.21.0.tar.gz 1462515 BLAKE2B 3a26d7453d53f8c07e954fd8a4d40f29bd0ca4486073ce0d993c7428ae6dbeb049ff87eebe072b1ac56e4c30648fe410751bb73cf1c1169cafd6156534a1b93f SHA512 65cd90f30cf2ec39c9567bd2a271949679009ad0aa7493f04789364da107fd7ffe8eb9cabe8c38e25f892f012270ddb314509bd202fa97d885fc7a0c1e848ddd
+DIST openstacksdk-4.22.0.tar.gz 1473175 BLAKE2B 4e0fec14c415833ac17eeb155e6cc3b9d2f25372943068c4196b8038c86b7a2e270bf56b00077c71fa0e8eed59de330c28c94ecc666e0b1485d711399b1a903e SHA512 abf30745252960e09c9dcd91b93d2a726f46a43a0815b43dce1ff9952860081cd21d00e13aba70d04e987b3393d9ed32e03750ed0795dfcd63fe119c49169749
diff --git a/dev-python/openstacksdk/openstacksdk-4.22.0.ebuild b/dev-python/openstacksdk/openstacksdk-4.22.0.ebuild
new file mode 100644
index 000000000000..fa6f0e03f863
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-4.22.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-5.16.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.8.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ # stupid test checking if they pin to the newest os-service-types,
+ # except they don't actually do
+ sed -e 's:test_ost_version:_&:' \
+ -i openstack/tests/unit/test_utils.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index a06af96ba267..cd7a3c622325 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,5 +1,6 @@
-DIST pandas-2.3.3.tar.gz 4495223 BLAKE2B c31604617900d439020dcdd66fcbca1cf3b720b6f4dd8ea51891946ad04774754cf7636a2ffb9fe746d15911a88153d36d4033b6a0207e9c7a1653a0f677570d SHA512 4179acb9fd9d1c5d543bb19b22483b4c2b17a36d5b10270a02ff4d8370b43c16a93673bf5509a5b1d1c960c0fde9238bbbf5b309c6745d2abf3d934535f3fd85
DIST pandas-3.0.5.tar.gz 4658219 BLAKE2B caf76801d7cac5441f7170140ccca57e3bfb808a2c361673e50c36afaf4bf4fbce1269417d80942ae1c04f3dce5b53d66d8655362ab48f10ba52b7058365bdf4 SHA512 d082483edff92dbe61143681d270cc2ae7031ed59f8851e90e69a0139f988d57dfe0ae5b32ca829cb5912fd202db7c8a3dfe59b986068a983779184b454bc5ce
DIST pandas-3.0.5.tar.gz.provenance 9718 BLAKE2B bf91942df1291d46668b5a816fadd82ac32cc6c3e2158234cea1b694c569c3d873514c77c4e43fd06ff22e2c2a60c77f6e38ab327ee798899dfa45807ebc6836 SHA512 ef940be2eba603efa97f90aefa32056a7b17fe5b572a7bccb42e553a0233afcb4b171772844ae5cef6cb5fcab28847dbf1a8360b2df8555866b7b384f9e27289
DIST pandas-3.0.6.tar.gz 4667686 BLAKE2B fa795b568ffbbe9658d5cec86a486e305b55f441acb1f4072a30a8a3f7d89f70911446a464b843311a363528893d0ef47c33045a1ce08e76cdcf3c298d32bbe8 SHA512 c32db3156140e18fdb341a8e52acca4582e00affc9bfe0adce8804327b32b7107be0ad1905d4cf4184b02fec9eae5f6fee4d2082e0b032e42686b4bae388823a
DIST pandas-3.0.6.tar.gz.provenance 9861 BLAKE2B 70208ea798012370a177fd9372a9ebc67ecaa54548c588a46233f75d11ee3644bf41990277af8c450a3dadf13ed3ea2c3720fa1959cbc8639d1b9ab47737f9aa SHA512 7bb9e31bbb603029677c354d1b5b241cc5510539485aef733f8564f87c4ec6f5ea844dde2a00a85ed43e852518fb486094f353190d06a82ce5b50a6d0f6b0642
+DIST pandas-3.1.0.tar.gz 5933421 BLAKE2B 4560b0e68029dedc1d71806d3d9710900eb2e50dba619df1000d53dc6e382269121318547e7bd9c75942c84105abb841467d61a55b28480aa8e449ebf8895a2a SHA512 dce2da0cc687e1ddb70eedc0a765b2ebe448d6bff62a025cdb51c2e89f52ae9396511939d17d09d507de35e12920ce81d9ff487fd84cb5b502575cc0aff1f023
+DIST pandas-3.1.0.tar.gz.provenance 9678 BLAKE2B 31f21e78e61d96b1f6cff5b22c1eb6dfcdbfafbd38e4aa301fae8ca227db9f2a6a9b11c1032f54c1e5f20a61fbbe31d277b6768e52d34e348f5bf5845c0f22db SHA512 120679f0cc6374d55414f54c83458298197d6e1109b04435d1165414a5215813049e92b26612964f9b53d5a4350ba55cd158405af76aeb105c4007f2d1615180
diff --git a/dev-python/pandas/files/pandas-2.3.1-xarray-test.patch b/dev-python/pandas/files/pandas-2.3.1-xarray-test.patch
deleted file mode 100644
index 666215fb8f80..000000000000
--- a/dev-python/pandas/files/pandas-2.3.1-xarray-test.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f71316724d8e3aeb3ea46b0cfe84c4c5aefff3dc Mon Sep 17 00:00:00 2001
-From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com>
-Date: Mon, 5 May 2025 10:55:36 -0700
-Subject: [PATCH] Fix xarray failures post xarray unpin
-
----
- pandas/tests/generic/test_to_xarray.py | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/pandas/tests/generic/test_to_xarray.py b/pandas/tests/generic/test_to_xarray.py
-index 9b589c9348..c43645e173 100644
---- a/pandas/tests/generic/test_to_xarray.py
-+++ b/pandas/tests/generic/test_to_xarray.py
-@@ -53,9 +53,6 @@ class TestDataFrameToXArray:
- # datetimes w/tz are preserved
- # column names are lost
- expected = df.copy()
-- expected["f"] = expected["f"].astype(
-- object if not using_infer_string else "str"
-- )
- expected.columns.name = None
- tm.assert_frame_equal(result.to_dataframe(), expected)
-
diff --git a/dev-python/pandas/pandas-2.3.3.ebuild b/dev-python/pandas/pandas-3.1.0.ebuild
index cabf803d7299..89066cfe8911 100644
--- a/dev-python/pandas/pandas-2.3.3.ebuild
+++ b/dev-python/pandas/pandas-3.1.0.ebuild
@@ -5,6 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
+PYPI_VERIFY_REPO=https://github.com/pandas-dev/pandas
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="threads(+)"
@@ -21,7 +22,9 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv"
+if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~riscv"
+fi
IUSE="big-endian full-support minimal test X"
RESTRICT="!test? ( test )"
@@ -56,7 +59,6 @@ OPTIONAL_DEPEND="
)
X? (
|| (
- >=dev-python/pyqt5-5.15.6[${PYTHON_USEDEP}]
>=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}]
x11-misc/xclip
x11-misc/xsel
@@ -64,17 +66,16 @@ OPTIONAL_DEPEND="
)
"
DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
+ >=dev-python/numpy-2.3.3:=[${PYTHON_USEDEP}]
"
COMMON_DEPEND="
${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.9.0[${PYTHON_USEDEP}]
"
BDEPEND="
${COMMON_DEPEND}
>=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.1.0[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
test? (
${VIRTUALX_DEPEND}
@@ -93,7 +94,6 @@ BDEPEND="
"
RDEPEND="
${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
!minimal? ( ${RECOMMENDED_DEPEND} )
full-support? ( ${OPTIONAL_DEPEND} )
"
@@ -102,44 +102,23 @@ EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest
-PATCHES=(
- # https://github.com/pandas-dev/pandas/pull/61331/commits/12b1d00622ffc8b99986da2f4478cc2df4da213a
- # (partially applied to 2.3.1, sigh)
- "${FILESDIR}/${PN}-2.3.1-xarray-test.patch"
-)
-
src_test() {
virtx distutils-r1_src_test
}
python_test() {
+ local EPYTEST_IGNORE=(
+ # missing test data
+ pandas/tests/io/pytables/test_compat.py
+ )
# Note; deselects relative to pandas/
local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
+ # require -Werror
+ # https://github.com/pandas-dev/pandas/pull/63436
+ tests/config/test_config.py::TestConfig::test_case_insensitive
# deprecation warning
'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
-
- # requires -Werror
- tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
- tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
- tests/copy_view/test_array.py::test_dataframe_multiple_numpy_dtypes
-
- # probably pytz, doesn't happen on main (where zoneinfo is used)
- 'tests/arrays/test_array.py::test_array_inference[data7-expected7]'
-
- # random warning regressions?!
- tests/test_expressions.py::TestExpressions::test_bool_ops_warn_on_arithmetic
- 'tests/series/test_arithmetic.py::TestSeriesArithmetic::test_add_list_to_masked_array_boolean[numexpr]'
- 'tests/frame/test_arithmetic.py::TestFrameArithmetic::test_binop_other[numexpr-add-True-bool]'
- 'tests/frame/test_arithmetic.py::TestFrameArithmetic::test_binop_other[numexpr-mul-True-bool]'
)
if ! tc-has-64bit-time_t; then
@@ -176,16 +155,8 @@ python_test() {
case ${EPYTHON} in
python3.14)
EPYTEST_DESELECT+=(
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-numexpr-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-numexpr-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-python-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-python-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-numexpr-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-numexpr-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-python-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-python-pandas-not in]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-pandas]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[python-pandas]'
+ # crashing
+ tests/resample/test_resampler_grouper.py::test_tab_complete_ipython6_warning
)
;;
esac
@@ -201,7 +172,6 @@ python_test() {
--no-strict-data-files -o xfail_strict=false \
-m "not single_cpu and not slow and not network and not db" ||
die "Tests failed with ${EPYTHON}"
- rm test_stata.dta || die
}
pkg_postinst() {
@@ -217,5 +187,5 @@ pkg_postinst() {
optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pyqt5 dev-python/qtpy x11-misc/xclip x11-misc/xsel
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/qtpy x11-misc/xclip x11-misc/xsel
}
diff --git a/dev-python/pycparser/Manifest b/dev-python/pycparser/Manifest
index db850e8a4197..66127e69f35a 100644
--- a/dev-python/pycparser/Manifest
+++ b/dev-python/pycparser/Manifest
@@ -1,3 +1,4 @@
DIST pycparser-3.0.tar.gz 103492 BLAKE2B 20415045953c72f2aa90f1edd2dbace57958dcae74d8ce4fb5676576e30fc94c3657bbb3f688edaa082263844b0fdb98ef0acb2c06825accc81f52270909ada1 SHA512 333504ef076e369661823abcd1d1f0d4e01ebadd43b7039e403d80fc2418500c2ed2c42e7b997c6eaf9c56b16085dfccacc6d0be2d45f0033a90eac1a7ed49d0
DIST pycparser-3.1.tar.gz 105946 BLAKE2B 1e38c8d5bb84c509cd1fe43356262e9a3823f1645bbd07dda54ce89068758374b22d0aa16549f60d4638b917c4a96d7c5bb09dec351af5c3042b6d31d640dc7e SHA512 8041586d8bd7f993cd0cbee7bcf22c03224459ac853580fc70b590607d014ef750ac75c598fb7829979d9d7c4c05b2278b4346fe09904cf42c224134c3499f1f
DIST pycparser-3.11.tar.gz 113796 BLAKE2B 85b3d20e8f4547f03d93c05287c3bd298b913a512033799a9960225718e3c00590686245a8ac4c00311cf0fa55833c0e3266712b7bffa4baa1d972b70748d834 SHA512 6f2be578e646438d8c451cdbd19a97741e6c6cad05f608376f2bae40435afdecaab95d1aa2fa6b9dc7ffc010597c294dfb32154859557c77533e55bc1ddef82f
+DIST pycparser-3.12.tar.gz 158785 BLAKE2B 4eeb8909a2e04646fff0109e880e9174c7bf0d400e15f9bdc88cff6ed64f8c75df77c6515d33fea4760f4418e271b5325ad1d85480490791979a4ee15a7ffa09 SHA512 59ff647f5e902b275b53e9abfad84d1791832be49800ffda82115dd12d0fa780800c163cb12109e247bc6507fa9d58a585edf46e7a614e820c8d0b4335d60a06
diff --git a/dev-python/pycparser/pycparser-3.12.ebuild b/dev-python/pycparser/pycparser-3.12.ebuild
new file mode 100644
index 000000000000..772d3c84cca5
--- /dev/null
+++ b/dev-python/pycparser/pycparser-3.12.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="C parser and AST generator written in Python"
+HOMEPAGE="
+ https://github.com/eliben/pycparser/
+ https://pypi.org/project/pycparser/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/ply:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+distutils_enable_tests unittest
+
+# c_ast.py is preprocessed from _c_ast.cfg, really no point
+# in regenerating it
+
+python_test() {
+ # Skip tests if cpp is not in PATH
+ type -P cpp >/dev/null || return 0
+
+ # Ensure that 'cpp' is called with the right arguments
+ # Tests don't seem to always pass the include they intend to use.
+ mkdir -p "${T}"/bin || die
+ cat > "${T}"/bin/cpp <<-EOF || die
+ #!${BROOT}/bin/bash
+ exec ${BROOT}/usr/bin/cpp -I${S}/utils/fake_libc_include/ \$@
+ EOF
+ chmod +x "${T}"/bin/cpp || die
+
+ PATH="${T}/bin:${PATH}" eunittest
+}
diff --git a/dev-python/pytest-bdd/pytest-bdd-9.0.0.ebuild b/dev-python/pytest-bdd/pytest-bdd-9.0.0.ebuild
index c6441efd8947..2a5e72ac3456 100644
--- a/dev-python/pytest-bdd/pytest-bdd-9.0.0.ebuild
+++ b/dev-python/pytest-bdd/pytest-bdd-9.0.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
RDEPEND="
>=dev-python/gherkin-official-33[${PYTHON_USEDEP}]
@@ -34,8 +34,3 @@ EPYTEST_PLUGIN_LOAD_VIA_ENV=1
distutils_enable_tests pytest
DOCS=( AUTHORS.rst CHANGES.rst README.rst )
-
-python_test() {
- local -x COLUMNS=80
- epytest
-}
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index f5148759981d..2bc8b6929f94 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,3 +1,4 @@
DIST python_openstackclient-10.1.0.tar.gz 994222 BLAKE2B 6b13897115e8f72113ff815cb120e0d5ff52edd7cd863d478f3c196fce005b149c1af39492306cac20278375d3bd20d6da00609398884d791f4695a226de3f75 SHA512 caa16f30705f2b5d8779f2513df3b50b2aabe1fbe986aa70e0e74e11f0b2026d0814224ddbc6541bdfe9c377e93d254671544ba88e2be6e0ac5c32d5b10b9041
DIST python_openstackclient-10.3.0.tar.gz 1044755 BLAKE2B 63b3b0fca0c3b0a9fb9c18180ed94bc7ef46b5ff49662a06c1c127d263959492ddeea6b4e578a82f89db34e34ee79ef610b8bb8a2406c4eaa0a2314f7afcbff6 SHA512 543e398cdf2234638e3dfbb224b5a1212bcc09132daa455a2436d8e4380669b008c15cc5a5388c677e335b5115f042a47703ad91ff568ac90ffb9323678f48b6
DIST python_openstackclient-10.4.0.tar.gz 1060775 BLAKE2B 6968e1ec42491565eb24e7dd4412f6669307a58e61b44d7882351f01386f922949c2a8a1bef8af578aeed27ffe38b65749dc4694b9ba1e40d9a1e7070391fc73 SHA512 9a43aa67678e60c8f7348c131cd2a83ed45c6605018d14bc5fa35f8c0891081a3bfd051a0832ecbecec983ec48700e27e73d76d8ad90cc769a9310327e944e30
+DIST python_openstackclient-10.5.0.tar.gz 1061432 BLAKE2B a6241ec52a4fbf442a402b5496a57211fa77068bf2f6199635656cfab29bf9bc5e920c42585178d7297a5f0101bf5e87ff3d6d181a0a99395aed58f32e57565f SHA512 1fd010ee3a5a382e7d83d1372851a04c556bd62d064606bfe8682679c661e84b5446821b91d6a1dee435c8b609aca76ba493d0ebeaea8e2bf8346cef78dfe157
diff --git a/dev-python/python-openstackclient/python-openstackclient-10.5.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-10.5.0.ebuild
new file mode 100644
index 000000000000..ea76c874d2a2
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-10.5.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cliff-4.13.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-4.21.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+ # we do not package hacking
+ rm openstackclient/tests/unit/test_hacking.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/qemu-qmp/Manifest b/dev-python/qemu-qmp/Manifest
new file mode 100644
index 000000000000..75ec345b3c59
--- /dev/null
+++ b/dev-python/qemu-qmp/Manifest
@@ -0,0 +1 @@
+DIST qemu_qmp-0.0.6.tar.gz 81799 BLAKE2B ef408e6cd6bf5209824e75dd1d942b7ec6e3e5d258a1052ed4ce3661d8ced53c45414849c509e46638b1dff61b0acc581475024e318d76e4c63e9f1b79913e1b SHA512 c7eba0dbb855609f1f423800f143453b77f9eb428d8d10c5648d3df96f2ab3b7e51b39863aa1094c7dfc45dd59c0ff605a0cd485e435b55353c0cb300c6cb552
diff --git a/dev-python/qemu-qmp/metadata.xml b/dev-python/qemu-qmp/metadata.xml
new file mode 100644
index 000000000000..b9e39666522d
--- /dev/null
+++ b/dev-python/qemu-qmp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <origin>srcux</origin>
+</pkgmetadata>
diff --git a/dev-python/qemu-qmp/qemu-qmp-0.0.6.ebuild b/dev-python/qemu-qmp/qemu-qmp-0.0.6.ebuild
new file mode 100644
index 000000000000..e10564824808
--- /dev/null
+++ b/dev-python/qemu-qmp/qemu-qmp-0.0.6.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="QEMU Monitor Protocol library"
+HOMEPAGE="
+ https://gitlab.com/qemu-project/python-qemu-qmp
+ https://pypi.org/project/qemu.qmp/
+"
+
+LICENSE="GPL-2 LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="!<app-emulation/qemu-11.1.2-r0[python]"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/urwid-readline[${PYTHON_USEDEP}]
+ dev-python/urwid[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "Terminal User Interface support" "dev-python/pygments dev-python/urwid dev-python/urwid-readline"
+}
diff --git a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r3.ebuild b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r3.ebuild
index 2c2627ef43d5..e51294dda039 100644
--- a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r3.ebuild
+++ b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r3.ebuild
@@ -21,3 +21,6 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390
RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
"
+BDEPEND="
+ <dev-python/flit-core-4[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/svglib/Manifest b/dev-python/svglib/Manifest
index 41372e81f8e5..b7891527ec3b 100644
--- a/dev-python/svglib/Manifest
+++ b/dev-python/svglib/Manifest
@@ -1,4 +1,4 @@
-DIST svglib-2.2.0.tar.gz 1373629 BLAKE2B 06d279719b4ce199e64f49e8db456ea99a95369b0b3fa03169c804eb616837eca3857493c44ff94cc98d0b2df73cb5ed7fbb89fa58a03180ea1f859f28b5f8d5 SHA512 b5c3927e25e7d21700b159acfa1ae34a211682d4eebf153886691eef353f30c51e63f1fd7d6103c542f7ffa8e8e5ea9d9bdb99caeb59003534ab550c1935ff1b
-DIST svglib-2.2.0.tar.gz.provenance 9901 BLAKE2B a6363bb67a49484233e6da127aab85a20052b283d19386cb7f1580312044e0bc54d92fcefb62974c87bc57e516aeccca43041ec6c2bf6156f8f4c47d31ca443e SHA512 f29f317168caf485deb0fc54b46e2cbfaf79c0ccc7ac7999e1f74b2a67a9922a5df7927110a04e44325e35b2093ab564b9c77939ba9df9c1c1729462f8251d7b
DIST svglib-2.3.0.tar.gz 1376107 BLAKE2B daf0b70d44be9e0bd23d1267ef925375da5d65479753c1908f79637cd9dd7dd2d45fa0c11d332aa745503b7b335ee27e31c15d7818d705f9ccb9ea4073f4dedc SHA512 3490e5c50c0b9ea81afa4bc60d37980969d56410fdf33f2f830e824f70669c6e2e37ba4b38cd48b3b4b75ebe3a2ef0d68da5cb880d3fa6fad68315c5cd8650f4
DIST svglib-2.3.0.tar.gz.provenance 10089 BLAKE2B 4b0776350b1295a753e2b86b211d4d5d7e039c2a5669d8fc826ea8695914be95a676f4d446bc92600a6bf528d8235a89bde8709cd591acbca1b2b5a37b85174f SHA512 fa37954c4d91181ddb964b6f7874790a570daa130e0357eeb57ba6e06d1f5886fc30af1ee794961b6412d9ddf6955c65f9f398f97b31f9e7a6940bf9b0f72386
+DIST svglib-2.3.1.tar.gz 1377499 BLAKE2B cb7d5e0c31008d02f0417d9fe82166b5505c38f95360702a5224bc317aaec11f0ef277c4774330f6a40cfb8b3b7a98e80e2c1021ac19e021a8a9d55c9cdd7357 SHA512 8cb5e98efa71db89b9b92fad52854eab274ebb349d462352f4caa2ce6a5089f38fe403a6464a60f07e577917bd0c154303c2d18b88f9a94d445c812a55eeaa4f
+DIST svglib-2.3.1.tar.gz.provenance 9789 BLAKE2B f44eeff7e8004a19ae1bd8fe6ebf2123545477cbb02a51906327d4d7c66979d34551f0358c96cf76e8321208a0caca6777697b0436738b5903688be811ab5353 SHA512 552c4249da11707382e3390a70ae47f20af31c0c6c1263e9e6f4ee760293d514600e7d324148f40d6aeb7de4e8b8f50619c3519344dc6807b7be9768baba388a
diff --git a/dev-python/svglib/svglib-2.2.0.ebuild b/dev-python/svglib/svglib-2.3.1.ebuild
index bdddbe8b3b5c..bdddbe8b3b5c 100644
--- a/dev-python/svglib/svglib-2.2.0.ebuild
+++ b/dev-python/svglib/svglib-2.3.1.ebuild
diff --git a/dev-python/tzlocal/Manifest b/dev-python/tzlocal/Manifest
index 664d582ed801..c173bcc2d8e6 100644
--- a/dev-python/tzlocal/Manifest
+++ b/dev-python/tzlocal/Manifest
@@ -1,2 +1,2 @@
-DIST tzlocal-5.4.3.tar.gz 30873 BLAKE2B 908ce9cd52df2d2c86d2d0d10ecd558ba441486e54b9cf02d1f7e7b32e7a1645d4875a858c83e8fab74c69557dfc854a5c95bad004f6705b8be1bd4d1fce04d6 SHA512 128068ea10f97742d844df9431ca6ccb0ddde974f8a0dce74ce86c792b079f3a0e9c441140a4f5889fa4bfea7f9c7fb91dda34c50e84a05998a0a6981e796b4b
DIST tzlocal-5.4.4.tar.gz 31170 BLAKE2B 5afb6a1f222c56bc85239c04ea9a01fdc891626b58973efc74d1b7a67f61dc66b410fe0946e85f935d0b78efcb8fe86bb06d42f978c8e03fb71f90a16f752d54 SHA512 2f6db2446f9a965e43e19d0520b226c56f0641eeb71904719b5f2e2cabf65b824e06ab9b9efd8dc20d431153d84c2b851f45fd037293a801ee2f43ae51e257dc
+DIST tzlocal-5.4.5.tar.gz 31483 BLAKE2B 2aba208194942205cad531998783bcb7eecd9f87f1cd9560f542ca04d0a7958366ccecd97c57c8c9b92803027cca91c57a1346e8483abe985825bd76a50aa74c SHA512 1985a3effa2227f85b4482b32c0d7dcd395edd0a549b4488f0e28763c69b66abc1220c13911db9fe4908775a02e1dedb2f72059607ca9f1412ea226026487105
diff --git a/dev-python/tzlocal/tzlocal-5.4.3.ebuild b/dev-python/tzlocal/tzlocal-5.4.5.ebuild
index 1f17b4f63a26..75762fd11002 100644
--- a/dev-python/tzlocal/tzlocal-5.4.3.ebuild
+++ b/dev-python/tzlocal/tzlocal-5.4.5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest
diff --git a/dev-python/unicode-segmentation-rs/Manifest b/dev-python/unicode-segmentation-rs/Manifest
index 1265d06bbe1f..e5645e2526b2 100644
--- a/dev-python/unicode-segmentation-rs/Manifest
+++ b/dev-python/unicode-segmentation-rs/Manifest
@@ -1,24 +1,28 @@
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110
+DIST libc-0.2.191.crate 855401 BLAKE2B 04788709363e27f063bd30d2e568d27b8a217d2702ccc32c28ac0f82c5f786e534f053d9133aa086d2186c060724adf0bd2c6fdf705ac6cde563561ecaba4e94 SHA512 f90bff0e667425a6680514097c44ad99454dfe9d2bec02a72633e94f300a6e39cba0a7887a7124ee3c2235d41836faff706649fa86b9970df7a7f72a460ea964
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST portable-atomic-1.14.0.crate 200703 BLAKE2B 2aafdf454dd417cf7a3ff7ff72cca1bb1274918b8b15a0b1ebd4feadc4bafd87544938c26e001e1bb417aafa641521dba40a36ec50db59d03bbdc04d855635f0 SHA512 4c306fb2767b1689be65e57552260c2367f37808d0a32affafa21fddacd330c7735b0c3c8fe456fac10c4088ca5e8ede980b6d6da2171fadb682b925ff9a2c63
+DIST portable-atomic-1.15.0.crate 202705 BLAKE2B bf956c2bf08953b0ae1384d5c1703edf12c4a9b9d1f035b49043f4fb5e0a1ad005263affaf02331a77f098471fe2da8eee7b16861c33df9ef0d76444c614e291 SHA512 257cd168d0362b7b1d5e6ed9032cde9b0ac6e69d90b7e27347c39702a5ea020159c271e37e8045cf10661170f9354638791cfc972587bff3cba01da137f5a2c0
DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903
-DIST pyo3-0.29.1.crate 1254237 BLAKE2B 6750e917cb1c0caa196784890644f020ac68ae644adc487bfd908e54844b28032d3cd66a8312cfce860418ebc31ec2515fcd332d79cf23487013fbd72e47b98d SHA512 d3b8c94a0e73fe74f64bae89bc9ab139d48b37a128f3f3d843b4414441a79716117dd47ebcc3f6990c50283071a72a372a4f6c731c846cf107c714442a164b67
DIST pyo3-0.29.2.crate 1255741 BLAKE2B 5187b7dc0f0b2b1441b451850f442a9cf7b8e65baab3c94996be80e39543350ce8739baccb2df0caae1049a4cf744274e4ca9a9d752887d09df5c03e380d42b0 SHA512 85326462a932fd49441f320a879192306a7a6f3a66468ca468fefdb3dff9a530b7895010f156c8c3b125279b94dd304b72825fd4bbdcaeba8e3a58bd8cdcc929
-DIST pyo3-build-config-0.29.1.crate 41344 BLAKE2B db2accea141aeccf208dbcb8569de45c35d8c1f91c33fdd221a54675f3911b922d29e46aeefade60a06ebe9aaa0f30817628847f903cf7aa1088b932b2ce0e87 SHA512 cda7b88d6089530b85cf22eeb073471e988a3ede5963dbd51be6878baa5d29b64edf1733ab5d6057d2da470b6279569dafc800e0195f574499ab0c5022d6bca2
+DIST pyo3-0.30.1.crate 1345706 BLAKE2B 42f28e632d23a90b6e1ec4eae54ee17c1c75312f3f53d896dcfc43e047f0fe72d94e33c793f47f108a5b3c98885bc78d978e347a68f771d710228c3e1d97ba9e SHA512 68799fc448f68b204d4825ce4e1a0b000febf18d968740fa9f94df9507b3a2697fb1c4b642d88ad1f1fb2b214fcd1b9a3a8089eccd8b0418c08b4ae69b7bfdec
DIST pyo3-build-config-0.29.2.crate 41104 BLAKE2B b4a78b704ae7c6cd8393abd436fc5d4e9f984ad6f4c95f1fd069888865a516f1a65eaebeecc7bb61e6a0d62d637ff4312a8d6a31f2dabb262d0f3c5177abdf39 SHA512 ecae961c373a87eb13ed3881ac4954112bbf54b3e02eb287d818e44e5ab46cd4700220da5072dd1fb22d68435d012a413a3680b54505c700ee059f1472833b6a
-DIST pyo3-ffi-0.29.1.crate 89131 BLAKE2B 466eb3253c2dd04b784c0c221fce0e1a380f1b6bc4369185c9bd09359c8f6030c18fcba8c9a4ca461acedf666a2a226c1249c79bd04ee4791e0f2a21fb9436a8 SHA512 1f13dfc3a39a2a731baa7ffcac1d6bc107cb622f0bfaf37ca5a20f65948da11acd073cb9d293503ff73bacd91f2e0537a665aae0a14bbf2785b516c7c85bd6f7
+DIST pyo3-build-config-0.30.1.crate 42996 BLAKE2B e49f6b13e5a4379f3a0db2c305a96cd0b19955f22b3fd08fba4373a1ec886847abf619beddb7fc111e99bc174b47211d9de68230db8ea03e12e534bb5ceab7bf SHA512 9801d582931f1d6b835792ffa04439310544b068c9f94f1329487328d43010646dd81233575a4338c44e7fe86714a579186c04ee07604b94f8af5066730eb699
DIST pyo3-ffi-0.29.2.crate 90029 BLAKE2B f20803f6866a99767ce814984cc624783c2207ab54909deaba0a674c3c8f3e98c56bac80e1ea0e13b295634b0c6a713bd961b6c58aacbbc3be5fa9e224ff86e3 SHA512 a5b1db7e856af10f32ba3ce6a4dddc48a11f48431b82cbc1e40be88370836902afc9ab2918eb953d7fbed1ad7daaebefdf70489c7c798e591782e7dd6e2d0ddd
-DIST pyo3-macros-0.29.1.crate 8916 BLAKE2B 0d8bcd79a9547f0a42f87399c3e0eb21444065fea750416050ae336db242de80e41a9bda157feafa3f40317e4b163cfd5193250a5dbc2dd8a1ab18b0f3d3d67c SHA512 09e7dca8ef73ab572bb71e78f6edcd786b769813e7b8758df17669292e8218ed5c4f4536f6809ba0c58fd49837f22af5181d034de556b0c98f21b9a69484a716
+DIST pyo3-ffi-0.30.1.crate 93717 BLAKE2B 383cac05d9e768c9059cfd5f714e30848c87584bfcb0b8e421805f2da9f3b5a9a3f27d467cf9432b0f41b68003f9141dfdfeb29cdb1248cc68b01072dc01ec34 SHA512 32945d4b6f08723ae1129810ac71e12f5dc9c5de3710cadedb91bba17cbcf21acbf269598241117b45dc36141d28e6d1a58f1c07957b8664de62e991f30c82e9
DIST pyo3-macros-0.29.2.crate 9044 BLAKE2B f7caebd70dc9f54914d1d87e4c800f7bddc5d1e09835b0afd96e1f98320127660aa38f58b634ca196d823c926e279bf87c17506161a61bbae0908c51fc3b7eef SHA512 32281797e849ccb23c0ba03f8bea13ffcd86acfc3d5df65543c13befc03c142e88bfaf45f0cf5489cfe9e6acf9170ca6c24ced5d3f3f72be37bc7d2ce2bdb935
-DIST pyo3-macros-backend-0.29.1.crate 93202 BLAKE2B 2a76e0a701830866f6f3031844c1c81066e1b17b20a4d4f688173cbc789c26cd5da54a11af6dbc6153f73e5c72d7e808625ea46dd446be43e633afaf439f844e SHA512 1b3d8e81506c78a0b91d2fbdffc2aeef1752cb6b8d9c8b70e957e898dbb09c395d2e1176f8d9da89b3305391315f9945ae2252ce485f649c57df215a740cde72
+DIST pyo3-macros-0.30.1.crate 9055 BLAKE2B f49eedcd8922df4e0b9b0e119a6b5d06be3afe3f0d6d3fcd332716aae593fffc8fea94b02a4de7410bd678f7ab0ffb499c3e11bc45f72c2d8fa4e41c400dca9b SHA512 26f3b4d1aa86da4a305b01d780ce7de3359d3bfeadcbdbb39b9803d0a7634cf3611dfd5a285d21e97d51f61a6c590fdef8ddda45ec9abe870575519e6bbb4f33
DIST pyo3-macros-backend-0.29.2.crate 93749 BLAKE2B dce6aeef93fc8483dfffd5b514d21530ff499f241ac157e2ea304c8cd050e9fc1343d356a5a85dacb8a73d4d4405b89b4eab128f85fac54aa00f53298ab409a5 SHA512 944b8482e2a6fd0dce82eabe50f915d82b066cf11944e413ab81c01fc917dfe1877748cb8eb92f23d8acee43a9d1fb35f8690203ec440e7db7c66b03c7f27358
+DIST pyo3-macros-backend-0.30.1.crate 97593 BLAKE2B 6ff2e6e445f40b15ab8347a13b4786359875d16621ada11c0b8a5fc0efca84e306f95c1f2d5e87431bbd6303ead0d80aa469e3c53e0cb4360d6ea9524e0c9eb7 SHA512 29f96ff877d55ea3141435a30b8482743590f2dfd3fd9d24291cba8c834148cc2e0790125c8c0c3af650bf1c9b5e521a1a2ff3874dfa58bb3673dc11876ddf89
DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441
DIST syn-2.0.119.crate 307407 BLAKE2B 0be3bce1250db4818af7246a03352ab50faeca02b81126fd623bd473d7223693f43914e88e07baa0d7fa5473192e390406165f83e00dbff048c1ea373085eced SHA512 4f2493e334b71c2b0c467e19915d385942c10dc4c0142dd989dcfab9809dea552c45ac3da0b0039956a961f7aca2973c0845c6978e9dfe25c03fdc52dfb1dec0
+DIST syn-3.0.9.crate 313970 BLAKE2B 63ba393b429909b75de710e1da70bbf5b5d4ba76917786ae5ac165ad57806a02b54af3fb7eaa5213f1e59e086ddf6807f08d4e37de2fc4b0a7270a290850fa91 SHA512 94ff1cfd429e4ca9c3a72c7e7012c5ccac2178134d4fb82683601bf466094e6178dd5bbc558e973a7f03e890e4e08cf8622dba2a2898fdde608a33b244e42cc5
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 unicode-ident-1.0.27.crate 48807 BLAKE2B 2f756c8e8a8a4653e616e15c217d72a01af3e6538105c6cfbad6e89b1cf6bb5ba591855b5b7580989b44eef37279789a550331778ed924ee4906cd68dc8d2aa8 SHA512 c952d72be2eea9d70114072a1aabd17573ac672e23f3a549d2a2b6375d14215eb1f0a2dc00c89819eb40f26341a6e24c54cb7be1fe92494d9c01b5941ce25670
DIST unicode-linebreak-0.1.5.crate 15324 BLAKE2B dc560d5b36ed01357c22750feb7f09fd0f57fb0ea543180f6e31c0b71b51df4faaa70ac8482f9cd60e5d1faa5bfd4bebfbfd628dd5913c2c4a858ec04beeca3f SHA512 f37be2f7b04b886e95bb7d0f33bd392b78bb940ef9a01cec487062cf31ec0367306650fad7004df556887a324c714eeb28f697044aad9a429ce07b7b7344af60
DIST unicode-segmentation-1.13.3.crate 112325 BLAKE2B 4767480bbb171eb9f9cb026c4101c7db58f37ef3d0ba12233c612392b48e1c63efa61e66c321a4bf772dca214794906cfc82bafb87e59a755bb164b0b2304c45 SHA512 927f3d2662c40213c6d824c410e3559f180fba5736abdea566ad9f3ed357c5a82f84f63e7fb89c6b18dfba2903d2dc43663b79d0b9f7672a42926e0ba49c85d1
DIST unicode-width-0.2.2.crate 282768 BLAKE2B c03a04bb159969f32447c7823f50b2686c515dff4f7778d2cac07a87cb9488d44844b0bb0b51c6996d8fa1fcb65cf4e6a8a9e697d95c1be8373535bc8d7c4215 SHA512 a0ff6ccc1d154e5a100808d3109fe30afa048c3ff402f0a0de34dbff2d58a7403903002185b33bee7b04dcb578c9dea66225a8697f3cd997205680ae3abce965
-DIST unicode_segmentation_rs-0.3.2.tar.gz 33325 BLAKE2B 2d1d256f601c0259367977cad16ed6e5fa21f4552db162277e6787d9955fdcccefea85cfda24dfecc44a192ee71e6adce4138724d96fd96e33203a7adef0a365 SHA512 1f798391037d4a263e9754d4a4aa3da23147a53fa2dd1cee67f2b335737225d19870457917fb9df18f6dfc60797fa567c3fda495ef771e340ce1c7c44c162f74
DIST unicode_segmentation_rs-0.3.3.tar.gz 34805 BLAKE2B a7b33a913aa1f02fa3fdcbe5154ebe9cdeb9d6e025ef92aca683088092dd32a73d3b8f0a5f4f62b0bd7e260955485a461420f6df87e81574eae97678ce9335d2 SHA512 3686035a5d4810d55eeb13912a0ef6cc7a1ac78e93a243bc13873a89fdbce3f0187e77a0f166ec1a73576b7da59fc5fff377bda176a043e767ad2140a5282f16
+DIST unicode_segmentation_rs-1.0.0.tar.gz 34796 BLAKE2B 7addbece2e90f4f52a0b1765bc8bbcc40dc31ed7d60f16d91cd7871dbe2d42032bf855b2dc7a4dcda6ec5d4e767db6a48ba31e2477ccecb8daf0c696d631e6d7 SHA512 0e707dbca4da659061b864c04c096bbf5685684a41c4ed46b080912711e38ea85c0033d38d68e84f7063325ff279e62753d6e13c04235d603b077b96c93b36a7
diff --git a/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.3.2.ebuild b/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-1.0.0.ebuild
index 7af31826aac0..9a9d655c5735 100644
--- a/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-0.3.2.ebuild
+++ b/dev-python/unicode-segmentation-rs/unicode-segmentation-rs-1.0.0.ebuild
@@ -10,19 +10,19 @@ PYTHON_COMPAT=( python3_{13..14} )
RUST_MIN_VER="1.85.0"
CRATES="
heck@0.5.0
- libc@0.2.189
+ libc@0.2.191
once_cell@1.21.4
- portable-atomic@1.14.0
+ portable-atomic@1.15.0
proc-macro2@1.0.107
- pyo3-build-config@0.29.1
- pyo3-ffi@0.29.1
- pyo3-macros-backend@0.29.1
- pyo3-macros@0.29.1
- pyo3@0.29.1
+ pyo3-build-config@0.30.1
+ pyo3-ffi@0.30.1
+ pyo3-macros-backend@0.30.1
+ pyo3-macros@0.30.1
+ pyo3@0.30.1
quote@1.0.47
- syn@2.0.119
+ syn@3.0.9
target-lexicon@0.13.5
- unicode-ident@1.0.24
+ unicode-ident@1.0.27
unicode-linebreak@0.1.5
unicode-segmentation@1.13.3
unicode-width@0.2.2
@@ -43,7 +43,7 @@ LICENSE="MIT"
# Dependent crate licenses
LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions Unicode-3.0"
SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
QA_FLAGS_IGNORED="
usr/lib/py.*/site-packages/unicode_segmentation_rs/unicode_segmentation_rs.*
diff --git a/dev-python/xvfbwrapper/Manifest b/dev-python/xvfbwrapper/Manifest
index a8d342a382f8..7716719af18c 100644
--- a/dev-python/xvfbwrapper/Manifest
+++ b/dev-python/xvfbwrapper/Manifest
@@ -1,5 +1,4 @@
-DIST xvfbwrapper-0.2.29.tar.gz 12853 BLAKE2B d6d931a9742e29e34bc1506da2121c67eaf3bbcaa61f2c14c61fc2a7baaf4424949f836248917903264a7f64c425e8f20a6fa631a789fbff4a0c071a8d59dd47 SHA512 c546c7db922dc0027450a9526e94102cdcc0ac322c106574fb35ff70315daa6b4c1d1319aa240259fb1574af129227835cd3a0670dccf89b5d81f6e7b9a643c5
-DIST xvfbwrapper-0.2.32.tar.gz 13308 BLAKE2B 2bc2a5d5c681a7ff898c09803b1fd16c8550bbd0871705ac950c0daec64df58525dc249c3d475e28266d0ea3fdb6c0b5d0c681fb9b4bcecca8846dad7db162c1 SHA512 0c4cf35816e325de2688b3781d4a96518d97ac1c2654a5c422ac5787bf6306cfb3af2b57a526823715286c0cba0a0b3b02694c29c14995f5f5ff59a189b2e802
-DIST xvfbwrapper-0.2.33.tar.gz 13488 BLAKE2B c0d8ab22efa27c0d20b6b77499e0f10a260b3ae1f533a714d633c9542439c550deb33d237a9a44efb2a94096702de28e07ae306c1ad238fb468ddb73e4116c8e SHA512 2898cd60db19823fd0cb482402e5dc243fa5188bdc7029e27d9b900251fb8822b9aa7b1a5e8e8649b10986c6f6a2bbaa3457064ad680e6a406283c42c55e779c
DIST xvfbwrapper-0.2.34.tar.gz 13264 BLAKE2B d1ec1808f0f6824397cff5d75ded199c9e578aa129593088a15a121a473afd4bafdc08edc44a49988f49f87534886a0b282bf257f9eba9c2412b3d0228b61704 SHA512 ae94b449e87b4136e058ad30dc7e02de5618cf1bffb7bf5cba1d2fc4e653c96c8d2626792860375e4c25c98c39233e2e3374aa5509e99868d7378259473fad3b
DIST xvfbwrapper-0.2.35.tar.gz 13322 BLAKE2B 9b1593595540599da3f206560dbdbd045126e20d039d749d564197e4042d28378ef7be653a896d8930bb5915b7f8c94eff00f738d196e60ac6dcf4cf55779687 SHA512 36a3962f122ec1de2b44f488012d8999f3c0acbff6593c9f360940073c7c3cb79286612d4ee4b7b80add4e30d6f8fac444e9862abefd56823949f04f9c9a6e25
+DIST xvfbwrapper-0.2.36.tar.gz 13505 BLAKE2B 00f57d66dcd20037376dca11016454475a6a3a4f6322d21dc5f46c7619f387b158c4ea17e8b4a0fac3f4a0a10e289bfa9fb7c08e6f5d035a168d9c5cc31f47f6 SHA512 138e304025f0658817ba07cb57ee225b747ca5673b03635891961efe00673eb4da3379e9275898928413573e14e60ab96686be9f0268f4b2ab494c6a859753fc
+DIST xvfbwrapper-0.2.36.tar.gz.provenance 9683 BLAKE2B d78fbd4c0732b89ba4fcd6d78e3ece24fbebbf058db963cb59a3bff585de4bfd79cbcfb9205f72bef1e9e9601655a6204f4006d579bc9577fd57ba3546767e8c SHA512 be45dc2eaac66088c8a720801a285fd6a36504beeef607f0179a287a81b57b50945c457687d02759491431cbe12d9579b06b9f12bedd0e260fdca0418a5e1a5d
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.32.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.32.ebuild
deleted file mode 100644
index 787856574075..000000000000
--- a/dev-python/xvfbwrapper/xvfbwrapper-0.2.32.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="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/xvfbwrapper/xvfbwrapper-0.2.33.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.36.ebuild
index 787856574075..a26a42efe3e4 100644
--- a/dev-python/xvfbwrapper/xvfbwrapper-0.2.33.ebuild
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.36.ebuild
@@ -4,6 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/cgoldberg/xvfbwrapper
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi