summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-05-15 12:59:17 +0100
committerV3n3RiX <venerix@koprulu.sector>2025-05-15 12:59:17 +0100
commit317f7ab04be81dbdfa5b1c9c42729927c5bde946 (patch)
treeb90afe9d6ef62b771a6ddb9eb1968d6338ccd206 /dev-python
parent5e9cf59ef591ef814092c1f6f32d2ef2369d3882 (diff)
gentoo auto-resync : 15:05:2025 - 12:59:17HEADmaster
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin275239 -> 275184 bytes
-rw-r--r--dev-python/a2wsgi/Manifest2
-rw-r--r--dev-python/a2wsgi/a2wsgi-1.10.8.ebuild2
-rw-r--r--dev-python/aiofiles/Manifest2
-rw-r--r--dev-python/aiofiles/aiofiles-24.1.0.ebuild2
-rw-r--r--dev-python/aiohttp/Manifest2
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.18.ebuild2
-rw-r--r--dev-python/annotated-types/Manifest2
-rw-r--r--dev-python/annotated-types/annotated-types-0.7.0.ebuild2
-rw-r--r--dev-python/anyio/Manifest4
-rw-r--r--dev-python/anyio/anyio-4.8.0-r2.ebuild2
-rw-r--r--dev-python/anyio/anyio-4.8.0-r3.ebuild89
-rw-r--r--dev-python/anyio/files/anyio-4.8.0-py314.patch124
-rw-r--r--dev-python/astor/Manifest4
-rw-r--r--dev-python/astor/astor-0.8.1-r1.ebuild32
-rw-r--r--dev-python/astor/astor-0.8.1-r2.ebuild36
-rw-r--r--dev-python/astor/files/astor-0.8.1-py314.patch99
-rw-r--r--dev-python/astroid/Manifest2
-rw-r--r--dev-python/astroid/astroid-3.3.10.ebuild20
-rw-r--r--dev-python/asttokens/Manifest2
-rw-r--r--dev-python/asttokens/asttokens-3.0.0-r1.ebuild39
-rw-r--r--dev-python/asttokens/files/asttokens-3.0.0-py314.patch63
-rw-r--r--dev-python/async-timeout/Manifest2
-rw-r--r--dev-python/async-timeout/async-timeout-5.0.1.ebuild2
-rw-r--r--dev-python/beartype/Manifest2
-rw-r--r--dev-python/beartype/beartype-0.21.0_rc0.ebuild42
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.38.16.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.38.16.ebuild67
-rw-r--r--dev-python/chainstream/Manifest2
-rw-r--r--dev-python/chainstream/chainstream-1.0.2.ebuild2
-rw-r--r--dev-python/cloudpickle/Manifest2
-rw-r--r--dev-python/cloudpickle/cloudpickle-3.1.1.ebuild13
-rw-r--r--dev-python/dirty-equals/Manifest2
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.9.0.ebuild5
-rw-r--r--dev-python/dnspython/Manifest2
-rw-r--r--dev-python/dnspython/dnspython-2.7.0.ebuild2
-rw-r--r--dev-python/email-validator/Manifest2
-rw-r--r--dev-python/email-validator/email-validator-2.2.0.ebuild2
-rw-r--r--dev-python/ensurepip-setuptools/Manifest2
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-80.7.1.ebuild20
-rw-r--r--dev-python/exceptiongroup/Manifest2
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.3.0.ebuild13
-rw-r--r--dev-python/faker/Manifest5
-rw-r--r--dev-python/faker/faker-37.1.0.ebuild7
-rw-r--r--dev-python/faker/faker-37.3.0.ebuild42
-rw-r--r--dev-python/faker/files/faker-37.1.0-py314.patch45
-rw-r--r--dev-python/filetype/Manifest2
-rw-r--r--dev-python/filetype/filetype-1.2.0.ebuild2
-rw-r--r--dev-python/greenlet/Manifest2
-rw-r--r--dev-python/greenlet/greenlet-3.2.1.ebuild2
-rw-r--r--dev-python/h11/Manifest2
-rw-r--r--dev-python/h11/h11-0.16.0.ebuild2
-rw-r--r--dev-python/httpcore/Manifest2
-rw-r--r--dev-python/httpcore/httpcore-1.0.9-r1.ebuild2
-rw-r--r--dev-python/httptools/Manifest2
-rw-r--r--dev-python/httptools/httptools-0.6.4.ebuild2
-rw-r--r--dev-python/httpx-socks/Manifest2
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.10.0.ebuild2
-rw-r--r--dev-python/httpx/Manifest2
-rw-r--r--dev-python/httpx/httpx-0.28.1-r1.ebuild6
-rw-r--r--dev-python/hypercorn/Manifest2
-rw-r--r--dev-python/hypercorn/hypercorn-0.17.3.ebuild2
-rw-r--r--dev-python/hypothesis/Manifest2
-rw-r--r--dev-python/hypothesis/hypothesis-6.131.17.ebuild126
-rw-r--r--dev-python/immutables/Manifest2
-rw-r--r--dev-python/immutables/immutables-0.21.ebuild2
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-9.2.0-r1.ebuild2
-rw-r--r--dev-python/littleutils/Manifest2
-rw-r--r--dev-python/littleutils/littleutils-0.2.4.ebuild2
-rw-r--r--dev-python/meson-python/Manifest2
-rw-r--r--dev-python/meson-python/meson-python-0.18.0.ebuild2
-rw-r--r--dev-python/minify-html/Manifest2
-rw-r--r--dev-python/minify-html/minify-html-0.16.4.ebuild17
-rw-r--r--dev-python/numpy/Manifest4
-rw-r--r--dev-python/numpy/files/numpy-2.2.5-py314.patch298
-rw-r--r--dev-python/numpy/numpy-2.2.5-r1.ebuild202
-rw-r--r--dev-python/numpy/numpy-2.2.5.ebuild2
-rw-r--r--dev-python/outcome/Manifest2
-rw-r--r--dev-python/outcome/outcome-1.3.0_p0.ebuild2
-rw-r--r--dev-python/prompt-toolkit/Manifest2
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild2
-rw-r--r--dev-python/pycares/Manifest2
-rw-r--r--dev-python/pycares/pycares-4.6.1.ebuild2
-rw-r--r--dev-python/pyghmi/Manifest2
-rw-r--r--dev-python/pyghmi/pyghmi-1.6.1.ebuild33
-rw-r--r--dev-python/pymongo/Manifest2
-rw-r--r--dev-python/pymongo/pymongo-4.13.0.ebuild201
-rw-r--r--dev-python/pyprof2calltree/Manifest2
-rw-r--r--dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild4
-rw-r--r--dev-python/pyrfc3339/Manifest2
-rw-r--r--dev-python/pyrfc3339/pyrfc3339-2.0.1.ebuild4
-rw-r--r--dev-python/pytest-aiohttp/Manifest1
-rw-r--r--dev-python/pytest-aiohttp/pytest-aiohttp-1.1.0-r1.ebuild36
-rw-r--r--dev-python/pytest-codeblocks/Manifest2
-rw-r--r--dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild4
-rw-r--r--dev-python/pytest-datafiles/Manifest2
-rw-r--r--dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild2
-rw-r--r--dev-python/pytest-localserver/Manifest2
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.9.0_p0.ebuild2
-rw-r--r--dev-python/pytest-trio/Manifest2
-rw-r--r--dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild2
-rw-r--r--dev-python/python-augeas/Manifest2
-rw-r--r--dev-python/python-augeas/python-augeas-1.2.0.ebuild2
-rw-r--r--dev-python/python-constraint/Manifest2
-rw-r--r--dev-python/python-constraint/python-constraint-1.4.0.ebuild4
-rw-r--r--dev-python/python-ctags3/Manifest2
-rw-r--r--dev-python/python-ctags3/python-ctags3-1.6.0-r1.ebuild2
-rw-r--r--dev-python/python-dotenv/Manifest2
-rw-r--r--dev-python/python-dotenv/python-dotenv-1.1.0.ebuild16
-rw-r--r--dev-python/python-gflags/Manifest2
-rw-r--r--dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild4
-rw-r--r--dev-python/python-gnupg/Manifest2
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.4.ebuild2
-rw-r--r--dev-python/python-memcached/Manifest2
-rw-r--r--dev-python/python-memcached/python-memcached-1.62.ebuild2
-rw-r--r--dev-python/python-mimeparse/Manifest2
-rw-r--r--dev-python/python-mimeparse/python-mimeparse-2.0.0.ebuild2
-rw-r--r--dev-python/python-multipart/Manifest2
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.20.ebuild2
-rw-r--r--dev-python/python-socks/Manifest2
-rw-r--r--dev-python/python-socks/python-socks-2.7.1.ebuild2
-rw-r--r--dev-python/pytools/Manifest2
-rw-r--r--dev-python/pytools/pytools-2025.1.5.ebuild31
-rw-r--r--dev-python/qrcode/Manifest2
-rw-r--r--dev-python/qrcode/qrcode-8.2.ebuild2
-rw-r--r--dev-python/quart-trio/Manifest2
-rw-r--r--dev-python/quart-trio/quart-trio-0.12.0.ebuild2
-rw-r--r--dev-python/quart/Manifest2
-rw-r--r--dev-python/quart/quart-0.20.0.ebuild2
-rw-r--r--dev-python/rfc8785/Manifest2
-rw-r--r--dev-python/rfc8785/rfc8785-0.1.4.ebuild2
-rw-r--r--dev-python/roman-numerals-py/Manifest2
-rw-r--r--dev-python/roman-numerals-py/roman-numerals-py-3.1.0.ebuild2
-rw-r--r--dev-python/roman/Manifest2
-rw-r--r--dev-python/roman/roman-5.0.ebuild2
-rw-r--r--dev-python/seedir/Manifest2
-rw-r--r--dev-python/seedir/seedir-0.5.0.ebuild2
-rw-r--r--dev-python/selenium/Manifest2
-rw-r--r--dev-python/selenium/selenium-4.32.0.ebuild4
-rw-r--r--dev-python/semver/Manifest2
-rw-r--r--dev-python/semver/semver-3.0.4.ebuild2
-rw-r--r--dev-python/setuptools/Manifest2
-rw-r--r--dev-python/setuptools/setuptools-80.7.1.ebuild130
-rw-r--r--dev-python/sh/Manifest2
-rw-r--r--dev-python/sh/sh-2.2.2.ebuild2
-rw-r--r--dev-python/smmap/Manifest2
-rw-r--r--dev-python/smmap/smmap-6.0.0.ebuild4
-rw-r--r--dev-python/sniffio/Manifest2
-rw-r--r--dev-python/sniffio/sniffio-1.3.1.ebuild2
-rw-r--r--dev-python/spake2/Manifest2
-rw-r--r--dev-python/spake2/spake2-0.9.ebuild4
-rw-r--r--dev-python/sqlalchemy/Manifest2
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild103
-rw-r--r--dev-python/starlette/Manifest2
-rw-r--r--dev-python/starlette/starlette-0.46.2.ebuild2
-rw-r--r--dev-python/tcolorpy/Manifest2
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.7.ebuild4
-rw-r--r--dev-python/tiny-proxy/Manifest2
-rw-r--r--dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild2
-rw-r--r--dev-python/tinycss2/Manifest2
-rw-r--r--dev-python/tinycss2/tinycss2-1.4.0.ebuild2
-rw-r--r--dev-python/tldextract/Manifest2
-rw-r--r--dev-python/tldextract/tldextract-5.3.0.ebuild2
-rw-r--r--dev-python/toposort/Manifest2
-rw-r--r--dev-python/toposort/toposort-1.10.ebuild4
-rw-r--r--dev-python/trio-websocket/Manifest2
-rw-r--r--dev-python/trio-websocket/trio-websocket-0.12.2.ebuild2
-rw-r--r--dev-python/trio/Manifest2
-rw-r--r--dev-python/trio/trio-0.29.0.ebuild12
-rw-r--r--dev-python/truststore/Manifest2
-rw-r--r--dev-python/truststore/truststore-0.10.1.ebuild2
-rw-r--r--dev-python/typing-inspection/Manifest2
-rw-r--r--dev-python/typing-inspection/files/typing-inspection-0.4.0-py314.patch155
-rw-r--r--dev-python/typing-inspection/typing-inspection-0.4.0-r1.ebuild30
-rw-r--r--dev-python/tzdata/Manifest2
-rw-r--r--dev-python/tzdata/tzdata-10001.ebuild2
-rw-r--r--dev-python/uvicorn/Manifest2
-rw-r--r--dev-python/uvicorn/uvicorn-0.34.2.ebuild8
-rw-r--r--dev-python/watchfiles/Manifest2
-rw-r--r--dev-python/watchfiles/watchfiles-1.0.5.ebuild4
-rw-r--r--dev-python/websocket-client/Manifest2
-rw-r--r--dev-python/websocket-client/websocket-client-1.8.0.ebuild2
-rw-r--r--dev-python/wsproto/Manifest2
-rw-r--r--dev-python/wsproto/wsproto-1.2.0.ebuild2
-rw-r--r--dev-python/xcffib/Manifest2
-rw-r--r--dev-python/xcffib/xcffib-1.8.0.ebuild2
-rw-r--r--dev-python/yapf/Manifest2
-rw-r--r--dev-python/yapf/yapf-0.43.0-r1.ebuild3
191 files changed, 2367 insertions, 189 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 8b976d0d2fd1..003d35da6620 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/a2wsgi/Manifest b/dev-python/a2wsgi/Manifest
index 9c04def82bd0..125e039e55ec 100644
--- a/dev-python/a2wsgi/Manifest
+++ b/dev-python/a2wsgi/Manifest
@@ -1,3 +1,3 @@
DIST a2wsgi-1.10.8.tar.gz 18729 BLAKE2B d36614cdf66680240c49f142208d9cbad660117bfd160f37606bf67ecc7dd7178f63bf7685669b1207bcfb417568807449b49e8ef85d3b8642da0c199211686a SHA512 b8ed1d1370af6ba13339fa408e4da575cbb3229346a67a8c270207038b739daee341d1755c5db0e7b690f4a8654f54113e0c6f9a99ff359634c663e6df86e0ae
-EBUILD a2wsgi-1.10.8.ebuild 998 BLAKE2B 4ad54305c861d8bf4728246038a561127082b5c182151497d95d1e0e807058730eca58bbff48953c4ca666df32fe194ce1ec8b55722eb7943022fab76e4b4b8f SHA512 0c0298c2177185e6ef6c190be1c3ee83e0f6fd62af5573664c7b76bdf87b449d352a767c58c006b754d2e1557f8520ec71fc46b65a1d83f332a7a364787e42b3
+EBUILD a2wsgi-1.10.8.ebuild 992 BLAKE2B 0165fe9f3484b984be0ea084410bf2a9f59682e5f2a97eb57e2e2f0ee214f7d121928956fc70184eee96270f5bd504d83bea92ef7e7b3f05373248bba1592c64 SHA512 d3ac12e42baa58759f7a46705cfb810f1f57239426f2efe8ecd56d5dadd7ef5bbc906e26b4eb467bb98fca38c8b6650b50bff90a613e1dac5242651e16283422
MISC metadata.xml 392 BLAKE2B 17f9cfa46eeac0752f6e27d004a04173528f5033dee30ba31bb9b0d86231b3311937e0765cba3cae0fcc8b9653654c9b53bbc009f15140db0b38496856b9c27e SHA512 828436206a1e9b01df9da1546ffc8e6bc614e71708ad8a806dda9ab2dad80c86e539c37496a0c2525f0370e9ead3131bbde69f235da83331cd5097985981006e
diff --git a/dev-python/a2wsgi/a2wsgi-1.10.8.ebuild b/dev-python/a2wsgi/a2wsgi-1.10.8.ebuild
index 815375d3ded2..a61abe7a5d80 100644
--- a/dev-python/a2wsgi/a2wsgi-1.10.8.ebuild
+++ b/dev-python/a2wsgi/a2wsgi-1.10.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/aiofiles/Manifest b/dev-python/aiofiles/Manifest
index 4e34b631db20..6b1334bbfe24 100644
--- a/dev-python/aiofiles/Manifest
+++ b/dev-python/aiofiles/Manifest
@@ -1,3 +1,3 @@
DIST aiofiles-24.1.0.tar.gz 30247 BLAKE2B a2f979feb2db577b70caa0919a5571fa1a5d5e3f8b27711db72e9307f91effedaf587ce482fbd0ebca3dcca33388db16f72ab21c001438d32fc094b052703abd SHA512 dcb7f69354899f752cf4eef63a19ca6582f9288735345a0ff7503f3dd571e0a184962fbb89054a2e46e3efff5d84db6bdec4bb421a7d0aa8fec2c3093e54c371
-EBUILD aiofiles-24.1.0.ebuild 566 BLAKE2B 76659ba1652045afb6a7e061185afc1f19c2d8d1346c79839fda98aebeac626383103fb968e0f41da342549e0e084eb11aa9c334283949d71a9e8a10f047be83 SHA512 ad26f9fe0d67c341a9fc659951191ee44c50182b1fd4f20f941c88e74a311d276500e6320875ca326affeb5d4a5ef2ff1bff88cf5209c8d983e52586b6f9a2e3
+EBUILD aiofiles-24.1.0.ebuild 560 BLAKE2B af8856fdd7369b1cb17511f6e5fb8431b565e72e3c2924924d29d7dba3cdf7d6f1a9b211e5313bf8f9c8f1ce20cddadf16d42cdc5da7c0e7a97949b0bd37c0a1 SHA512 77f2d0ef7ed9e121848b19ce9c32667dd11b447e2329877d38433a01da2b8f1335796fbb94994b1ee827dfdd9db5833307f2227024e354c796bd86a8b10b48cc
MISC metadata.xml 454 BLAKE2B 5516af85de875687b19ad35cb505a841c473ba4ee26f1fca7ce343adfe832167560588db7dbe1342bf7eb507e2b0b0506fd4fae66011420a540c38274136dec9 SHA512 59bb734b77d80bee14a543cfbbd930b93a4de010f84862e0db3f381de52c75f5dedfef5e63b46bab8e5c4607645fbd3da84eb31a0bbcde3d83abc5dff9f2799b
diff --git a/dev-python/aiofiles/aiofiles-24.1.0.ebuild b/dev-python/aiofiles/aiofiles-24.1.0.ebuild
index bfbe8e43872c..8e6fe9b3ca66 100644
--- a/dev-python/aiofiles/aiofiles-24.1.0.ebuild
+++ b/dev-python/aiofiles/aiofiles-24.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 297935660315..a279cab69ee5 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -8,5 +8,5 @@ EBUILD aiohttp-3.11.14.ebuild 3722 BLAKE2B f5d605b7fe8bf688d011d6c0f7300dadce3c2
EBUILD aiohttp-3.11.15.ebuild 3723 BLAKE2B 39789326a151214a9cc6a0b1ff558b0a6a33d01a32b975544fa2203c8a540f5b2f99f36c24aa693f0c310b9fd9b7fee672e1bf431c61788466493e080b20d676 SHA512 deb5454d46b48e257fd6a195d1e82e5924ab8bec54d626cef7cdda315a004bc1b5923549c057924c8ec17a3097c79a82a05c29eabe99c0ca69e3e5e0cf7dc2de
EBUILD aiohttp-3.11.16.ebuild 3724 BLAKE2B ac40b5c4679065d465dd9a2e39870fbd0e20d47c5f0ab8ab7174ebd1219a9f66845d8941fd6290c3a67c5f973ff006e1b81d7e955503829427cb3241a5d23042 SHA512 b96a9fc8120271f977009006d48220dba5719579aab449ce7ce3e9afad76bd0b44d3034f18b42a1ac286f2ae0723c0f862ba28ed3b1b655f025fd1700ce555df
EBUILD aiohttp-3.11.17.ebuild 3884 BLAKE2B 3a297e39488e4098c99d63c230fdfe708e9bd3ad52e69ad58b23c5b2395e6ff34ee8cb69610d9ae284a861246863282ed36000ddff863fadea10be3b4e94d45c SHA512 735718530ba15dce66ff0164a0e2b4e9993c52678fd23a7f5f5d588c7db10c1506739c8fdaab50a5f813a57857c5f58ae4b1047f6c14207fd1fda3280ec76ee4
-EBUILD aiohttp-3.11.18.ebuild 3873 BLAKE2B deabf2de729917098b9615bc012f3a6d2b2f823f625645749184e10db38599a3a2a2952675291b7ee20b3ed03d1c20f1e925514f85bced2cd6650028188604e5 SHA512 da3a3e7c0a8e3c6eee9fa518852b9bbd6c9a424a7ec0a7b8a545fcfcf284f28c1609ff16ba49ff6f5dc7fe64c6ce745736fc21f920561008e89517da27a69b40
+EBUILD aiohttp-3.11.18.ebuild 3872 BLAKE2B 4dd7985aaae8d748de684c2516e25e0dead9400776d91b7f39e6f9a024b7fbaa1ce2a51697efbc919a7d9de3708789dfd7cdf3a5141722c4544a5636d880b33e SHA512 3e477f8f756b63080a9fe4972ee3a82af720548dd899017f9454c636772ecbe3e24a34c5c1ec4085eb0af5bb5dfa7025fe7fc074d0490a4a78eb2258699e7a85
MISC metadata.xml 379 BLAKE2B dd6b8001c95e4f845c0519d9674158355566938e9e4aaad3234d3ee2a252ebbb4b6ffe3e8272145a39b2b9e59f6b9d19413547789a5873726581040e413f6b8c SHA512 5ea85743abacb6c4ace3ff45d4949ed787055c738afac892f24bf3770c3bba8fe8e5db4267719300d89e610daf334838a1964beab649730427a12007ddcf5e9e
diff --git a/dev-python/aiohttp/aiohttp-3.11.18.ebuild b/dev-python/aiohttp/aiohttp-3.11.18.ebuild
index e9e7feee9054..1935843a9c99 100644
--- a/dev-python/aiohttp/aiohttp-3.11.18.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.11.18.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="+native-extensions test-rust"
DEPEND="
diff --git a/dev-python/annotated-types/Manifest b/dev-python/annotated-types/Manifest
index a575ac5f6e23..20298784554e 100644
--- a/dev-python/annotated-types/Manifest
+++ b/dev-python/annotated-types/Manifest
@@ -1,3 +1,3 @@
DIST annotated_types-0.7.0.tar.gz 16081 BLAKE2B 45f536bafb0a9dead41a7fcafe50304508df5024921c2b3637ba51ff144d46fd8cba4d503a65fcec1a973cf2cd791074a83d72fbd2f17269bd9a2d2b9f8c114e SHA512 8a6dd7274270397f7779fc4ca242997ad2ea739b530be5abcc30a72d1e4042fc08753ab432c3d9c7a53c7474b3794504062f68235885cfb6c688cce0700d8758
-EBUILD annotated-types-0.7.0.ebuild 868 BLAKE2B 1ed362e0eafe8c2d6598ac4eac643e76369a2c2a0606871d1fc3f65a83be3bf37817e92a4686aa116f86560dbd999603a1bcfed6ac6df10a151b118f82a7cc46 SHA512 d2f49c7ff8c4c8816292a29ff4e161424718516fd1c79d3bfdc7dc820a739f10cc86886f3a8472862fbc01e93108682c5ee9b8656ca8f6e6a487b90064b1c28e
+EBUILD annotated-types-0.7.0.ebuild 862 BLAKE2B 346a9f7b7ad0cd3ebc8318e9fb11e243636bb7da210a8dc8b50c1f12d45563979516f78b5f7ec7492b110071d1fa18197e182e96dd21ba26f27a555acccecfc9 SHA512 f5a6998503be48c35d5a21d87e33b2b30e91d26cf0aea142074b17cddc944ca4db8635a056d09091e67e03ed59921f03c8a738b1d7fea778d6133957269b8c85
MISC metadata.xml 414 BLAKE2B 692ebee33e03288b0a5ec5fd649cceaf7dd6043893712deb3204371965898d12390301349644d4daebd014f09afb6a89731144747b061f872d7e75e8c4f3b668 SHA512 6434d35a1cc78c487e02a2b19d56b2778517adfa07f81003cfd981fca0c49c0f26c95139865a02bba22ea10991639b98a8ebc27d71bdfd892bcb653338a9cf32
diff --git a/dev-python/annotated-types/annotated-types-0.7.0.ebuild b/dev-python/annotated-types/annotated-types-0.7.0.ebuild
index 81415385c3df..45e6c6d811cd 100644
--- a/dev-python/annotated-types/annotated-types-0.7.0.ebuild
+++ b/dev-python/annotated-types/annotated-types-0.7.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index 99e37f546e84..fa8b0f97a78f 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1,3 +1,5 @@
+AUX anyio-4.8.0-py314.patch 4855 BLAKE2B 180bdf9b8b4528e10c8349384fde0900039aa2fa2bf85d0de9066730c5aad4f5d5ac99ed9a6f3a70092c63930c37cc0ea268e6d4a18e3bbf628baf1e03bd03dc SHA512 6baea920efa72782940ffc7614013bf15edd7a4a0a3cc907c4b05ff162546327c49f4520e9d458ff50205ecf28defdcd3808ea1973255a763339c2c4fba8f179
DIST anyio-4.8.0.tar.gz 181126 BLAKE2B f33df2d5df27ff05d553544e1c4f351fa20d6f551d23b80d5f0beaa658c145c7b13d7d7da1c4c3c17e97ecfc595b3662dbc1c7bedbbda7471d1004090599c557 SHA512 939ae76eff4c91979f1ce2bdf3ef1f05f488931e7ae357632090855125656721099732a9a1e167755677757c2125287842e49fce19302f90615bd79b41cc9e67
-EBUILD anyio-4.8.0-r2.ebuild 2072 BLAKE2B c91eeafd25b65f0647dc654d49c597dde9cbfa4eb8a14a4be91fb57466173c379314890f84738eacbc5322030a1d092619e84af04101b2a54678125b4a8643dc SHA512 77e822b7f54d0ad47537dda2eedb2f351e7df0cdb882f2f58d3b2695338a51e5699a16c221a21c94c3846591329c9b2774d1f08985fa4a05d608242ade502872
+EBUILD anyio-4.8.0-r2.ebuild 2072 BLAKE2B 5c2387e5b7030330113efe49936da9f03a141b2b31bfd01e3af31988578661fc534f63249f18507386d22e57e682b8e91162b13947fb7a705a38d49396f56069 SHA512 bd2989709c728033c41ccf42b55c12c8ba8c73b2d9aec7ea4b691aee683db52bcd691058bd56800d5b3e097238e4d9f7e71fae68723abe56cacbcc3d1a72f802
+EBUILD anyio-4.8.0-r3.ebuild 2570 BLAKE2B 1b0e67356a9ff5bd14475d2ba48a6925943a82dda6c07906b5f98a350e4adeb11a445e01629359055ee1dd90e53982547efbb376f2cc43b88f987a42ed29414b SHA512 24c25d56fe57605d893eef98a944300eed620c5a33a781f1d0692cf029b647cc2c355cabb8b2c0ae61a8f80169d80eb24e2c0cc9e3d71e39c1be0d2e688fce97
MISC metadata.xml 1422 BLAKE2B 63acae587e7088e33ee5eb93a2a222899e54a5eb511118794f88e7c5a012d10983eb925427688a0b509b094e30a9cc9acc5f0c1765ea73e569161e0c30722000 SHA512 e0b540d5d739b7673a5a8682477f209f8b3648aad06a1c0610543a2e9dcbeca1cb1e52212d8088a5987a1c3bc3152cc5984ad5b5d0706fcdb5866b22de07b1eb
diff --git a/dev-python/anyio/anyio-4.8.0-r2.ebuild b/dev-python/anyio/anyio-4.8.0-r2.ebuild
index 734795bd8e7c..714d8c17ab48 100644
--- a/dev-python/anyio/anyio-4.8.0-r2.ebuild
+++ b/dev-python/anyio/anyio-4.8.0-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/anyio/anyio-4.8.0-r3.ebuild b/dev-python/anyio/anyio-4.8.0-r3.ebuild
new file mode 100644
index 000000000000..6ebf7a291939
--- /dev/null
+++ b/dev-python/anyio/anyio-4.8.0-r3.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
+HOMEPAGE="
+ https://github.com/agronholm/anyio/
+ https://pypi.org/project/anyio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ ' 3.{11..12})
+"
+# On amd64, let's get more test coverage by dragging in uvloop, but let's
+# not bother on other arches where uvloop may not be supported.
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/trio-0.26.1[${PYTHON_USEDEP}]
+ ' 3.{11..13})
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.21.0_beta1[${PYTHON_USEDEP}]
+ ' python3_{11..13})
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-rtd-theme-1.2.2' \
+ dev-python/sphinxcontrib-jquery \
+ dev-python/sphinx-autodoc-typehints
+
+PATCHES=(
+ # https://github.com/agronholm/anyio/commit/f051fd45a1d34bae8dd70dba726e711e7a49deee
+ # https://github.com/agronholm/anyio/commit/e0e2531de14c54eed895c92b4c8e87b44f47634b
+ # https://github.com/agronholm/anyio/commit/8bad9c05d966f6edfa58f26257015cb657d4e5ef
+ "${FILESDIR}/${P}-py314.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # likely related to https://github.com/pypy/pypy/issues/5264
+ tests/test_debugging.py::test_main_task_name
+ )
+ ;;
+ esac
+
+ local filter=()
+ if ! has_version ">=dev-python/trio-0.26.1[${PYTHON_USEDEP}]"; then
+ filter+=( -k "not trio" )
+ EPYTEST_DESELECT+=(
+ tests/test_pytest_plugin.py::test_plugin
+ tests/test_pytest_plugin.py::test_autouse_async_fixture
+ tests/test_pytest_plugin.py::test_cancel_scope_in_asyncgen_fixture
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m 'not network' "${filter[@]}"
+}
diff --git a/dev-python/anyio/files/anyio-4.8.0-py314.patch b/dev-python/anyio/files/anyio-4.8.0-py314.patch
new file mode 100644
index 000000000000..9e1ad2fb151c
--- /dev/null
+++ b/dev-python/anyio/files/anyio-4.8.0-py314.patch
@@ -0,0 +1,124 @@
+From f051fd45a1d34bae8dd70dba726e711e7a49deee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Tue, 18 Mar 2025 14:38:12 +0200
+Subject: [PATCH] Fixed Path tests on Python 3.14.0a6
+
+---
+ src/anyio/_core/_fileio.py | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index a0d61984..17459b79 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -421,13 +421,11 @@ async def copy(
+ target: str | os.PathLike[str],
+ *,
+ follow_symlinks: bool = True,
+- dirs_exist_ok: bool = False,
+ preserve_metadata: bool = False,
+ ) -> Path:
+ func = partial(
+ self._path.copy,
+ follow_symlinks=follow_symlinks,
+- dirs_exist_ok=dirs_exist_ok,
+ preserve_metadata=preserve_metadata,
+ )
+ return Path(await to_thread.run_sync(func, target))
+@@ -437,13 +435,11 @@ async def copy_into(
+ target_dir: str | os.PathLike[str],
+ *,
+ follow_symlinks: bool = True,
+- dirs_exist_ok: bool = False,
+ preserve_metadata: bool = False,
+ ) -> Path:
+ func = partial(
+ self._path.copy_into,
+ follow_symlinks=follow_symlinks,
+- dirs_exist_ok=dirs_exist_ok,
+ preserve_metadata=preserve_metadata,
+ )
+ return Path(await to_thread.run_sync(func, target_dir))
+@@ -616,7 +612,9 @@ async def read_text(
+ def relative_to(
+ self, *other: str | PathLike[str], walk_up: bool = False
+ ) -> Path:
+- return Path(self._path.relative_to(*other, walk_up=walk_up))
++ # relative_to() should work with any PathLike but it doesn't
++ others = [pathlib.Path(other) for other in other]
++ return Path(self._path.relative_to(*others, walk_up=walk_up))
+
+ else:
+
+From e0e2531de14c54eed895c92b4c8e87b44f47634b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Tue, 15 Apr 2025 00:54:22 +0300
+Subject: [PATCH] Fixed Path.copy() and Path.copy_info failing on Python
+ 3.14.0a7
+
+---
+ docs/versionhistory.rst | 1 +
+ src/anyio/_core/_fileio.py | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index 17459b79..2eae029e 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -428,7 +428,7 @@ async def copy(
+ follow_symlinks=follow_symlinks,
+ preserve_metadata=preserve_metadata,
+ )
+- return Path(await to_thread.run_sync(func, target))
++ return Path(await to_thread.run_sync(func, pathlib.Path(target)))
+
+ async def copy_into(
+ self,
+@@ -442,7 +442,7 @@ async def copy_into(
+ follow_symlinks=follow_symlinks,
+ preserve_metadata=preserve_metadata,
+ )
+- return Path(await to_thread.run_sync(func, target_dir))
++ return Path(await to_thread.run_sync(func, pathlib.Path(target_dir)))
+
+ async def move(self, target: str | os.PathLike[str]) -> Path:
+ # Upstream does not handle anyio.Path properly as a PathLike
+From 8bad9c05d966f6edfa58f26257015cb657d4e5ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Sat, 15 Feb 2025 16:41:44 +0200
+Subject: [PATCH] Fixed test failures caused by Python 3.14.0a5
+
+---
+ docs/versionhistory.rst | 1 +
+ src/anyio/_core/_fileio.py | 15 ++++++++++-----
+ tests/test_fileio.py | 2 ++
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index 3728734c..350a873a 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -411,6 +412,10 @@ def match(self, path_pattern: str) -> bool:
+
+ if sys.version_info >= (3, 14):
+
++ @property
++ def info(self) -> Any: # TODO: add return type annotation when Typeshed gets it
++ return self._path.info
++
+ async def copy(
+ self,
+ target: str | os.PathLike[str],
+diff --git a/tests/test_fileio.py b/tests/test_fileio.py
+index d7a769bd..28830e6e 100644
+--- a/tests/test_fileio.py
++++ b/tests/test_fileio.py
+@@ -106,6 +106,8 @@ async def test_properties(self) -> None:
+ stdlib_properties.discard("__enter__")
+ stdlib_properties.discard("__exit__")
+ stdlib_properties.discard("__firstlineno__")
++ stdlib_properties.discard("__open_rb__")
++ stdlib_properties.discard("__open_wb__")
+
+ async_path = Path(path)
+ anyio_properties = {
diff --git a/dev-python/astor/Manifest b/dev-python/astor/Manifest
index 9f4ebd1fd684..5f813e7166de 100644
--- a/dev-python/astor/Manifest
+++ b/dev-python/astor/Manifest
@@ -1,4 +1,6 @@
+AUX astor-0.8.1-py314.patch 4199 BLAKE2B 9e5b039e1b2031b024fec2344dbc635006440027a43c964bf707cefe2a7ce4312556433debd351a8045d657953a02023a7ca63a8ccfdfabe54ddaa106c449614 SHA512 f833c3064094c6255a00442667f07d5f0c519abbc62a6c4bf622857047f1cb93cbd2211d77b3b15ba8d22b5d59b4d4aae6e3dd63afc4156b95124bf5888faa0d
AUX astor-0.8.1-tests-bigint.patch 1251 BLAKE2B 0d6e9d6451cc52f794edbdda06dfe0b4590fa8f407d00e28a3d60d5056f00b59ea13dbe1faabd4d0a4dddc1e51d58a916a3921cc3a799e28716a31cd5b0dc62d SHA512 220b76f81448d84bbcc1d87f24fcca33793fb63f98669ab90fb952f8795ebc3fb120ac40b894b8b3734b21de895c25412c60252436bbc6c1a19a69afee20e3ce
DIST astor-0.8.1.tar.gz 35090 BLAKE2B 11e5e77d4f8a8617d0330d3091a1571744bb5773df926f41b10208e1c5beb7e82ad8961a460dd326e9130591dade495c77a36456618a97a5c22e41237805a4ce SHA512 cfc69a21fcbc9842bc26fbe8372e5c700d9957cc0c3c62de415155d2036163951f0ece88557829afd7c4dabba8a8e238a2335994ddfc020cb3db913eed5b6f28
-EBUILD astor-0.8.1-r1.ebuild 587 BLAKE2B 0ecd7dde72f3a4d17a1a4652cac6cacbdbf3875bd458e2dc4c84f0cebf1ad96736d3c70d67e876e04f87ce606d534fe230ac9729b5c6da2613b436e6d9aee06e SHA512 298a9af0344d8c05cb9ab162469b7fe22e52b898d83383d3dd78531627b9e1957ecc316c054a75e4dc1f2072944c7abf4ae804e05c0173a968315dae2c6804e1
+EBUILD astor-0.8.1-r1.ebuild 1426 BLAKE2B b195358234e212ee7a1aa23a80e135523ea2e470d2857a4e01c375142dbeb519ea844d2bcb5857f02bbd01543909cb8cf19f37c390999f22e9997c3401c43710 SHA512 a89bb060c1ec6fa3568491a1bf4e3346acda83cbb8cbcab5326050952a7ec30f236ea94e9876584848c0405de5f9b0897193fb736c96834784288ed6e93891d7
+EBUILD astor-0.8.1-r2.ebuild 751 BLAKE2B 1ce23082f267a3f07737ffc84a560602e24f05ff9c14c15286aee29dc15b37f188210e338826dde7700012b4a54e30e02b24016621379313dff2efedc6a8b59a SHA512 51722a16a8393d72592c39976f0cf543b2ce5546a82e3050be42ea1e9bee13b6025b2ecab10fb55108155ba46abc1c7d79ac1c19ad7113511c9e7b7fd96b6a7d
MISC metadata.xml 391 BLAKE2B 484d2cd9e52afbc57c49df869d111c214de2a3f1914700a168554f5946b89522d48a613c37a3f2fa704fc8de585047304340148ec34c7a7d8e8097d7499eb507 SHA512 413a0cd6331515c0462f22bcdf7fa1c2693e282b84bc34efcb9ada65f5ca65c6808bd9d678b6c9d1e24c5230dc1c5f3417cda38ee79103a372997a30d68dc572
diff --git a/dev-python/astor/astor-0.8.1-r1.ebuild b/dev-python/astor/astor-0.8.1-r1.ebuild
index 8d108a02b027..7f7c08576247 100644
--- a/dev-python/astor/astor-0.8.1-r1.ebuild
+++ b/dev-python/astor/astor-0.8.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
@@ -24,6 +24,30 @@ PATCHES=(
distutils_enable_tests pytest
-EPYTEST_IGNORE=(
- tests/test_rtrip.py
-)
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_rtrip.py
+ )
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_code_gen.py::CodegenTestCase::test_complex
+ tests/test_code_gen.py::CodegenTestCase::test_deprecated_constant_nodes
+ tests/test_code_gen.py::CodegenTestCase::test_deprecated_name_constants
+ tests/test_code_gen.py::CodegenTestCase::test_fstring_debugging
+ tests/test_code_gen.py::CodegenTestCase::test_fstring_escaped_braces
+ tests/test_code_gen.py::CodegenTestCase::test_fstring_trailing_newline
+ tests/test_code_gen.py::CodegenTestCase::test_fstrings
+ tests/test_code_gen.py::CodegenTestCase::test_huge_int
+ tests/test_code_gen.py::CodegenTestCase::test_inf
+ tests/test_code_gen.py::CodegenTestCase::test_nan
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/astor/astor-0.8.1-r2.ebuild b/dev-python/astor/astor-0.8.1-r2.ebuild
new file mode 100644
index 000000000000..08f728111eb2
--- /dev/null
+++ b/dev-python/astor/astor-0.8.1-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read/rewrite/write Python ASTs"
+HOMEPAGE="
+ https://pypi.org/project/astor/
+ https://github.com/berkerpeksag/astor/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+PATCHES=(
+ "${FILESDIR}/${P}-tests-bigint.patch"
+ # https://github.com/berkerpeksag/astor/pull/233
+ "${FILESDIR}/${P}-py314.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_rtrip.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/astor/files/astor-0.8.1-py314.patch b/dev-python/astor/files/astor-0.8.1-py314.patch
new file mode 100644
index 000000000000..e5af45648393
--- /dev/null
+++ b/dev-python/astor/files/astor-0.8.1-py314.patch
@@ -0,0 +1,99 @@
+From d0b5563cc1e263f08df9312d89a7691167448f4d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 14 May 2025 19:52:30 +0200
+Subject: [PATCH] Fix compatibility with Python 3.14 (mostly)
+
+Fix the code and the test suite to work with Python 3.14, where
+deprecated constant-like AST nodes were removed. Notably:
+
+1. Skip tests for deprecated nodes in Python 3.14.
+
+2. Use `ast.Constant` over `ast.Num` for non-deprecated code
+ in Python 3.6+.
+
+3. Check for `ast.Str` only in Python < 3.14, and handle `ast.Constant`
+ being used to represent a string instead.
+
+With these changes, all tests except for:
+
+ tests/test_rtrip.py::RtripTestCase::test_convert_stdlib
+
+pass. However, this particular test also hanged for me with older Python
+versions.
+
+Related to #217
+---
+ astor/code_gen.py | 9 +++++++--
+ tests/test_code_gen.py | 11 ++++++++---
+ 2 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/astor/code_gen.py b/astor/code_gen.py
+index b2bae12..4330f49 100644
+--- a/astor/code_gen.py
++++ b/astor/code_gen.py
+@@ -692,6 +692,7 @@ def _handle_string_constant(self, node, value, is_joined=False):
+ current_line = ''.join(current_line)
+
+ has_ast_constant = sys.version_info >= (3, 6)
++ has_ast_str = sys.version_info < (3, 14)
+
+ if is_joined:
+ # Handle new f-strings. This is a bit complicated, because
+@@ -700,7 +701,7 @@ def _handle_string_constant(self, node, value, is_joined=False):
+
+ def recurse(node):
+ for value in node.values:
+- if isinstance(value, ast.Str):
++ if has_ast_str and isinstance(value, ast.Str):
+ # Double up braces to escape them.
+ self.write(value.s.replace('{', '{{').replace('}', '}}'))
+ elif isinstance(value, ast.FormattedValue):
+@@ -713,7 +714,11 @@ def recurse(node):
+ self.write(':')
+ recurse(value.format_spec)
+ elif has_ast_constant and isinstance(value, ast.Constant):
+- self.write(value.value)
++ if isinstance(value.value, str):
++ # Double up braces to escape them.
++ self.write(value.value.replace('{', '{{').replace('}', '}}'))
++ else:
++ self.write(value.value)
+ else:
+ kind = type(value).__name__
+ assert False, 'Invalid node %s inside JoinedStr' % kind
+diff --git a/tests/test_code_gen.py b/tests/test_code_gen.py
+index e828eb9..1825030 100644
+--- a/tests/test_code_gen.py
++++ b/tests/test_code_gen.py
+@@ -28,7 +28,10 @@ def astorexpr(x):
+ return eval(astor.to_source(ast.Expression(body=x)))
+
+ def astornum(x):
+- return astorexpr(ast.Num(n=x))
++ if sys.version_info >= (3, 6):
++ return astorexpr(ast.Constant(x))
++ else:
++ return astorexpr(ast.Num(n=x))
+
+ class Comparisons(object):
+
+@@ -515,8 +518,8 @@ def test_deprecated_constants_as_name(self):
+ ast.Assign(targets=[ast.Name(id='spam')], value=ast.Name(id='None')),
+ "spam = None")
+
+- @unittest.skipUnless(sys.version_info >= (3, 4),
+- "ast.NameConstant introduced in Python 3.4")
++ @unittest.skipUnless((3, 4) <= sys.version_info < (3, 14),
++ "ast.NameConstant introduced in Python 3.4, removed in 3.14")
+ def test_deprecated_name_constants(self):
+ self.assertAstEqualsSource(
+ ast.Assign(targets=[ast.Name(id='spam')], value=ast.NameConstant(value=True)),
+@@ -530,6 +533,8 @@ def test_deprecated_name_constants(self):
+ ast.Assign(targets=[ast.Name(id='spam')], value=ast.NameConstant(value=None)),
+ "spam = None")
+
++ @unittest.skipIf(sys.version_info >= (3, 14),
++ "Deprecated Constant nodes removed in Python 3.14")
+ def test_deprecated_constant_nodes(self):
+ self.assertAstEqualsSource(
+ ast.Assign(targets=[ast.Name(id='spam')], value=ast.Num(3)),
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index 909d8da8b3cc..b52841c30462 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,5 +1,5 @@
DIST astroid-3.3.10.gh.tar.gz 467911 BLAKE2B da2e62ff056298bd0dc7aed3a9ab5af25968a2343a5339d409a2d03f0043cbe6024e1440332c797f3645db4b836f54b1a7ea2dbd09f3d49ee765a19d0bd0d15c SHA512 bec58f47f26a56f3700a6f10add2b90c018a2127b35036e1e4fc1d6c41fb35b67362195c506affba9ddf8ea120993e17adb562b799f1ee45622c79def4547e84
DIST astroid-3.3.9.gh.tar.gz 467796 BLAKE2B 6bca213d71de9599cb9102d4aa7f48f7df2b050875e9e566202e9ee700fd309064453a1b4df10d930abb1b4b32b9085ca1a6a569c68ab56c811d1fc51e3cba68 SHA512 c868f2b0da0c52cf827dd5c9e228f814fe307592eb9378968773d336ff412cd8186c826bd4b61e1329ef31e4efd9489d691d3db8a23d09b925354b2973cce943
-EBUILD astroid-3.3.10.ebuild 3186 BLAKE2B c99c4a4823360127b9d5f1fe56b991b60763128eda9b5ab5549ced97744a21a6ed004b02d2684676b3d68fc4a7d8d057a548a694589c633a51d8c5ec4b1380f6 SHA512 9a92285788a0928171c20431aa1ec9b516408eb406f366b8ef3008aec67d71a8bc2c3641d0ebe3fd615e62918aa054d8c5990da660869603e27adb90e548da76
+EBUILD astroid-3.3.10.ebuild 3338 BLAKE2B caf5060ddb630b1f066974812bfd7381e4c6abff9b93608b9997dc53d13eea91915a9715f822bd582ce6f2890fbeb0fb1047e8ea4f1e9206847083888e621b10 SHA512 a1c85aaa2a3b3d40ee409c0ef89de42baabb999fe836eceb917a4428f9dfc8a6661e1bcba43b5373130f1eecf5603b406c14edf7d9848902ff554c4b5a844264
EBUILD astroid-3.3.9.ebuild 3325 BLAKE2B 936580bf100a51106ff9d98c0d224d231e65802bcbeb254ccc32de4b8786cec860de08c0eec6f1d6acf34951b7dbacf6a7f0ce705f7d4d08498ca024ce69705b SHA512 6489dcf3e4789a08ac67f771c159abfdc0b454d85ad51d23650b509d3c6d05374eacada0b0f02dd42d0d03ed50fcf57ce0d67b60930bd1b346d96953f5dae90e
MISC metadata.xml 1148 BLAKE2B 29a6cfc0c292117920be154d37ed4770f1fb1679186576fe6151cc02d1d6be766045e0231e2fceb87cbd250dbed3888c99b7ca7dc0182cc700a11961d9cd6d9e SHA512 6821d13f5e82bd73ee4fd165c0b4c94f40cd6af536dee1658cccb4175e67da2611c4d1478cdef1607535f23224116ad482197e0b0eef8f0a94d596bf250b3074
diff --git a/dev-python/astroid/astroid-3.3.10.ebuild b/dev-python/astroid/astroid-3.3.10.ebuild
index 1e1536ca3844..4c39b480591d 100644
--- a/dev-python/astroid/astroid-3.3.10.ebuild
+++ b/dev-python/astroid/astroid-3.3.10.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
@@ -77,17 +77,15 @@ python_test() {
fi
case ${EPYTHON} in
- pypy3)
+ python3.14)
EPYTEST_DESELECT+=(
- tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
- )
- ;;
- python3.13)
- EPYTEST_DESELECT+=(
- # changes in py3.13.0b4
- # https://github.com/pylint-dev/astroid/issues/2478
- tests/test_nodes.py::AsStringTest::test_f_strings
- tests/test_nodes_lineno.py::TestLinenoColOffset::test_end_lineno_string
+ tests/brain/test_brain.py::CollectionsBrain::test_collections_object_subscriptable_3
+ tests/brain/test_brain.py::TypingBrain::test_has_dunder_args
+ tests/brain/test_brain.py::TypingBrain::test_typing_object_notsubscriptable_3
+ tests/brain/test_brain.py::TypingBrain::test_typing_types
+ tests/brain/test_pathlib.py::test_inference_parents
+ tests/brain/test_pathlib.py::test_inference_parents_subscript_index
+ tests/test_inference.py::InferenceTest::test_binary_op_or_union_type
)
;;
esac
diff --git a/dev-python/asttokens/Manifest b/dev-python/asttokens/Manifest
index 7c400e61081c..b834abfc1795 100644
--- a/dev-python/asttokens/Manifest
+++ b/dev-python/asttokens/Manifest
@@ -1,3 +1,5 @@
+AUX asttokens-3.0.0-py314.patch 2881 BLAKE2B dbb3cb2e426da2e5093836a5fa23686794532de4ce0f2373561a792d862f50e7b97fb3374ab1c07272940e98ae6c64a883d4faf6c6a530793be461d1e22ddb8e SHA512 e7e73a5918d70d08ee9d7132c2aed2225d00b33650862a1a571f735a9e0d67779fe8f4786b2d49098a397fcd7a9664c873d0ad1427c9c81277134d84d78d284a
DIST asttokens-3.0.0.gh.tar.gz 56937 BLAKE2B 38b3c9271ba57c032f552cb6dedd2cd2ef2eb6294b2f5e2fde4821260b73453495576b6641fa9450bd86f08ed4a296e010a5ce5f0f3502cbeb27857e1792802f SHA512 9d0f78ee90758d52fd15ee2f1940ddc14e8fc0d15e83fb01e731c6b79e328510f6c588c7856935aed99017b98f1daa99ee25802964990d59f63c62a0a5646804
+EBUILD asttokens-3.0.0-r1.ebuild 899 BLAKE2B 4b450e00a5d51831bb398dc17b4deb1d29427c0b380c46acd5c504a13259fbacd967ba3dc4524904762f7a59164c3da618a2efdab3081405d41c28bd42650334 SHA512 ea2606d1662d1db53b0d0c34962ee73b0bebcff887645aa173c6d952d78fed3634b91378442cf6340ea7ad632d52f63233ae5db35faa868323ac6b54209d529f
EBUILD asttokens-3.0.0.ebuild 801 BLAKE2B cb94411f553919cc53822c5a2acd41069064051dabebe543e3bdf44cf69c5850977c242c64868ec56ce36009be404b48db8f48bb198d43ae51134c75d6351588 SHA512 7b8d390337bea6643d9683cd984bb086ad94894492a1dfaff3dd7dc53a6568cea7128fe6b18b1d4368431905b68df0d6f1b1985e6e679c26ec25a4cf8310fdd0
MISC metadata.xml 374 BLAKE2B a66534fe071a1c8185eb8047241e979b1da80abf0527c50f08cb36cb2b876ac691185b3094e4b91a3c38320aeb4ed45a9ab8758513115bfd4d91cffa5f5c5830 SHA512 efa821c8b432187cc3386d382fcbf0c9ed95dce1309e2fef14c57032718e7409f6703806dc139cd85dd13d1a2722e93eeb742db427f88d923da1481fb8be9817
diff --git a/dev-python/asttokens/asttokens-3.0.0-r1.ebuild b/dev-python/asttokens/asttokens-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..430bddcfefc8
--- /dev/null
+++ b/dev-python/asttokens/asttokens-3.0.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Annotate Python AST trees with source text and token information"
+HOMEPAGE="
+ https://github.com/gristlabs/asttokens/
+ https://pypi.org/project/asttokens/
+"
+SRC_URI="
+ https://github.com/gristlabs/asttokens/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/astroid[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+ # https://github.com/gristlabs/asttokens/pull/157
+ "${FILESDIR}/${P}-py314.patch"
+)
diff --git a/dev-python/asttokens/files/asttokens-3.0.0-py314.patch b/dev-python/asttokens/files/asttokens-3.0.0-py314.patch
new file mode 100644
index 000000000000..a8b92f6d11cd
--- /dev/null
+++ b/dev-python/asttokens/files/asttokens-3.0.0-py314.patch
@@ -0,0 +1,63 @@
+From 442d8615b2e60ba2274edd7cc24fc631a369bf02 Mon Sep 17 00:00:00 2001
+From: Karolina Surma <ksurma@redhat.com>
+Date: Tue, 7 Jan 2025 10:29:52 +0100
+Subject: [PATCH] Replace ast.Str usages with ast.Constant
+
+Per What's new in Python 3.14:
+ast.Str has been deprecated since Python 3.8, and have emitted deprecation
+warnings since Python 3.12.
+https://docs.python.org/dev/whatsnew/3.14.html#id3
+---
+ tests/test_asttokens.py | 2 +-
+ tests/test_tokenless.py | 4 ++--
+ tests/test_util.py | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/test_asttokens.py b/tests/test_asttokens.py
+index b9489cb..c654af3 100644
+--- a/tests/test_asttokens.py
++++ b/tests/test_asttokens.py
+@@ -125,7 +125,7 @@ def test_unicode_offsets(self):
+
+ # Verify that ast parser produces offsets as we expect. This is just to inform the
+ # implementation.
+- string_node = next(n for n in ast.walk(root) if isinstance(n, ast.Str))
++ string_node = next(n for n in ast.walk(root) if isinstance(n, ast.Constant))
+ self.assertEqual(string_node.lineno, 1)
+ self.assertEqual(string_node.col_offset, 4)
+
+diff --git a/tests/test_tokenless.py b/tests/test_tokenless.py
+index ab2f3d6..881c69a 100644
+--- a/tests/test_tokenless.py
++++ b/tests/test_tokenless.py
+@@ -47,7 +47,7 @@ def is_fstring_format_spec(node):
+ and len(node.values) == 1
+ and (
+ (
+- isinstance(node.values[0], ast.Str)
++ isinstance(node.values[0], ast.Constant)
+ and node.values[0].value in ['.2f']
+ ) or (
+ isinstance(node.values[0], ast.FormattedValue)
+@@ -97,7 +97,7 @@ def check_node(self, atok, node):
+ atok_text = atok.get_text(node, padded=padded)
+ if ast_text:
+ if sys.version_info < (3, 12) and (
+- ast_text.startswith("f") and isinstance(node, (ast.Str, ast.FormattedValue))
++ ast_text.startswith("f") and isinstance(node, (ast.Constant, ast.FormattedValue))
+ or is_fstring_format_spec(node)
+ or (not fstring_positions_work() and is_fstring_internal_node(node))
+ ):
+diff --git a/tests/test_util.py b/tests/test_util.py
+index a38fef2..0c7f94d 100644
+--- a/tests/test_util.py
++++ b/tests/test_util.py
+@@ -98,7 +98,7 @@ def test_replace(self):
+ source = "foo(bar(1 + 2), 'hello' + ', ' + 'world')"
+ atok = asttokens.ASTTokens(source, parse=True)
+ names = [n for n in asttokens.util.walk(atok.tree) if isinstance(n, ast.Name)]
+- strings = [n for n in asttokens.util.walk(atok.tree) if isinstance(n, ast.Str)]
++ strings = [n for n in asttokens.util.walk(atok.tree) if isinstance(n, ast.Constant) and isinstance(n.value, str)]
+ repl1 = [atok.get_text_range(n) + ('TEST',) for n in names]
+ repl2 = [atok.get_text_range(n) + ('val',) for n in strings]
+ self.assertEqual(asttokens.util.replace(source, repl1 + repl2),
diff --git a/dev-python/async-timeout/Manifest b/dev-python/async-timeout/Manifest
index 4f71e00c5005..27896b5ca0b1 100644
--- a/dev-python/async-timeout/Manifest
+++ b/dev-python/async-timeout/Manifest
@@ -1,5 +1,5 @@
DIST async-timeout-4.0.3.tar.gz 8345 BLAKE2B cd603b5b58f85412220a99b7b5001ac08df18239f8fca0bf20648f1af982a5dd51b7d84ccce1d168530ee1c1afcef048e03b3de68ba8db068782f79da28bfddd SHA512 d7628370c47587a64170e067a5341bba17658da10900fb8ddf4426aa3f4facc55d63b28febb4b65abe12a9ff5be759319f49fc723c82a5a6cc27377c5e33a5a0
DIST async_timeout-5.0.1.tar.gz 9274 BLAKE2B cfc1d36d6627351308b91bc6c08030d1a9dbb9e09373bd13bc942884c6e5f7624aff30140d80c64cd9e99a4fd9ceb0cbdf8d5c14bb15c9b7615da9485d165520 SHA512 cf82de33bf4e092e8b092d9fdd18260ee708383940f3bb198bbad9ee137aa7573e511aaf2bc29f6c19c341c8e66abb6b8c4d5c0c20ca2e6fa0e12b25c2aef1a8
EBUILD async-timeout-4.0.3.ebuild 759 BLAKE2B 4d43d8bc52282ab64a605038f52302ff820502ab0c4fd0fb9e404526c8b8175817b6be0b786b282f09925eff64307017244a57990ab33f03062d08a43f953767 SHA512 3fba1e81eafd0544705025ec2930df57207faa58960c9d434dad68dbf670664863237f80a8b4f8e999164b4af5a3a02622cb81398eb00ab5db06091a01aaba04
-EBUILD async-timeout-5.0.1.ebuild 748 BLAKE2B 9441b1b1f35a6915739c02aedeb7eee700f03bdf06517103e9261bffac9d6f0fe1278cc424317ea6d7a0473ad4557d97a6f845d8efa0b3bf2943fa198ebf55f8 SHA512 1bf80848a5b0c5026f7e7efd030bd2b89d499e3a50c666391e2b22d9f8813aa916e17d6d37280d09aaebd16afcb3624670c41f1491040956d844423544260100
+EBUILD async-timeout-5.0.1.ebuild 742 BLAKE2B 5b95f9a7980bbf7d2d30587fb7998169dec3bed1d789a1ccc852de6a06623a8d09cc511146a641f1ce48b5c3e954a4088af9eef841d7ea874eb4d40036c791c0 SHA512 66d2e2da89c002239fc7b33ea723d6c92ac17fb7a31c5343ec5c0babb406ac38a1d0ad6b2a5df07d224617693f3cca6833059ef2901130e53a69ba8cca5018d1
MISC metadata.xml 460 BLAKE2B 33594e2b78abaae89f7cb0c953a432ead4c468e01d005d4a65aeb846030fa01b1544d8df393e9d73cc4af6e557f106f8077c3fc4b0b35aacec20033352564083 SHA512 47b1f783f49a63c17abcabcc73d350582297f5bdd266a3d57079f1a50e4a6e88680b73993d9efa3609fe9820decf7a4ea4b5b87f9db6e99509695286c50aab1c
diff --git a/dev-python/async-timeout/async-timeout-5.0.1.ebuild b/dev-python/async-timeout/async-timeout-5.0.1.ebuild
index 86be60948c72..3e85d7d4c5ed 100644
--- a/dev-python/async-timeout/async-timeout-5.0.1.ebuild
+++ b/dev-python/async-timeout/async-timeout-5.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi
diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest
index ad3854457701..18be6a030222 100644
--- a/dev-python/beartype/Manifest
+++ b/dev-python/beartype/Manifest
@@ -1,3 +1,5 @@
DIST beartype-0.20.2.tar.gz 1410390 BLAKE2B fa1ca4000b7a32fe7fae4d3712060ba29f1bb690fe9c4c28dda91962f1a76aacdc906305de104e77c7bd34c9063e927c190c9f38c6f6aa8a4d790dd39401392c SHA512 72bb5f1a71e59f7f9debe6d10cb96de01c2f5a9f10f59d2d7002ef01320e17a9bf47d070c8e17d9cf82140b3917082f08a5eb442b825fd43b2cacf9c0fc65455
+DIST beartype-0.21.0rc0.tar.gz 1437966 BLAKE2B 569eac36552c82e24218385478a48a471757e38f157be926b0a524d2c4366a84d1fd615d41b1d29b8b2dcff534e1a5a48a7b20ed894eecc62b2e31413aae9692 SHA512 e3a3ec779eee910741c2e1ac7514d516a05bf800255141a0cbac70c81a87b0bc25028f41e9b0a65396717631e6707164e0ab1cb39cb7d997f1faa3e85743bc73
EBUILD beartype-0.20.2.ebuild 929 BLAKE2B 0ad1315bbd5a901fefea1312b5ef3f8e29d1de59857472844674303e56c6ebb4c33a6c5dc54eebd2777f61bd036ca4ee55490f6362ae02dbc6747a127a6cef84 SHA512 cad2604e8d33bd38be8e55aca2e917e94a973805ec64f681bfb63dad4328c2a2f5c44ebe861c4388d8bce2be9463aa01576aa08c05264571e802d7012f0d4a3e
+EBUILD beartype-0.21.0_rc0.ebuild 941 BLAKE2B 197525ab5c8717ef4c60d0219f4d1aa350f18026f029aece771cbe7eead70e720b6af06e3b1812a6fff2670b798d71dbcf853ecf5188d4d968ef42f8627adf99 SHA512 c445aea917a85e3eadbd9fe0573e3a350b6f4575f08f10ed35a2f4a2d64360b301d1b333b4a934480134ed7b6a09333a1a57d3220ac9dd38489521d3f2e08c00
MISC metadata.xml 393 BLAKE2B f22040a947a67160c9b4c2d41db713ea69ae7a272aba75c04b1620e3f813d62718425acbc8c18716981e4176ebeabc5b60e9376d9927552ea5a36b51b7baccdd SHA512 dea8caeb6e9091672994cee213be075819d593d1034cbc7e2b076f3fc32bd2afde13b6af094956885c9ddaa72f272c6a198f4f92e7b095606fdf900a4cec47ec
diff --git a/dev-python/beartype/beartype-0.21.0_rc0.ebuild b/dev-python/beartype/beartype-0.21.0_rc0.ebuild
new file mode 100644
index 000000000000..73406a141dfb
--- /dev/null
+++ b/dev-python/beartype/beartype-0.21.0_rc0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unbearably fast runtime type checking in pure Python"
+HOMEPAGE="
+ https://pypi.org/project/beartype/
+ https://github.com/beartype/beartype/
+"
+
+LICENSE="MIT"
+SLOT="0"
+
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile performance test
+ beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
+ # test for building docs, apparently broken too
+ beartype_test/a90_func/z90_lib/a00_sphinx
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index e329801590da..bc455a1f550a 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,6 +5,7 @@ DIST boto3-1.38.12.gh.tar.gz 939412 BLAKE2B 096514640df4a98b76c30cd21816260fcb7a
DIST boto3-1.38.13.gh.tar.gz 939786 BLAKE2B 5c65c92b79ce28f398170950ed0fbce84a0079335a391a7ba4243a103634ba9e863fff8305dd799c47b896871ce16c5393fc2a4974026e34b8e35ca396002092 SHA512 e06f144b4cc6784d2563de2bfba2e0868c7877a2232c390bfee9db70518880b2d3c1506d3849b5f7cf46515ee2d1932a1ca09ca8847da2824f97fa5d828bc313
DIST boto3-1.38.14.gh.tar.gz 940393 BLAKE2B c3020c79137502354030dce76a5d3c9c684b89a05acab6a4d8ee525ec79b5bc7456dde1cb515b57b842d99cf923b1cbccf63a00b037dc383492eec0c03f9fe76 SHA512 04e6bc77e79c88268c1d9bd70f05e804377b3858cd5e883e1fd1cacd44857e6b48c21eb5aa1c1eadeef13e69d2d2a68d7fce161be14e315eeed8792daf6ffaa2
DIST boto3-1.38.15.gh.tar.gz 941100 BLAKE2B 4a009dc8b39e2151ddc4e61e1946ffb110dcfde3c20fe68eb18d759bd1a0fe927905deae485461cf37738f62a278a1974aec20192971e704483745a123f38c9a SHA512 5750f5590cdd8fd05059ec7ce7c4406ce034fc5755cc037260d81b1c262e31113b8f0c8b465cd65e6d14b43b318dc18d86b2cef6e9d36efbf89367d856db240b
+DIST boto3-1.38.16.gh.tar.gz 941492 BLAKE2B 13607acf2b65be1e603dfff5d333a44d1c47940e8454820c327d1114cee596aa36a8a7987d1f79041db16669d0320fe1223cf57d5017c613c6c51236fd1a72c5 SHA512 39243988b2f3f0c399ddd8c8149f4ac4e31267cab1598dd51476c4d60b03dc5a30dc874512051eb15432318997cdd274364beaf0092c6e1897b7c9d8f9c97c07
DIST boto3-1.38.3.gh.tar.gz 934010 BLAKE2B f5008a63aec620385e06c15e97ea37335bba190e5a29920c14389ae0dfc0e09a70ce70f8b50c0d25feda3defd9e855739305d19df7759688c156f53fc698b533 SHA512 8f300e38c7912f5df00431c1b70494521ac49500512b4aba7dc18f6bf0e570508d6a00fe8a98eb3c8607af39744a67e3b47d69507dbaf25d44dd02085f24bf95
DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63
DIST boto3-1.38.9.gh.tar.gz 937730 BLAKE2B 6b1a68095601d9b32be0679171a73b204897a7f632c1825ee203d27b46c625b196739b9c6ed8f19e84e0f0d2ba3a777539d9474cbaaa526fd499655e62ce9def SHA512 37960c90bb8de6328dc08cabb98a71e0dbb9303137410a1e44efdd650d6d0009398a4c4fb75ab53f8c8dfa7f566925c03de10012092967e661157f6bdc12e583
@@ -15,6 +16,7 @@ EBUILD boto3-1.38.12.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3c
EBUILD boto3-1.38.13.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
EBUILD boto3-1.38.14.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
EBUILD boto3-1.38.15.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
+EBUILD boto3-1.38.16.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
EBUILD boto3-1.38.3.ebuild 1212 BLAKE2B 330ae5aa88cd37eb5c427614f09837176179dbbc876517f346f4d39f584c63cacf7864d9b06b198aa275da9069c86a2788482d16eae855d441554015bc43f541 SHA512 b52a0c5cc6e1a95e203c7f09aa624e7929896b0ab594289f79d95dbdbc696e5c816387aa1a5cbf6d69bb6d362be1121c9638c5cd62eaabaf3c18e1243f841f4d
EBUILD boto3-1.38.8.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
EBUILD boto3-1.38.9.ebuild 1212 BLAKE2B 95a287aa75911e695b12b9e12efe2a08f4c9f3ca843455c313d0675fca4effe9c06bbd23a7d36337c8f3562a6cde872c80d8dd2abb891543bac6decb9bf1266d SHA512 45c6e4186e3e4c92a3cc26c728a243a6a7b67c9087d46a39fec1ba5830934e6d7a0df34c61504efe73dd7afe62e336766a35a740a618b35e06c4718faf600ea8
diff --git a/dev-python/boto3/boto3-1.38.16.ebuild b/dev-python/boto3/boto3-1.38.16.ebuild
new file mode 100644
index 000000000000..719cd03bd71d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.16.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.12.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 54705754ad9d..05c8099b6e4d 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,6 +5,7 @@ DIST botocore-1.38.12.gh.tar.gz 14619336 BLAKE2B 65e66c6ef2daccef4e21a8256e46331
DIST botocore-1.38.13.gh.tar.gz 14619576 BLAKE2B 088dfd540934b2c1f20e5a63ffd3aa2351021f3f61207d30d3352e3d92c5df6138e87fe74fc9e48b2bf221dda2ede7e632f50f4378448a6dc6cdc2f87aaa0b02 SHA512 b1c7b585289859b94325bb1f3934bcb3a0d7596cb22e20ee79125aff96af2aa9337ec97a197426200b4ac606370eecf395a0ba7e26c79946c9390fbb02acc578
DIST botocore-1.38.14.gh.tar.gz 14627287 BLAKE2B 9033f12f01b6478ce9e2bf5a5796a79a5b45157537b542007d22d7a27aed0cc2f680d5be7bbf49dd6e29708b28221de19387dbe9104f6fca0175deba7bacc565 SHA512 f1e49ceb8f39e9978d9765662e8adf7d6973405559aa62c954a16d4ade2740065efbcc0304faf6ce18fc5f71b2e25091d7dbd4cf406e197a81cad15a7617a5ae
DIST botocore-1.38.15.gh.tar.gz 14635893 BLAKE2B 9060ea9823ad74b5dc4b33c4701ad5c0b868f60e7450628502a12aa7ceb1d114f1edab07a2d2f93f9d43c99f1cf5198418484828eaba6ff8ad179c713754a5d2 SHA512 f8b6e45e31d93b2f6643537dbab22e0f952f14b7a281ab850126229b15c2c7f138d669bc9a22d8eb32a81045b6252c785462b930fdb23ec8f4081c945513f491
+DIST botocore-1.38.16.gh.tar.gz 14637132 BLAKE2B 4c15976226c9bc270093c7912970bb00305d936ded865b595913cf859c70967cc44e1e44d80b23217f958db022b07c5257b089df7786ac1fbb833d9c503c219f SHA512 f8d6bb3350ff3c75a1bb6ede78effbe1d9932f4293c09a25161893d9f1ce0c2d7ab9f56f13880857198c21a37e64686c954c58d195730b19b3561900a1b35121
DIST botocore-1.38.3.gh.tar.gz 14578552 BLAKE2B 4766db1ba2651ebe65c79f8a37c91cf95875a20c0cc51c1886cd394b90d50109738daa79b398e0c4b80031cfab69e1338dfaafbc0ae796fffa3348f6b13fc1ce SHA512 ad69e119d5bbc98a0c14c1c927badeecc1f57d31305e6a07af41d4d4bf6755f5abc150e36321f71b9495221ad93052d84a1dc964fb9ef6fdd791d4c37e75a01a
DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818
DIST botocore-1.38.9.gh.tar.gz 14612563 BLAKE2B 10a0e43846393c06c808e306cde1398ea9374712d07b71d16270cd3238d3063f66ff532fab465acb5a87065002b7ca7394d0c77a25c83b9f8b8ecad7823042a2 SHA512 748c373a1be84a123968444316de7ab6f34b548d7619183d23ae07d0b0aeeeebc8ba1d25bb5517f0491144f7578fa9a7e9fbca066f6aa0da7b2d7439138bb8fd
@@ -15,6 +16,7 @@ EBUILD botocore-1.38.12.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd
EBUILD botocore-1.38.13.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
EBUILD botocore-1.38.14.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
EBUILD botocore-1.38.15.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
+EBUILD botocore-1.38.16.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
EBUILD botocore-1.38.3.ebuild 1491 BLAKE2B fcbd1d768fa7cef66b459149005cdc3c61b9f4890401b522514ad892b3d580e6a81ebd848f4a03e56986500b4e609fd79e1d72a5b5fda534945535f86bed8b6d SHA512 66e5ab74feb520f3e55cd3b5285b2ed204299aa5c5ebe9d33c0cd2a4054aa61be0a140004e613d2612d60c2f33ef82d37d778bb43a5850d63da39d664dc819ae
EBUILD botocore-1.38.8.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
EBUILD botocore-1.38.9.ebuild 1491 BLAKE2B ddf309cd14925e7c4da8586580b6c9a721cd1d56883edddbe34106573e37a298867576d2a4097e56a660bf300ccbb78ce4a199d3a465258355983c8f19686640 SHA512 0ac5d57f6037ad41126858d12b90ffd266e82b93fa48b0756dcd67d658571e2ae0a2e5e37ac0503f01aeb9921ebf0ce34c1fbe2029c051dda972a0c30b34dba8
diff --git a/dev-python/botocore/botocore-1.38.16.ebuild b/dev-python/botocore/botocore-1.38.16.ebuild
new file mode 100644
index 000000000000..b75511187ff5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.16.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/chainstream/Manifest b/dev-python/chainstream/Manifest
index 6b45e248d699..f9ded746b7df 100644
--- a/dev-python/chainstream/Manifest
+++ b/dev-python/chainstream/Manifest
@@ -1,5 +1,5 @@
DIST chainstream-1.0.1.tar.gz 3160 BLAKE2B 1aa8f9323cbb0f71c4bb7ab1aa709f369cc836b12b946de3d5e4a9beb4acb4d6a7d63642285fc3572eb6d85243bb08d9d387c02e768342cb1a90f91bf7b404bc SHA512 5badc4ef451ea208acf5acfe80a24541e2bbb8edfe43cca0cdac7d229d6a68c2df07d2c83d71d8d4251bc0d4b443952d0cdad638f603a85f4f4657717d0bcbac
DIST chainstream-1.0.2.tar.gz 3434 BLAKE2B 1cb8cd9af284dbfc2e55c9813a0c486d66d91e10a3515c6055777bc1aa6de232ee28343da900cd42d39b73202c891b3bae11e00ff51c5ad13c830a4fb5d164bd SHA512 5f53e9c89cfc719da959d8428f7575cbdb84a2d0421d6b05731bf6e6f5ff43b460b6554100dd8dac6498f69b52cdecb0cf3150d01c79f8537344d33ec8a7f9ff
EBUILD chainstream-1.0.1.ebuild 698 BLAKE2B 1ffc0abff3bbbe3bf4bde33f1fb45b781cd9588a2961c6139cec7d80835e5e388a5d407e8bda0d812898370b11f4dfc0e93a8ca0e1c38c59bfa3d3d4550033e1 SHA512 c87c34561d72eac28f233b2658f01de22432ab04a7ce2ca92642f0a894988bb249262621c8421111ceb46b3d1035088a7bca467003fc8d52cdeb139b35729a4b
-EBUILD chainstream-1.0.2.ebuild 777 BLAKE2B 5bdfa407eb091e3f53f302e7e45618f001c24c9190a773f0de8854b11eaa2a0423a02bbd3be148dd799acd087a802724ddba29bf65703009e6461c570414c427 SHA512 fa8fb71c72391a5e7a47d46b84f1abc14b2719b4eef0cb37c8e19f2954cde0ebaaf65019e62b755477579724f35698183b84232827e550b0007ed6100dfdf11f
+EBUILD chainstream-1.0.2.ebuild 776 BLAKE2B 40c2adfb8dc4d91a38a75fe7a92b79cebd30f0f667d027f2b1e0e9a489db1a6fd204aecd0ab41ff7645d288baae54140bd9b045f6d6bab46963d99a77b209a09 SHA512 7181ea964e34b2149fb22e251b76bdc128f2d1f2cce02fea807f2b68bdc38061002d6862ec5ecde19fd35147422aad4a9141b281b04aee0b5cdda53cf063df51
MISC metadata.xml 351 BLAKE2B d45afbe577fc94376974eb14ca268de0aad561e9df65813b17e851f9d11433c6ea037ed5cd15a8d8e4cb919568351690e113085b571435bf93102c620879ca6a SHA512 e5d3d24f3ad50335d3292f0236808943e8d1abad23aa34ca63ef5d5d987523719ee00249e4f922b3bb34fb678811e15172915a3b5ea3d2de246ea590b1343c7e
diff --git a/dev-python/chainstream/chainstream-1.0.2.ebuild b/dev-python/chainstream/chainstream-1.0.2.ebuild
index 71a1fd9611ea..9bc3d19916ae 100644
--- a/dev-python/chainstream/chainstream-1.0.2.ebuild
+++ b/dev-python/chainstream/chainstream-1.0.2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/rrthomas/chainstream/archive/refs/tags/v${PV}.tar.gz
LICENSE="CC-BY-SA-4.0"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~ppc ~sparc ~x86"
src_configure() {
# upstream doesn't provide build system in pyproject.toml
diff --git a/dev-python/cloudpickle/Manifest b/dev-python/cloudpickle/Manifest
index 58c33c90ad77..aaedfd6929e9 100644
--- a/dev-python/cloudpickle/Manifest
+++ b/dev-python/cloudpickle/Manifest
@@ -1,3 +1,3 @@
DIST cloudpickle-3.1.1.gh.tar.gz 63697 BLAKE2B 81a971fd2e96cab4bdd56adf3c6f9eb4349a978a2b5d7dddeb3a1c0ecf0b2c4f02f4fb64890759316d4ba978758aee042ede883f1803d5133d6012da8eef5a48 SHA512 a967f7236dde114d76b3b77e981bc274101e3bd5a11b05b57a23428bf6b9cd8f6b04113295170e40b9d30f1f09d646bc906879c0146aa81b7adf0368608f45b4
-EBUILD cloudpickle-3.1.1.ebuild 938 BLAKE2B a7b7a6f1b01e1755be841ee76a56c63480dad63735b55d06b64d193921ef03cab2dbf5ba464284a571bff69e1099a2501684c5b2ccb211112592a2f2f4e1dc02 SHA512 f3e067fbaa869ec74966b6bfe9ca79df8eb62abea0c04012e67ab080c5071be9fc5298f0f1dafe92bcc04ea0b89fea744154fcf4c12bed5f6b4b553810bd031f
+EBUILD cloudpickle-3.1.1.ebuild 1289 BLAKE2B 874587cbce359bc29a9bb501e6a47ada4c1f2bd4e209e14b9a1139fa4c16722cf9d71ec0e559f5113952e5b458dd2d89e5df29dd15fd79aed3ccc72a45f3bb89 SHA512 126881c994e29960ecdfc6077c86e979ebbb3ea71746002fe61aeadad32ef51d007aab1fc349c6b7447d8e06b2cc4b25c9e39e0a95637beab1f4485aa9931b42
MISC metadata.xml 400 BLAKE2B 6b8036e6fee459cd45ff48884ade7ba9471d948ff06e46062584e5953fdaea8197525ec02e2dc44d4daa6326c7a1859680340e616f27d72ea1d98fe5c011a5cd SHA512 70c88c748d18923d3205c9f2ebc683e6b73240d4f8215f1bf3c3c91bb5eaac259066dc735f10806c43375432df581545831c616ab3aa7218981193956e6c0450
diff --git a/dev-python/cloudpickle/cloudpickle-3.1.1.ebuild b/dev-python/cloudpickle/cloudpickle-3.1.1.ebuild
index de26d493c4b9..267d3933cf39 100644
--- a/dev-python/cloudpickle/cloudpickle-3.1.1.ebuild
+++ b/dev-python/cloudpickle/cloudpickle-3.1.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..13} python3_13t )
+PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t )
inherit distutils-r1
@@ -31,6 +31,17 @@ BDEPEND="
distutils_enable_tests pytest
python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/cloudpipe/cloudpickle/issues/567
+ tests/cloudpickle_test.py::CloudPickleTest::test_locally_defined_class_with_type_hints
+ tests/cloudpickle_test.py::Protocol2CloudPickleTest::test_locally_defined_class_with_type_hints
+ )
+ ;;
+ esac
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTHONPATH=${PYTHONPATH}:tests/cloudpickle_testpkg
# -s unbreaks some tests
diff --git a/dev-python/dirty-equals/Manifest b/dev-python/dirty-equals/Manifest
index 84154b325c3e..fb5cb6a53643 100644
--- a/dev-python/dirty-equals/Manifest
+++ b/dev-python/dirty-equals/Manifest
@@ -1,3 +1,3 @@
DIST dirty-equals-0.9.0.gh.tar.gz 50607 BLAKE2B ec569a818b067a9162d8efefffc9cfae7a7a3ee7ebf1e3659334d4123644046d5195849a9bde0c93f29d23e32657eae2bf692376a6928a8e82044b5fe54a530d SHA512 5e0a3f465c1a0bc70292ab013e5622afdfa1150e3315cfde7cc6dfb458000cc925a9ec6c54fb93bfe287b2c497dbbadc6ebe8e100819e537c7e6769a7ce61776
-EBUILD dirty-equals-0.9.0.ebuild 1163 BLAKE2B 6f51f8a7e2227ed7c8a5aad34205c797cfb573a48ada5fd3c1cfa4618a46e99945e80ee1d706f45f26a05730ac12b38dd4307fb1f0c923962407c453c849e56e SHA512 7b559274759b578a36254207a872bca04b68179558227679928699a1fc874702e3da08cadf52d158c059f58ddd7f103eb32409de1e8551e056bdfc10c6bcec5d
+EBUILD dirty-equals-0.9.0.ebuild 1238 BLAKE2B 61c3cbfa9f0dfdf920083a958fe221e526a8e055b36dd8dcfe3824de96d5f00e31dd071cbbe0c645b1f1ec6c7d7dafa4855804c47721f2cedc3d84c99d540ec4 SHA512 403480f1640546bf17e8cd574c1961da343ab56b19515cec99505571bf16db4218ba04b77d256c4570b4485ae6fd18c6f5f4016319e69ec9847e2f3807f244c5
MISC metadata.xml 383 BLAKE2B 22601baf690733252965e033c617a835a8f06c17ef13ac4fa89a416252ebf09a0330912baa626f0e60b49c43ec6c31db3b25cd1a27c05a813114f45ec3a77993 SHA512 9f567ed60bab61ce20ad2c33f0e55978ac249e11e5e2c5b0348797a0fbd2ddc6767c298ade258453fa3d96b32a8be43ffad94cfa8ed4fded83c3bdb29f9cd3c3
diff --git a/dev-python/dirty-equals/dirty-equals-0.9.0.ebuild b/dev-python/dirty-equals/dirty-equals-0.9.0.ebuild
index 9e3b0e1b0447..6289661475af 100644
--- a/dev-python/dirty-equals/dirty-equals-0.9.0.ebuild
+++ b/dev-python/dirty-equals/dirty-equals-0.9.0.ebuild
@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..13} pypy3_11 pypy3 )
+PYTHON_FULLY_TESTED=( python3_{10..13} pypy3_11 pypy3 )
+PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_14 )
inherit distutils-r1
@@ -28,7 +29,7 @@ BDEPEND="
dev-python/packaging[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/pydantic-2.4.2[${PYTHON_USEDEP}]
- ' 'python*' pypy3)
+ ' "${PYTHON_FULLY_TESTED[@]}")
dev-python/pytest-mock[${PYTHON_USEDEP}]
>=dev-python/pytz-2021.3[${PYTHON_USEDEP}]
)
diff --git a/dev-python/dnspython/Manifest b/dev-python/dnspython/Manifest
index aaff9efa401f..70eeb189ccf6 100644
--- a/dev-python/dnspython/Manifest
+++ b/dev-python/dnspython/Manifest
@@ -1,3 +1,3 @@
DIST dnspython-2.7.0.gh.tar.gz 386890 BLAKE2B 209bbb761cff2e39f86fb94458976766f3cac93e47f2c25294c359c98126aa4670b8157fad6c2bbf67ef250150310b31068690cec43ef148bbaf541873c37f38 SHA512 d73b90a06fa4c731393f719a79ec1339c3f8010b0ef4e58d8aa1aa5e0f2804dff8a79e20d9c9175b41b66bc9cf1712c33f4e2ed14820afc74d988096a42488b5
-EBUILD dnspython-2.7.0.ebuild 1236 BLAKE2B c8ac7a68f97829056aa16fd569870fd15624b670244336c6cf8b3d5970ca5b4359b0d71b87e3fbb5fd8e0c250762b62548dd313e9ebb706c71426be590fb02ed SHA512 32a3838cce4fa1544fb999f428417862d8b691b5eea0b186f502c38f42b30ceb20f828a13753fba0ebc78829c521dba800b8c529f19bfce54084c91464311540
+EBUILD dnspython-2.7.0.ebuild 1230 BLAKE2B 34b41976bff48e5e69edf7ef019cb8e75363a0737f21b2ff3a148dc2dba15d62a23f1e6b3239b26978ca9f68ae4bb1c6f08a7bacb3a89744c7a3ec5f2f3ccc38 SHA512 0b4a3662b6995b360cb296e421e2cc281b26f7018b42222f332b64fac94d2780d9b87bba65597331ba001893c1ea6ed0d90e2252dd53cf459f2a4fdfa16c6e0a
MISC metadata.xml 1709 BLAKE2B abd502753325fedca3f1ca94818258c9d1b82f88766f9e005b35b3e79aff71ca2efaf06188e73ea30830f80ec011cdf5c42df320130c9295e13d3c427a148f8c SHA512 8c25d579a4a2a7c5ff34c21643a1386a434545f6b9b465f4aa8e07f7da3aee203bbc0341e930ddb767af431f64e8024ddd6cc8513cfce862c5900da4637bb1c8
diff --git a/dev-python/dnspython/dnspython-2.7.0.ebuild b/dev-python/dnspython/dnspython-2.7.0.ebuild
index de3f845ba872..3fd56b808f1f 100644
--- a/dev-python/dnspython/dnspython-2.7.0.ebuild
+++ b/dev-python/dnspython/dnspython-2.7.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1
diff --git a/dev-python/email-validator/Manifest b/dev-python/email-validator/Manifest
index 7be84fc21ea2..29d739c606e4 100644
--- a/dev-python/email-validator/Manifest
+++ b/dev-python/email-validator/Manifest
@@ -1,3 +1,3 @@
DIST email_validator-2.2.0.tar.gz 48967 BLAKE2B e4bd0bd77f86bfc93726d91cb3d3c983d230cf347cb449969e9010e98f79b18e138c51ca5d9909e97017e8983d90280aa55c904dc5e01692c494acff5f0b791a SHA512 ec6a3a330bbb32d1c097ff3f9604ec248b0599e43db7b08799b1764cf0e26c4ff544fc439c9e7fd7d1a7dfe07b618294bd31e3e4ce1de35676242f4dd0174d9c
-EBUILD email-validator-2.2.0.ebuild 728 BLAKE2B 51fca2646f1d20d82ccb8488258426e9285091bf9d7cbea763b61088df070bd28f7d90d5101e386b1d59b5f9f838d978f33fa5c2c8004c40fbf79b902a7e692e SHA512 12a9595c38954b54761338791d97da0cdecbf03820b43aad393bfe85b3d9939b582bb79681b1035781c05f1da3029eb06c5c0955cf4f181a7e30f65c01498e36
+EBUILD email-validator-2.2.0.ebuild 722 BLAKE2B 0213acfe79bbed1599e78957b66f2c8d0a4817f1762b951aa10b17f9ebc91d112a5e8b4789ae25f7c2f197a4390d6aee9ca70861a6c02f82710112f59cb3b881 SHA512 e638a8456a62d5508e8c57eb140797d6b507f74e5d0a25789af132b5b93dc43dfe45a4969b1ba3d25c8f13bc3723707bfb68302da6271107a58ccee8a0bc5f8a
MISC metadata.xml 779 BLAKE2B e35978e6a91064ab961f5227b912e8124072bb5a8f20d05ea52abacfda21a179a433ab2a114d385d30b6f22b171eab5cdc4f5ff06492767a8f2eb11f644127b8 SHA512 94a51db167d3127de6cc004853a71ef9123b7f8b80fb275cbe82b56b0cc972f8169736e7ad278187ce178aab680220845d336a7394348c5cd2cf93b301223dc4
diff --git a/dev-python/email-validator/email-validator-2.2.0.ebuild b/dev-python/email-validator/email-validator-2.2.0.ebuild
index 0b35126f1281..432853ad4176 100644
--- a/dev-python/email-validator/email-validator-2.2.0.ebuild
+++ b/dev-python/email-validator/email-validator-2.2.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=email-validator
-PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index b9ca4e92452b..18db571d42e7 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -2,8 +2,10 @@ DIST setuptools-79.0.1-py3-none-any.whl 1256281 BLAKE2B 8ae51bdd1c0ccada116757c2
DIST setuptools-80.2.0-py3-none-any.whl 1240763 BLAKE2B afb1a983aa8534ab20de1889fd8460bcddad7ffb956b95a830879f03982d38da5f76f71d8c45d8134d9c0223dd3771c639f95ad9e4447e4c201dfbabaca16a3d SHA512 d3b4f97ea45a7f98b9dd711ed3bef6e5faf562a2bd114aec458b196170f8ccf53e2ae12642aeed17af65a2647c258679148c1dfe136cb2b59fa7f4fdd3768ad1
DIST setuptools-80.3.1-py3-none-any.whl 1201172 BLAKE2B 4daf6a4a65a4e7c0547750addbf30f92e3a386fd7fcc2a98761ec1bee5caf6ccf506f1e201a9518c34bc278ae504f8b277d6199e23df0457a603b1c05a7bb50d SHA512 85b62d19a3762c9cb5d5b79a2f5319d4d387e334711963730e4b6a72dc73be3291bf5fb6eb40a6284a8486cbe615e8af44bc299210642f70f52d3fbfd41be26c
DIST setuptools-80.4.0-py3-none-any.whl 1200812 BLAKE2B a3487a12084fa8582f1201b6df8cdd23de5b5fc763c5df607a4ae9a688fbd8defe064865e7f03a860819cdff1bf8c8fb98e3f94408e6511709f52eb9538feaef SHA512 2348c2e181394016f23d8ab55d9bf1104f16154729dfa891c3f57cd76d4f2fa0b96cc09b61d2a2ba73ac862c79ae03a6c57850c02c0a46ec279a78dddb06c39d
+DIST setuptools-80.7.1-py3-none-any.whl 1200776 BLAKE2B 6c6203aa84a305d8c812c846e81bd091f5d3ac51a416833e325b3e14f352ee214058b3d4d03768225d370b5a0c3c228ca72b01754b7cc4434bbf8904b7c3ca75 SHA512 a0e842e57588c86224f77e300f994e3937d33a8875f059cc1403995b697f3bab9fa365b20019fb8eac55e2d794b70d098bd6db34eddd48ddc920ec5893b141a5
EBUILD ensurepip-setuptools-79.0.1.ebuild 556 BLAKE2B 5138ddfa90e162a6dc484612350e793edc923cad71d8f43e5457f784d7e1ba107f8f62f088a2fc3f0c4180059322b1585cb24b216b25fc7f9417e216ff2529b6 SHA512 b5e241d65368ef1d8e84ee67007ae531c4304f63d3350c8d383ac57159d377e45a0f2de30e3bfd18d582b15051e833b8344d3329948cca020a5bdc3f36de8bfe
EBUILD ensurepip-setuptools-80.2.0.ebuild 564 BLAKE2B b599f1aeb6752b3ccf752b125f787d7a2a4b88f6cd729b039955823fec3646b4d96a60644a1522d0d26f04e8cf1c5d578f751169cfca0bf5bc02fb40976076b2 SHA512 bfb21908f534637c7df72921ef6e420d1748bf5db83d0b9fa3655496e5ba86d3b84e7967ed6a21b3b5779fd4083351a3b367c0daac1912c904abfd2c24c147a9
EBUILD ensurepip-setuptools-80.3.1.ebuild 564 BLAKE2B b599f1aeb6752b3ccf752b125f787d7a2a4b88f6cd729b039955823fec3646b4d96a60644a1522d0d26f04e8cf1c5d578f751169cfca0bf5bc02fb40976076b2 SHA512 bfb21908f534637c7df72921ef6e420d1748bf5db83d0b9fa3655496e5ba86d3b84e7967ed6a21b3b5779fd4083351a3b367c0daac1912c904abfd2c24c147a9
EBUILD ensurepip-setuptools-80.4.0.ebuild 564 BLAKE2B b599f1aeb6752b3ccf752b125f787d7a2a4b88f6cd729b039955823fec3646b4d96a60644a1522d0d26f04e8cf1c5d578f751169cfca0bf5bc02fb40976076b2 SHA512 bfb21908f534637c7df72921ef6e420d1748bf5db83d0b9fa3655496e5ba86d3b84e7967ed6a21b3b5779fd4083351a3b367c0daac1912c904abfd2c24c147a9
+EBUILD ensurepip-setuptools-80.7.1.ebuild 564 BLAKE2B b599f1aeb6752b3ccf752b125f787d7a2a4b88f6cd729b039955823fec3646b4d96a60644a1522d0d26f04e8cf1c5d578f751169cfca0bf5bc02fb40976076b2 SHA512 bfb21908f534637c7df72921ef6e420d1748bf5db83d0b9fa3655496e5ba86d3b84e7967ed6a21b3b5779fd4083351a3b367c0daac1912c904abfd2c24c147a9
MISC metadata.xml 316 BLAKE2B 17947c657b45cb01758e222aa6051a459bf0bd9a026a73c0df0ae0c3a0c901f6e2315d459ee37036ecd283481a8d97791d64688c108a0706e745a739e3f9e8f8 SHA512 af18f4ae51b253552752e14210789988c815d0dbf0e1d8ff7057e48a09303c4abc1fb240d6f7f15fc0993b33e4c8ee395c2755754b3a2cbfd4c3a3f0dad41cfe
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.7.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.7.1.ebuild
new file mode 100644
index 000000000000..b76c3f6972d8
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-80.7.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest
index 0b178fbc3b7e..6c1e02fc4cb1 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1,5 +1,5 @@
DIST exceptiongroup-1.2.2.tar.gz 28883 BLAKE2B 713a1dcce6575eb8513fc5016b5ef5c11cafeb910f96ab556916da4c109be228cabc078551244d04acb9521ae7af65e1d93a02d7f40fa985760421138f7ccb73 SHA512 dedee1401577d1047a99078552cf24346c55f1e9a281845f327d8ace30b22659877743ce1c8b60fa605988abcac14432138020e9d1c109df911f86993cbe2082
DIST exceptiongroup-1.3.0.tar.gz 29749 BLAKE2B 42b449f2de3b42433c96b939e256dfb1d609fcb478724e3b715aebbb46697c9ae99ad08012a2b7a1c23e1e479f315ff8643e0f13bd87d4c369eb2ddf4f388fca SHA512 b8cbdaf7e7199240b931ca37676a2d5c3465e6ed09efcc23fe660c9fd911d5dde092fb66dfa70ec82dc49404e669bbdb5c55b2b26ef816c189e54797b6225833
EBUILD exceptiongroup-1.2.2.ebuild 972 BLAKE2B bc879443a3fada00d2ab2ddb0881baaa7073ef88fbbd492c1dee44c3201fd60455c4bac26e7b28506dedcb95d3d2874e630f16ae419ee7abb0232f350dc72403 SHA512 db3f6851aca96905c0f3e260aecc0e6d94f8b1718421be6415d40f641c20834d7577a27dbaca660ed7a8113a298a12a8fb0ab5187b815630227d0845dad3d78e
-EBUILD exceptiongroup-1.3.0.ebuild 711 BLAKE2B 31bcae8aa72a12d92c5b1164111095b7c1df612f77ee9e4782a3dc182c06a17bd7d6f0be924b6bcc58239142d6a23818d9855f78e71b9fe545d7eae3f816ce49 SHA512 89a89ae9c04637ea8a66dcc2b34a3e4e34406fdfa623b2896591db26ea06f148c57e7e321fdbdf156407359cc4d967f0902eb53720237764951d2243917bf7c3
+EBUILD exceptiongroup-1.3.0.ebuild 1036 BLAKE2B ae09e9bab480eb25ae279dac01d864de9830ac05ebaee0b4baad936c853ed25ee59bde3e213e4689bcde595c02c10af18c14f30b36f88766f9fa09bf45a8fce1 SHA512 97cedbb5024b2a4bc0ad00299ec141deff385528aa1b38f17367eb004aeaaa6606b4b48a41033110752a992f90068821bacb510b805bb9cafbfdca395e3e8dd3
MISC metadata.xml 384 BLAKE2B 248abcb5fc08c91396cdbff52e5c3e4f6cce2aa273cfd52b48ee13de9ccdaecd09e9a436ed79f258d15d8d4583fe5995e054010c909a522f47e6866e55b3458f SHA512 c631c69438059cb2a6c80e595e45fac904d32dfb53f8be183142f1195d3a3b9bc14bc240f0808e14f47d31beb1887ad82ee79c5f1847c8e6b59dbfeea7913c8b
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.3.0.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.3.0.ebuild
index 42941cce239a..c94646bca373 100644
--- a/dev-python/exceptiongroup/exceptiongroup-1.3.0.ebuild
+++ b/dev-python/exceptiongroup/exceptiongroup-1.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit_scm
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
@@ -27,6 +27,17 @@ RDEPEND="
distutils_enable_tests pytest
python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/agronholm/exceptiongroup/issues/148
+ tests/test_exceptions.py::DeepRecursionInSplitAndSubgroup::test_deep_split
+ tests/test_exceptions.py::DeepRecursionInSplitAndSubgroup::test_deep_subgroup
+ )
+ ;;
+ esac
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index a8c1914d56e8..2f808eace1b6 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1,3 +1,6 @@
+AUX faker-37.1.0-py314.patch 1739 BLAKE2B 87344a97edfe65115b8bec82e4f6a2a0fb58a13bca522e0f4f753f4eb64cabfcbbe4222cb856303949f664b6e9ee7b6799b693fdba9c5aa0bd01471876d76d85 SHA512 e6037a1d7586865c5100ebf1c56aec81c4f77456c7d561e9da6aab22563e60e6bce711e15c16629358c6230d7587e7ba225f9ab938b80c3ed4843d2c7bc05789
DIST faker-37.1.0.tar.gz 1875707 BLAKE2B 67ae3cecd677fde963a6177ebd56f868487cb872d91e825cbef71c73ec227d0f7f6376e8580e587750cfab7fd35e823b67bf655ae883ef701caacf7c0424f16e SHA512 f7abea076457b8eaf391c600f5f91eed9ec11f48e8d0f48e43c4d3a318a8b40da492c23052d3bd6d84b7472a87459cab75c63872492544423f53aec4b596fbf7
-EBUILD faker-37.1.0.ebuild 952 BLAKE2B 83e99246ec77efacd7ff9602044ccd209bb8982cf79590c89ae4023329c598525842129e423b93b8eb440ccfedd10e4c8af0ccb4b9cb2939faa322ba5d483b43 SHA512 83316b1a1f33b0f9284793a437eb0600dae71ba165047c41aeee01c059025218a3534eab1d42db1328765a3c7117ae827caff47c461e84db925e132b0208fb7c
+DIST faker-37.3.0.tar.gz 1901376 BLAKE2B bb8506dc82848e26c1eb47e7e237de4c6aa6b9d0b40ff7f3ae7586d700067ac1ffd95f0a4fcb63544523a9f3e99a27ed173fd4c39016989ae9d1c1b1c5cc8fd3 SHA512 da0a2fdc6646a581802c47c6bcf66c4c1658d4b72d0b0972c13ac5c1c991d96204bd8efd73c6042dd4785614f115b99c6221e243f6ed86326ab69882c1470a5f
+EBUILD faker-37.1.0.ebuild 1036 BLAKE2B 75b0a38a8e7069ea9daa8e9611c7199c04d47caa73f708b3bce8d0539cce73cd863c816bf006ade36ab1762dba1312e3028ad2b40956142b09e554f3d0e2a970 SHA512 2321e1d2e567212e95767426e9a4a21f4bce7b30b11a0c7cd446c2a4c043dc0a9695bd830005387ab1c607e0e1ae5e3a4a23804451c40e4b7b154f740a60f86f
+EBUILD faker-37.3.0.ebuild 953 BLAKE2B 43d761890051958e03acc9044b3ab28a9aa969aa4ee3ec9414d71acea2da07848c4ca5ca73e9c17da0c92064a5d311db08435601c84ec09fc2445dd55f160072 SHA512 3a206eb7e74ab665bcb54e926098bdd1a4365218437262b6554e6b829842644ec421062ff54acd23a8eafa3a1e0ff9cd95a0a701d0cbb5635c2ae9feecf93194
MISC metadata.xml 498 BLAKE2B c9b7885dc7d34f2263068624a6b07ac6f1ec8078cc11abb6137612ba57edffefc48dae2708284aa83ecc941ebb2d3b8a87a143648e404a0683e75bb6c078f4e2 SHA512 0b385bbbfbb026803526e43c6c43965ff75f42d3ab133603708b187686aac29de508856e5e8ae7622a66b99032efa97f95c21625e10d074c858d8aff7446a312
diff --git a/dev-python/faker/faker-37.1.0.ebuild b/dev-python/faker/faker-37.1.0.ebuild
index 1f51daec1777..57e328c855a3 100644
--- a/dev-python/faker/faker-37.1.0.ebuild
+++ b/dev-python/faker/faker-37.1.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_PN=${PN^}
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
@@ -34,6 +34,11 @@ BDEPEND="
# note: tests are flaky with xdist
distutils_enable_tests pytest
+PATCHES=(
+ # https://github.com/joke2k/faker/pull/2213
+ "${FILESDIR}/${P}-py314.patch"
+)
+
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
diff --git a/dev-python/faker/faker-37.3.0.ebuild b/dev-python/faker/faker-37.3.0.ebuild
new file mode 100644
index 000000000000..4e1028448c20
--- /dev/null
+++ b/dev-python/faker/faker-37.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/faker/files/faker-37.1.0-py314.patch b/dev-python/faker/files/faker-37.1.0-py314.patch
new file mode 100644
index 000000000000..9f6931ba7a8d
--- /dev/null
+++ b/dev-python/faker/files/faker-37.1.0-py314.patch
@@ -0,0 +1,45 @@
+From eaad7bb42385793a0622376caf3b832a7836781e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 14 May 2025 13:17:48 +0200
+Subject: [PATCH] Fix type annotations for Python 3.14
+
+Fix type annotations for `Provider.json()` to avoid name collision
+in Python 3.14.0b1 where `json` is resolved to the `json()` method
+itself rather than the `json` module. Import `JSONEncoder` directly
+instead, so we can reference it without `json.`.
+
+Fixes #2212
+---
+ faker/providers/misc/__init__.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/faker/providers/misc/__init__.py b/faker/providers/misc/__init__.py
+index dca3363e..6ed2e958 100644
+--- a/faker/providers/misc/__init__.py
++++ b/faker/providers/misc/__init__.py
+@@ -9,6 +9,7 @@ import tarfile
+ import uuid
+ import zipfile
+
++from json import JSONEncoder
+ from typing import Any, Callable, Dict, List, Literal, Optional, Sequence, Set, Tuple, Type, Union, overload
+
+ from faker.exceptions import UnsupportedFeature
+@@ -536,7 +537,7 @@ class Provider(BaseProvider):
+ data_columns: Optional[List] = None,
+ num_rows: int = 10,
+ indent: Optional[int] = None,
+- cls: Optional[Type[json.JSONEncoder]] = None,
++ cls: Optional[Type[JSONEncoder]] = None,
+ ) -> bytes:
+ """
+ Generate random JSON structure and return as bytes.
+@@ -551,7 +552,7 @@ class Provider(BaseProvider):
+ data_columns: Optional[List] = None,
+ num_rows: int = 10,
+ indent: Optional[int] = None,
+- cls: Optional[Type[json.JSONEncoder]] = None,
++ cls: Optional[Type[JSONEncoder]] = None,
+ ) -> str:
+ """
+ Generate random JSON structure values.
diff --git a/dev-python/filetype/Manifest b/dev-python/filetype/Manifest
index 35b4402d4988..94ec03c1e32e 100644
--- a/dev-python/filetype/Manifest
+++ b/dev-python/filetype/Manifest
@@ -1,3 +1,3 @@
DIST filetype-1.2.0.tar.gz 998020 BLAKE2B 7fdd7e16a8a4d1cdffdd02c5d540d4290de7410a44185875a279c38a4d18c7f67a8bd8ce863efbae2c71c84e93dd1a5621f9fb9e6bde5ac0c611bd5bea939254 SHA512 09ed462d2a82437a58a28aa0315559afbf2e1b30176720254cc2a25fc67ff25e5e99988182e5e748e4e6ccb7ef3fde47cec96ebe20c937ab658bfcfe703ad20c
-EBUILD filetype-1.2.0.ebuild 522 BLAKE2B f458032f7f2ec7d4d1832d96dca8c85d2431acbfbe85d6fc530fabb0dc58e552c71e31caf89f27e35d897ff8e3230713f2c68adf1537c79983f6f645b715c978 SHA512 7917d31ad85672b75ba67c335920569d4c4b5d38069ad3c01551d8b120f32a14000141d1f4dc02b366ce5b29c5977c22e4aae52a3d0116ef7e549972c01d3419
+EBUILD filetype-1.2.0.ebuild 516 BLAKE2B a5a0a16223820c9fa0182e38f06463a930febefa04a4b177589dcc3260245bdd186aae47982d97073f7a3bd50d89d72ef963d35ca5a989ad160185666f5b969d SHA512 0cc141ad30ed426e66bb67bfbd03d3a3a34377c8ef99ce8b6837ebca94e9ac4160d26298dd669b3e9eb1776dc7ca5153c941eda80fcb3d57f35b3096a4564109
MISC metadata.xml 502 BLAKE2B bd79ec6c9e78732f89f64aed99872f5b31a7e75ba4dae7dc184be3e38937e90ea5366cedbd348cb878fd3e604a255559069d33f060ad788d9ba4e3b3c11c2eb7 SHA512 56fd6f66510f365f4111813f64abe9c9bb63f0354ad6e5919ed7c6597665ab9c1ef42f08d207144d16c3c68ad2ad59db06acdce7f3473f6818162efdb0291c67
diff --git a/dev-python/filetype/filetype-1.2.0.ebuild b/dev-python/filetype/filetype-1.2.0.ebuild
index f78510e81f1b..a9d93eaf4d05 100644
--- a/dev-python/filetype/filetype-1.2.0.ebuild
+++ b/dev-python/filetype/filetype-1.2.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index 729385a25b4b..e8b7242adf9b 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -4,6 +4,6 @@ DIST greenlet-3.2.1.tar.gz 184475 BLAKE2B ff36fafef74ff1c0d9a9c2f5929017afe7f083
DIST greenlet-3.2.2.tar.gz 185797 BLAKE2B 8df91b479ea530bb8f5d3069fd4be507583e6ec5268e840c09620577fb8cf4ee3fd9266b0906d35679be61814b193eac1be78f1ccee447a15b99973ee3ce6493 SHA512 ed7b5adec413debc89d01a03768d14f2e29a4fe6ad72ac79d47baa09a556138e27c8f80771d567bf727c19ea67cc1e012fc8f031a910e5551969eb98c9dbbaa6
EBUILD greenlet-3.1.1.ebuild 1212 BLAKE2B 7a6aa980351233c2016cf69724cb149c5c19e03274c20f0b0297074e0534923f03e6e2493f0afdb4e311a35af438124e6338e421d7b58257c0a133c9c4a63918 SHA512 5bbf51f0b0569a75e6657b1580bdedb554baafb36503ad0a226a5c119d7e696d0adfbe5d58fb99732226198839d2f0b609e8c100ee34fd51221fd9ab20d4fb7e
EBUILD greenlet-3.2.0.ebuild 1224 BLAKE2B a980db7c0c49087ca3b5522cb8f793b53d16935036248900ec95f559fbefaabe3147dda7ec2805620e1d93521516b26cca1f7e92767485dfaa45d1d57e342a68 SHA512 1066840577a25ab2d1d8d974b5f1d4c4f399a016f5047fec15fb2372b09036c08925dc5e271fd14c1e15c8eb18c3657b4fc444eb253e553a99f3bf785c4ad1a3
-EBUILD greenlet-3.2.1.ebuild 1220 BLAKE2B 982d358cf86bb9500df9ef1d480e87e719193ebb86a2eb023ecce81f1b39b5cc49f0d568bfffdd14bc31a0520b8e5dd244ed1066011884d1f8688709a2627c06 SHA512 b39b435638b0c4c1746738c3594e79ae065b42a62af080927f44aab1663206dd497f342e0f6d5691ab3a25cc4b00907cf1b444a07e222ba2246743cdd818e68e
+EBUILD greenlet-3.2.1.ebuild 1219 BLAKE2B 4ce5141a3997652536d36f838177223e4bcdb692474614f9aad7a1947b82b8b91b401db326f8f7b43f74ffe868e4d60332a7b4e76900ece770d0ebab1fb2e5d4 SHA512 fcb8006fefa6687a841cbb6eabc666fb07c1a8d0c9c8340ef71c959effcb61367ad0a3d1a543d954cb64a59784860230ac44752d595b0cc38217707fa9b09be2
EBUILD greenlet-3.2.2.ebuild 1224 BLAKE2B f426ac237e7f2a398ccfb1fe7e4349ac9c16737d139f354b5694c3623e02e4326fbb4f3a7c8a31b679337a24486e597513f2391f2ad1153d488b602531dded85 SHA512 68a39e74abf443448edc5dd8bb9fe5cfb92f079b86d3d80dc25466ee90bdb7e6f82cc055233f26f17d02d3429fe8debbdc22a139f3c5e563da2ac47211fc60f0
MISC metadata.xml 388 BLAKE2B db0aba92c5c405fa5736f97c2db14319514e95296ad11aa9aac26e95bdb630961e2ae430cbfcdf2b72425c805b83556f3dda6983dde075be3cb0a3f7d0a45e8f SHA512 3b9003e181f15b46ddd5af3e4a6012f115ca42be0bf2f4e40c0fbb196231de8a5b1320d402de6d4105f61d7e4fd5d868131404796cea19a7547a53ee17c26ce1
diff --git a/dev-python/greenlet/greenlet-3.2.1.ebuild b/dev-python/greenlet/greenlet-3.2.1.ebuild
index 8f5177b63057..c317a5c09ffe 100644
--- a/dev-python/greenlet/greenlet-3.2.1.ebuild
+++ b/dev-python/greenlet/greenlet-3.2.1.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 -hppa ~m68k ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 -hppa ~m68k ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/h11/Manifest b/dev-python/h11/Manifest
index 9b8a9ca46d13..e791b02ebafa 100644
--- a/dev-python/h11/Manifest
+++ b/dev-python/h11/Manifest
@@ -1,5 +1,5 @@
DIST h11-0.14.0.tar.gz 100418 BLAKE2B 09f0dfe4e1d3d117f772ec914cddb4af5c09f07269e0b148f78d95b3b177cb9c69f6406c518ec0ad81ef960c199749317141e50c38cdeee0faf24e1f9333ab27 SHA512 6146f6441ce62ea46d824a86c1687401224ea6084ca2703b9c841dce51cdfb5de49b39a4f4a7e95efae40ed83012ea4a8641700281f728c2f580a90ce42d82a5
DIST h11-0.16.0.tar.gz 101250 BLAKE2B ec7dc5b9dfe0ce8572a8fd00627e3a91cfdb92ec3670b5ed5f76c9de4183d84f3a3be9ae4be1351acc0ba538351d324aff87a2780446de909ae7f29b9398c6eb SHA512 3fac3b788de93e2fed27029c4e21e3ceb016ec0d601e57e22ad7dda465158f83c4e21aee4bceef272576b635ed09df574f92c6df1537ab4f51cdccf65075acce
EBUILD h11-0.14.0.ebuild 560 BLAKE2B 8c1e1a6a5a973620014666622a6a8dc07a90e7bae9a58dc01fb9802a3d621a9f56fb166222b058df35572058584dd3b49cd3b14384ba4a9f1d87ad5d204bb138 SHA512 1311ccd0706fcc8e60808460965300d54ce4eaa902e991b44f0e085f5e6cbf989a26032336953ced2970bbe82bfc9ad18a4e631a8f0379e7ebc68442b6dee400
-EBUILD h11-0.16.0.ebuild 560 BLAKE2B 8c1e1a6a5a973620014666622a6a8dc07a90e7bae9a58dc01fb9802a3d621a9f56fb166222b058df35572058584dd3b49cd3b14384ba4a9f1d87ad5d204bb138 SHA512 1311ccd0706fcc8e60808460965300d54ce4eaa902e991b44f0e085f5e6cbf989a26032336953ced2970bbe82bfc9ad18a4e631a8f0379e7ebc68442b6dee400
+EBUILD h11-0.16.0.ebuild 554 BLAKE2B e103ba95749cb33217a0c844b3cd8f8176147fa0674b0e82939eb0bb30bb253e459e690ba422a1d1765fe5b675e207747a59dbf10e6390e9795a1b440997477c SHA512 5e15220472951ce8134658b693ee4b06aea06aa3445f86b9ee1b460bbb15c2a4754df5f16105a0231eb15eac6322445245bb3057cd4cd5ae67dddbbd583bc36a
MISC metadata.xml 387 BLAKE2B 8bae8408691691a5ce5f285d26e819ef0030c266972cf8acd88a221898d5812f8cd1772b6b4bf762e27306bedfa485f992b24dfb092cc2cb4818ec4a2a524d4a SHA512 573a967df1b9e058dd3cdfb700d72a05c239d8c669e4c0456b23061ccb0dbf97cf584fbed2b090e5811973ba38d429df0b27bc561c4f40a87107b6c16d5863ff
diff --git a/dev-python/h11/h11-0.16.0.ebuild b/dev-python/h11/h11-0.16.0.ebuild
index d1b438318afd..c0d068def8bb 100644
--- a/dev-python/h11/h11-0.16.0.ebuild
+++ b/dev-python/h11/h11-0.16.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/httpcore/Manifest b/dev-python/httpcore/Manifest
index bec178145de3..17499afcd99c 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1,5 +1,5 @@
DIST httpcore-1.0.8.gh.tar.gz 99995 BLAKE2B 1e10a7f8fee6ed91e29927c5a74d82a95f588423a5816058ff6c6df892b718909e31efe984c2509041787a73d17710187f034d348eb61cb5efb8808e33bdfcad SHA512 a8477410091c766042d4b464297b86cff2fae874f7644f23afa3d243aaaef46b4425d5a704b885dfad77288b1995926397fc1d7e04ee38295a713bb2e0ccab4d
DIST httpcore-1.0.9.gh.tar.gz 100038 BLAKE2B bc2208622c1716fbf5a5a4a0baa04f2f5e5c296fd997a6904d776b92bb785128f4c53cd2f78c17c8b06a6efe689f3c9f837e74440c9588d095842d5497ce0eea SHA512 0a1300d9c887dda66b4ac0739406daacd274c1137163b79dd8997a5928438c5b4b130a347e08016a2554bef73aad14225cd5786ff13e932e8d2fb48a4e7245ae
EBUILD httpcore-1.0.8-r1.ebuild 1609 BLAKE2B a395f5624e41bd8eb9761f0975fa834243f7b15a8694101214c50b6acb29c6b2116d9b30668ed22a241cee0e3df05c2a9c68119b2753afa375d58660325685f8 SHA512 8d22ddc9c290db039ee22e20ff226f98132d995ee9f3bd817870b779f9bbb8aece8940d101bba83adb2b198834002bc1c676b28e27063b02c38e0297c26bc844
-EBUILD httpcore-1.0.9-r1.ebuild 1618 BLAKE2B 8e3691e9dda0e6690f6ced7f04c01f552b5618ffbb57b05f37b785e506c7807a200e88aa08a5bccfb08b104ce036d88b371903527851d1ff4dbcc2e9e3f767e8 SHA512 1731f91421f6c18d24a3392638bcb963e91bdda820605da21c809ba18c14300b37b2f92a531a1f37a75bb45b0bc2185b92c04fc4e0c5d916ab76be2d0998edef
+EBUILD httpcore-1.0.9-r1.ebuild 1618 BLAKE2B 24f1fb3af90eebb1ea65bbeea45284b14742967b8be38bda3fca6e208412ecb8f740410059b0b79e435a8680a0a16fd1d34fa6e6b6758115d286b82ad86ac47b SHA512 26366d117c02370d36905d2d8d52d0667de94d1987fb44bb900f094426d490d8c8acb896d3f0a79686f6892f3002c76ebb98d4d495a0f85147afdb12f675eb56
MISC metadata.xml 454 BLAKE2B f8a48d9ab81e5f74623dd0c8490e5de5cc711fda7f4614932e7ac6caa80bd23436037ddf9327d6bddc3d39c8b601b4ee74a85c0a10bacb20514cbf8278e34d1f SHA512 af962141bd55f51b27e0d4b61bcf7d5426e816df4f8c65be257d8fddd597664afe04e78ebe7e11caaebf06ae4fe17b88f568dc440403865ba6b8e3b47d796aa6
diff --git a/dev-python/httpcore/httpcore-1.0.9-r1.ebuild b/dev-python/httpcore/httpcore-1.0.9-r1.ebuild
index b6a2544d6b8e..e29df53ceb7f 100644
--- a/dev-python/httpcore/httpcore-1.0.9-r1.ebuild
+++ b/dev-python/httpcore/httpcore-1.0.9-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 optfeature
diff --git a/dev-python/httptools/Manifest b/dev-python/httptools/Manifest
index 9b2b329d32c9..fef63e3539ca 100644
--- a/dev-python/httptools/Manifest
+++ b/dev-python/httptools/Manifest
@@ -1,3 +1,3 @@
DIST httptools-0.6.4.gh.tar.gz 15756 BLAKE2B 1f128fb566d677f783798236a12fc1729f819fb4e4cd52f43c4879ac6cff8a5c69fb147fef1dadda89e47b560652b15e7ab07e3e5b00f1e8a6ee23afe2efb879 SHA512 3a2518204b22ce00c1fa3f2387138f768511ff03a2a2ddf0b9c44a4d5de65c93bfd8d3ac9f4e9417805c7c9708a8cb39ec4889e08933fdc029607bcae5b54331
-EBUILD httptools-0.6.4.ebuild 1455 BLAKE2B 48dd56bb1888a88dccde56bb3e0a745c32b55c2478b8891d6e0620697b221c86d802cb0d45d04e818d12b1d521dc2d190abb6cd52f5ff788afb83ed779110445 SHA512 bce603714121c3ff7877ac5c68164e23492f7a61677d54f50d2dea31acf2e4647c34947885cd35cc082959cfe91adc3683625a6c5a43b9dae9de97e59f67c3a0
+EBUILD httptools-0.6.4.ebuild 1449 BLAKE2B 8c086a8b7834b646cd525a28f71ee1b4cbab80fee98620ff45d95a18e95b6a6f21e60bfba908e518a5cb39f624f4d96aa5c9327483b77611b58f68eaeb8304c1 SHA512 5b31d0df5f71b661bfa3618552137f6ef62b885854c4b5eaeb37380575411bd451a2b8c0eb663c6426bc91b94cad38ca0419cbf10bffba821bd95afb166dad6b
MISC metadata.xml 351 BLAKE2B 85cf600c898bf9dce98d5cbe23e664426bc190fe466689c2bb0b487edd4ec2da13ed75c18bc346341fac12339bee4ffaae1440012046743e8c6dcebc1f7dbc52 SHA512 9d1d095ba908ef136f0e47ce40730ed9b38189bd75a2c0659045d438cb25195a5c99c3fc3b5e1b933e83532f9f9cac58148123976a01e70e75141b207a751a53
diff --git a/dev-python/httptools/httptools-0.6.4.ebuild b/dev-python/httptools/httptools-0.6.4.ebuild
index 4f69aa08a539..733884695c50 100644
--- a/dev-python/httptools/httptools-0.6.4.ebuild
+++ b/dev-python/httptools/httptools-0.6.4.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest
index 6cfb78aaeab3..db00be7adc49 100644
--- a/dev-python/httpx-socks/Manifest
+++ b/dev-python/httpx-socks/Manifest
@@ -1,3 +1,3 @@
DIST httpx-socks-0.10.0.gh.tar.gz 15429 BLAKE2B fcc96ce3ca5a68a65d89a617ba832961a800d65d543a9f6edfa794fac03ecbb6b2f35364a58f584b4b44c96b4ffc137835f189e370ad1dfc1d373853de4856d3 SHA512 b8c513dece25b10b653a147b98bb8f173ead8c4200d67af96675e33a12e151e2f11368ebd12c35b96fe7fd94797db1a009cc86921d1f9defcd553bffa2f1f2d4
-EBUILD httpx-socks-0.10.0.ebuild 1365 BLAKE2B 1cc33f5c4bdf55a309fd55044f0747d998b6fde9a0b41934d88e5d1f823a262fc34b4339e9e1c4f2158ce5351aaab61af75f088500fb218f093cc355419c18a2 SHA512 a320a908512e97886cd18ad804f8980f7302c849c5e4fd2c93748905cfe9a1de700adeec83d8e85db3af05f83bea5cbd95fc53d37fa4e895c16518f3fde23f6b
+EBUILD httpx-socks-0.10.0.ebuild 1359 BLAKE2B 3203f2b2c64f09679e3f6e326742446e8fb837a1d045353a65a10d715d77ecb072140f611622a9395a270a5bc1a37edab40ca591d53f010f4f28078fcc407a69 SHA512 dd8d30e09fdae7ac21de800fa3b8f9e4dde57d9a0d04d0906910a98c09ccd50134db36b0a2968d7c1719820edcd653bb70375c741c7f1376630bf26ad21d0f7a
MISC metadata.xml 400 BLAKE2B b244ebd9f79b1c3313797b0384339d17df61913473cd26ab01c8490fe02cbe735609dbd2b2d76e7b1b7f716bbb3038590517481a05c1b7886ad49905f171f5e3 SHA512 3cb1600426cdc5b9ec3bd5d18b547dedb961bbc341891293f828e70d5156d845c8676ba25244804d32c702fab40134c39237e5ce4fc518104a969a8f8ffb282f
diff --git a/dev-python/httpx-socks/httpx-socks-0.10.0.ebuild b/dev-python/httpx-socks/httpx-socks-0.10.0.ebuild
index 545373c60af9..744349cfb9a0 100644
--- a/dev-python/httpx-socks/httpx-socks-0.10.0.ebuild
+++ b/dev-python/httpx-socks/httpx-socks-0.10.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index 445248ba6245..c151afc9fbdd 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1,5 +1,5 @@
AUX httpx-0.27.0-opt-trio.patch 506 BLAKE2B da0ccdd398a706a16e21f93ffdc6c9c6d6d0622361f99bc956810e501eb8d82015beaf4274bb396eca0d8d22a833319ad6389271705662b0346839d9158a1d8f SHA512 629cb4e557f3a69af754f115cc8cd0e152d7e046b984aea4db808a1ac6b09302f9231e639c3edaeb169474d83ac2f5c8e69a28d7288e4c10635e4812880e19fa
AUX httpx-0.28.1-httptools-test.patch 486 BLAKE2B f7fc5aa67d59dfbf544ea2668a5df6449d1cb30f5adf1433d92ebbc0fd10d46fec592f1befe829e126d72240666b9c3ea1f69a9f2cca6f3f4e135a7e454be25d SHA512 d3e6a9df365aff5e4e7b724469672c6da9c7e95cc5d79339ebd1ea249236802d81b8792efb0826f89747424fa1bef20d4965ddb75b3b67e9cd320b5fcc738f18
DIST httpx-0.28.1.gh.tar.gz 4118011 BLAKE2B 76c24a3b3618798d5b65aaaa87ee583f9debf8cb7866204a3e12c151179d9f69a6ad23198c9ee7df61058f73b6ca84f453c3bced25a60f583d7b3ad7681839bb SHA512 5571957a3516533f1c1e76f311316811f6365e192d19ebae10c9ab0d0c4094d811063fd2be2995f3b6a41d6899a7882f27265badecf238a4f7903f976136d3ba
-EBUILD httpx-0.28.1-r1.ebuild 2683 BLAKE2B 178fe19289a07468e7af7bfec95e48d9c18697d5371448cf3ed89a6b11c948ac11616e7585b8b15c7400dccc087472132e527360a1429b1d3e6f1d9e3afcc346 SHA512 ab89f2123a469cfd6f3cf372e6feccbe03f684619c0f5c4a615124b991c235b8fbd65774ed99ac3d52f2ae6adf95d3bdb308617d3a4f4901c7e6e7f6760af88e
+EBUILD httpx-0.28.1-r1.ebuild 2819 BLAKE2B 2bfc274b015cb162e050d45fb156c825c7a2bbbb5ebc26070a2589dfb3754afd8c322be1f9cab60013c77735c0d4be35ef1a85bca6517293737f84e4d1a0bd00 SHA512 52d35044086afd96cfe5d41b8a3d9b104a0bc0ba45cb1582dcce4fca03a110c349a59dde4032f03c6fdeb319fd7bb731aec8b368e49586a0034d2c1509915b63
MISC metadata.xml 518 BLAKE2B 063b5b95529cd5a31aac83998c0acbdfef208c34e931c96ae8ee767a326301a597a8297514b5c97bef2b3b706b8938d38c0e5f5d752307a9dd06984792c799a2 SHA512 3a29dffa0f951255a67468b28917590d4108ca12e14af03bfddef80f6d48e266fcccdd991e778ab9e267c0bc76ff0017e07905c1f2f45dc440a9af89f6cae6aa
diff --git a/dev-python/httpx/httpx-0.28.1-r1.ebuild b/dev-python/httpx/httpx-0.28.1-r1.ebuild
index ae31c60afa2c..3bb08e94a12a 100644
--- a/dev-python/httpx/httpx-0.28.1-r1.ebuild
+++ b/dev-python/httpx/httpx-0.28.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 optfeature
@@ -80,6 +80,10 @@ python_test() {
# Internet
tests/client/test_proxies.py::test_async_proxy_close
tests/client/test_proxies.py::test_sync_proxy_close
+ # click-8.2.0
+ # https://github.com/encode/httpx/discussions/3572
+ tests/test_main.py::test_auth
+ tests/test_main.py::test_verbose
)
use cli || EPYTEST_IGNORE+=(
diff --git a/dev-python/hypercorn/Manifest b/dev-python/hypercorn/Manifest
index 2fcbb44bb0d3..a9855baaf9aa 100644
--- a/dev-python/hypercorn/Manifest
+++ b/dev-python/hypercorn/Manifest
@@ -1,3 +1,3 @@
DIST hypercorn-0.17.3.gh.tar.gz 162354 BLAKE2B 60e5e0edbf60330e1a172d8b86ed1e0b2bfbb047dca22bf9eecfd672d8bdcf7a224658d0b5b123fb5f63fcff74ad2928760df58c1be065e4849c5bd36cc5f90f SHA512 d1dd42445af580d4083cfae906cbed7d74b9378be93b476ef2188744f9f17a041b496b270847a8a47ffd99198513f6133942367fc7a11d4d502353c1204a1abb
-EBUILD hypercorn-0.17.3.ebuild 1297 BLAKE2B d54f1d996f5964c4144f263c4cb2a251a91ca7ae381a62f9fcc5f3b0db4ebb8bc106c0f801412bb4d6ae8ec4f2b19c42000aa583e630f71a1d63cb66806c953b SHA512 b031996251630146dedc880edec95783967251a8c78a103d34bf0e65268b7668e9558a0fbaac4e2bcbe0cd9c26b42fadcfbe9a8bcf6fd84da9f18d46ad2c8c71
+EBUILD hypercorn-0.17.3.ebuild 1291 BLAKE2B cede0ec54393c6e29db11f3ea35003373316d16e56d5fa9da1c5929e52e8ab6b584733a1ed74b6415db239a5ee650a2ae2e8defac83e2f9e95a224faa87ca4f4 SHA512 92206974f0b84132d8d4c45ad6db4e53fa9a46a4735a8fb007d81adcec87cbd9b19f01ad625fd6c63ab158441d1974b531b8aa94a706b1bbe869d642a2968db3
MISC metadata.xml 394 BLAKE2B ebdd676a74e00f1952cd6bd0fec099f8a1b0e4f8d6b4a0ceb671dcb294138312d5320e10ae8b9033307b47349a0668bc5d3299ab1d603bf34e95df7c8fc955df SHA512 d8d4a3952b536c5e35e2f68096c4707ec4634d7db70f179e01e8b4ca57983062584c8d4a81d833b9d9a6ebcd83cf8b7389ca1d19e2e656b00da72b74ac87146f
diff --git a/dev-python/hypercorn/hypercorn-0.17.3.ebuild b/dev-python/hypercorn/hypercorn-0.17.3.ebuild
index d198a6785a24..613c99f09c94 100644
--- a/dev-python/hypercorn/hypercorn-0.17.3.ebuild
+++ b/dev-python/hypercorn/hypercorn-0.17.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index ee395d20ceac..2f5e41db0193 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -2,10 +2,12 @@ DIST hypothesis-6.130.13.gh.tar.gz 9544282 BLAKE2B 9a74af5cab1562b5eb2fc00fe1ea6
DIST hypothesis-6.131.12.gh.tar.gz 9551332 BLAKE2B f09f08a67209f4e72b845069f1d99978e53a83f5001a05a54e07b0a8c81f8fa1dfc55b3cd3da8c989efcf7cdf0171816df02c6e54123965a96aa0a0716e872f5 SHA512 01031fd37fadc6f38b0a34224d10d3b57eab109bd0fd77e1d00873b1f9ed08c234664061b22de64f8908ea8aa1909b891fb1035b4016724cd209db8255748722
DIST hypothesis-6.131.15.gh.tar.gz 9553236 BLAKE2B 29473ae79fce7183cbaec2f936824f52a18c02e13e4bd416debadd3c0b7a731d0643373c376b4236a1a857312c995e8822f54d94c1f165e8d77578371886f10d SHA512 ee89bc176230850ef4ecab7a5179f1528c576b21d42af2a76be512df70adb7ddd670a86552e18e5246bfde3184038237d644951149d78f4ca1f8cec77b6a2586
DIST hypothesis-6.131.16.gh.tar.gz 9553561 BLAKE2B 0e7bc016b79bc8e68743e143455c5bb3e9815d186ae8b2e30093f53f0305cd086c2293ba0a10fa82e4b5fc26ffe0089438b3e79c1210c1486656437cbd3e83f3 SHA512 453a4bf94df625ef0fb63b442951990f0066228984f4facb96c46063857b7e8a61647692690f81e837586e20cb79d9dee60426674efe848b698461a0eee13ec0
+DIST hypothesis-6.131.17.gh.tar.gz 9553077 BLAKE2B 4426494ae104f97a7d9e71356fe5917455cf6ed02cee106eea4e11e7da0d9a289f2fbcd01b0fa350292446c2b942839b0bb17e543d15c3f79767626f24ae6cfa SHA512 8ea08bad6d59d87ceac55ab9b8343100bae650bc781c162a102e9bfcb4b0ebfde6e3f6c87351cd44eb2e34a137ee1bc6835a63688b1b292201aaf7a95aadc5c2
DIST hypothesis-6.131.9.gh.tar.gz 9549949 BLAKE2B 8fb5c9b9ad2c3940671d1128980b431fd43e63e35561c53f4cb172e12313019349a9ec3f3d7ecc5c8701e1aef471a1242861a94a37767e61629a42a5bf525ed0 SHA512 345baa03d68ef615fc926d93344e4f5e6f7899f104d489ebcf127426a7b2bdf6b6ac1b19ae153b297102c3a2980fa1627ce8a900a851965b213f0bd30ff4e54c
EBUILD hypothesis-6.130.13.ebuild 2776 BLAKE2B 4501d80be5466313957e45ed1ad3917de15fb527ba74d443ce2c6462a5860a374c83b0d972cf845e7614d7fc3e575690ccac1b4d285247bad39f50904c13f9fa SHA512 0ea0b7e1d4adc2507f5c14b68e83b35360aced11d4b955c18d110a5e625e55e6022ae050b0a1128ffd5bd34d6d6e6652ed6b0b0fb723db6d91525c89b83c3edf
EBUILD hypothesis-6.131.12.ebuild 2993 BLAKE2B 0d5113a5562a1d9665292002557a92783bfae14b7fbfd92152d07fa40e093456eaed979220557ec428c055082babecf0e3dd505789b605761f629eb06ff594ea SHA512 94ed63673d6997432a55c9c3e7aca796995de4efab7308ea29aa5a2d5768821fbf85cd988fad9d7f3689eaa2c06486944670f3fffb6b0e27326ddad4be1bacae
EBUILD hypothesis-6.131.15.ebuild 4702 BLAKE2B 34c5fdb5c76a6e86acd1c347d713d0489fc2f25f04258d41acec9c68a6a8f1ead3f69e203b2399e95917a65dd9c9e1f0cb0899f08236f5290b9a38b45936f366 SHA512 f08df6e92eb16e0470bea28c16152c41dd727f9257a55955b16d3bc36df3cb5994882d1bc753073b79640eceda17a378c45042a162fdea927751e8cbd629303f
EBUILD hypothesis-6.131.16.ebuild 4702 BLAKE2B 34c5fdb5c76a6e86acd1c347d713d0489fc2f25f04258d41acec9c68a6a8f1ead3f69e203b2399e95917a65dd9c9e1f0cb0899f08236f5290b9a38b45936f366 SHA512 f08df6e92eb16e0470bea28c16152c41dd727f9257a55955b16d3bc36df3cb5994882d1bc753073b79640eceda17a378c45042a162fdea927751e8cbd629303f
+EBUILD hypothesis-6.131.17.ebuild 4702 BLAKE2B 34c5fdb5c76a6e86acd1c347d713d0489fc2f25f04258d41acec9c68a6a8f1ead3f69e203b2399e95917a65dd9c9e1f0cb0899f08236f5290b9a38b45936f366 SHA512 f08df6e92eb16e0470bea28c16152c41dd727f9257a55955b16d3bc36df3cb5994882d1bc753073b79640eceda17a378c45042a162fdea927751e8cbd629303f
EBUILD hypothesis-6.131.9.ebuild 2993 BLAKE2B 0d5113a5562a1d9665292002557a92783bfae14b7fbfd92152d07fa40e093456eaed979220557ec428c055082babecf0e3dd505789b605761f629eb06ff594ea SHA512 94ed63673d6997432a55c9c3e7aca796995de4efab7308ea29aa5a2d5768821fbf85cd988fad9d7f3689eaa2c06486944670f3fffb6b0e27326ddad4be1bacae
MISC metadata.xml 492 BLAKE2B c9e9bbd59af55d1f47e5b7a86933c02b47f832122d03eaca56bd3ec9476cf260d91d4fd2da5068845d4525b7cc9f702b515e8d6a0dffa7923f5898cfd44e12a1 SHA512 166b33d6ac887f52d54fb9d556102038c00650a597d2de1c3aad3f8b5e136e9b6b7db31f05f3379435e4c5f943156d5839d78fc95461af411037a3162ea6705e
diff --git a/dev-python/hypothesis/hypothesis-6.131.17.ebuild b/dev-python/hypothesis/hypothesis-6.131.17.ebuild
new file mode 100644
index 000000000000..5fa6bc386470
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.131.17.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 python3_14 python3_{13,14}t )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;&
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/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/immutables/Manifest b/dev-python/immutables/Manifest
index 61e64331ac54..2bcbc89bb21b 100644
--- a/dev-python/immutables/Manifest
+++ b/dev-python/immutables/Manifest
@@ -1,3 +1,3 @@
DIST immutables-0.21.gh.tar.gz 88188 BLAKE2B be5f5e247f16549b1ccf2fa4a95b81818795d04a0ed934509dc3dcac985be4779ea3c2634cd9e8b57321d58ebf63ce828df08f39f19819e6b537ea3195ae87e3 SHA512 ffd754cd5f13f0d961ec05b1c19df4f9a25c0804a402d0dee91e163531eb9f30b50d8abb1252df775cb83922c69b02baa51bef5d6aa17d80fca57442b93d5e94
-EBUILD immutables-0.21.ebuild 1084 BLAKE2B a82a3a0410ec53b1c5df1ea374bd10dac81181048162b93d004618a3aa93ab6d24dc372d4f4aa3259db55c416a65c32311557b219466a788638b1f386c25c7aa SHA512 8f30db970eb0c6972f4401c546c495fcebb889f011026fe133d858cb5ee82d03fcceb77860eeb9e2006a0fe5ee3e07314246f24a45e6c4cea6f74e4f6697d8b4
+EBUILD immutables-0.21.ebuild 1078 BLAKE2B 6be244f3fb61fefbd6708a78c0a766f4237ac49b2c69ba121acdd97e815bc6bed28427ceedde655f0e23ba4be0fb2529251588c8ffc240b82588fed5255abd5b SHA512 9601f39f1cc5b6aecedadc4f0ca3531faed6bddc0d834efdaa37a76a725307038bb72f047e2fb8dc842c4fead0893efc84f6ae9e26f7d8c7b623ebe9d2f46e46
MISC metadata.xml 500 BLAKE2B 6e0ecbab5e2bb4832c5365f1a8942fb4c3838520347031f917a2c834e74ddd17c5d36032f967a1e89a457ddc2da3ab7cbe1145ca80dd9053cfbcbcf4fdfeeaa0 SHA512 b1078749accb64b17f39e884467e1826eaae0bc2cb736d9e97657ae2d06ca86042c5b12c3ea2f430d9a82d65339d2a4bbe9297f2f16d1f8b299e94bb5e2174fe
diff --git a/dev-python/immutables/immutables-0.21.ebuild b/dev-python/immutables/immutables-0.21.ebuild
index 1d54c6a50c73..a82afeaf3540 100644
--- a/dev-python/immutables/immutables-0.21.ebuild
+++ b/dev-python/immutables/immutables-0.21.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 5f93f36204fc..9968c379464b 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -9,5 +9,5 @@ EBUILD ipython-8.35.0-r1.ebuild 4489 BLAKE2B e5875efedd2998c3856b056572f64076070
EBUILD ipython-8.36.0-r1.ebuild 4404 BLAKE2B d4261884217fa0bf8c840066d5e2a15cc46e24dd048a68a0c5ed02f4cc7b306650f6e02604dd81fdc0a856e3fe522594c84a42737e4dd25d5049bf19d4c98c54 SHA512 7a0b1a06cf0ca87185bbc4c4d6c563c87b970aad04cd3a2d1f0a8fa4749016e943571bb55d68723d17a9c434f83f9901a9e8997e465f2bb00c6e793b8be073ac
EBUILD ipython-9.0.2-r1.ebuild 3981 BLAKE2B 95d67c7fed95e00d6c9de2faaa0e372654eb887c2999a2f34213003e21f34b1c04c9b1f097aae9d453f8f9132e86927f2c018f4a4b7c25c8ccdf1d6d2a2aac4a SHA512 2cbfdd6686001a4c7be301e41a560af448177b675847780061207146eb565d98c60b4879ec4a60126ff37efbac9235000e12cd0268386176f6f65ad91e771c40
EBUILD ipython-9.1.0-r1.ebuild 3990 BLAKE2B d8c768309a447a1a36d0e58afae6acaa190e9ecc28001e8ac1667ea083d24605d78a02c112bbe6f9da003a5cb10665b20f4c39589f9337fb46fa43623742407c SHA512 6adc50791433c0351e0fb8a8530e9584644c45d6ef63316e1700276b2c7ad7a99c030691bf14964acd0563c1d1747809ede1226bd914388207532c88f933d963
-EBUILD ipython-9.2.0-r1.ebuild 3989 BLAKE2B 92605b2f17166cdced1fdf23b23d002cd812f9c6e0be0c713480ae3bd693a0e2c0a5a9e11ced92a43e1c6d3a738bd7638648c56535fcbcd3584f149b7c09a736 SHA512 55ee6727d8aa94ffd6411d75d9a4428cf595f4a9f0a3279a4ccbce09be11c206ba2ea4f748f0394960bdd42718d9cf193d5cd018bb31e3d35e4a6a3b5145144f
+EBUILD ipython-9.2.0-r1.ebuild 3988 BLAKE2B e0f2bf15f1c56531fd1ccbbc50279563d2d103891d269883b840a08c69ca6e5bee5b8cd87f0c80ac62fe5e4ca194b1473f185bc7730b3ec5656af48702623db1 SHA512 fa13f5828b831a6cf77920349d3d820d8b7e8ac9662bdade56d6256846819691db95c49abd067b952471a2bd21e7cb003a9a5a203ceb1af72b56e1f81328f1fc
MISC metadata.xml 2802 BLAKE2B 2fb6773ad4ef10d531f978e3ed40f6d99cf1586ec6d7cf2bf7e60fd5d640d082a0946651e0a066993320ffeaace3426066ca24c325926b62125ae91816707128 SHA512 965c3e36e05475d9454af8219b84e080d4c83d775f8a7e20a4951a82246d672c46fd3cb1fff5f8664d0ce8e8fcb846de6f15abc4575db3a6b7d87209194bcecc
diff --git a/dev-python/ipython/ipython-9.2.0-r1.ebuild b/dev-python/ipython/ipython-9.2.0-r1.ebuild
index 9d375c38221e..24f2ba81fa2b 100644
--- a/dev-python/ipython/ipython-9.2.0-r1.ebuild
+++ b/dev-python/ipython/ipython-9.2.0-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="examples notebook nbconvert qt5 +smp test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/littleutils/Manifest b/dev-python/littleutils/Manifest
index 69383fee155b..edae06c1a3fb 100644
--- a/dev-python/littleutils/Manifest
+++ b/dev-python/littleutils/Manifest
@@ -1,3 +1,3 @@
DIST littleutils-0.2.4.tar.gz 9526 BLAKE2B e9db85044f137aa794c5fe4bee7f456d6437313f856a810f6a28f58a3d516a35288079fb08ab0ba2604dd2bb10b4a43790584a607a727497133d0bab66a00589 SHA512 818eb4a1264188cf2edd392602cb4235590fed6a7542870748a3a5a52b6ee303436e2462991a437d19916a39303694e49c7f10282524a569346541bc4eebf515
-EBUILD littleutils-0.2.4.ebuild 599 BLAKE2B 7d6d69da3343df40bd91ae698f58449287c69fd27b0a6d1ba4bb0aa75e4a842d7aa17c0d1e81684de317876fd5a324044002c58fedd3b74e6f2ff747e8e5d7e3 SHA512 5dfdf3af97548b65c7680cd25b774084114430b16f27e55ec64128d737df2f078184404981a5bf04034233824b729915fe9c818171a59e894c4acefcc0307b02
+EBUILD littleutils-0.2.4.ebuild 593 BLAKE2B b7c183963461c097063370719070d8b81e75c219757d6140950cb8ea0eac966b35712940ca0d0d168972e5b2bd8e08a17c71f2523d85392eadf73c069d3fa210 SHA512 7448184505da8cb037d06dcbd78ada53286c7f8a99602a2b0096bf6657672ab425ddffede4579f2590dcd386ce738cf0cf101c8c71c57ac4b3c0f3c1e9755253
MISC metadata.xml 377 BLAKE2B 938ada5473ba95941149e039ca17670238b722cb2ce2301ae55866a8163b82739b25820c9efae9fd1eb3ec8aa6efd51157b8d154438913fa33acc36ca1104483 SHA512 479327bb6b306521010cd65854f2d5cd7627b7887f51d7dbebcfffec5205a0a8d88ccf6c67cc2f9327bf6cf10b5053d218816bd48681bc8888cf0f53889cc703
diff --git a/dev-python/littleutils/littleutils-0.2.4.ebuild b/dev-python/littleutils/littleutils-0.2.4.ebuild
index 57e24708f309..84af835ef767 100644
--- a/dev-python/littleutils/littleutils-0.2.4.ebuild
+++ b/dev-python/littleutils/littleutils-0.2.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest
index 9dd3e6a36f6c..e31b99ebfbb5 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1,5 +1,5 @@
DIST meson-python-0.17.1.gh.tar.gz 79456 BLAKE2B 88bda9aadc74d186aab41c9b3a2fe5ba7d51b5997c1c043cf4ea9448395d0c5c5763ccf35358ab867d32a4537a4041a3cf480d82c9ec5cd8d1b5d6bc67d35fc8 SHA512 bd5f4c807468b81b3630eeb6973c2a574473c22298eb2c43d30b67b7503ce77fd79d4509a8f1b0186197622d281279a9c3aa5d9d1c2286d46b7aea1ff2461ae5
DIST meson-python-0.18.0.gh.tar.gz 88056 BLAKE2B b8379a6cd37c3b4e89884e21ebb85ebed6a5d86575ea57388564659a0fcfab3d0f6b71bd49fc8014486118cf31af3a0a1c67a37afa1b9b93d634622a1bc40570 SHA512 f32f02851cdfc13f29550b297b3bce9038bdaf02381b15064e36442104e93624e090abeae23b9de97dfa971aa456716cae65dbe04784beee13b510db12de1000
EBUILD meson-python-0.17.1.ebuild 1555 BLAKE2B 622049554cc5253f929e8baab818184d076308680fb86ab263e5089688f4d4c864db360bebbbb908ccb3c47270931ecf4c479a2ca7e52591234b3bfc6351649b SHA512 da33f1321fc90851b85cdf1ccce86dffa2cf201e3b1e363ebfbb52cfafc01aa31b567600da81fb2c300374f3c20dee17cf46dc4b3da0ae90b491bd7270f8cb3e
-EBUILD meson-python-0.18.0.ebuild 1478 BLAKE2B 916305fa032b33052f8568a2f1e5d5f96670edc6e8d9dcc8b060e29f77f152169eeebc52e49f9f78cecb1afc7a568560bc90de9d72d8dacf175ec6902e9d8f5e SHA512 6b8636e37fbc506f4bb4faeabe285ac9f9a52c5ddff0762982840fca6f49a15d55515df7b87fbc87ef39fb6071982dc0a819fb3f9a6978ee1edb94015e848aed
+EBUILD meson-python-0.18.0.ebuild 1478 BLAKE2B 971424fd8ee33f0ea29623f728bceba3cd8a8061adbb9f540b938c95dff301d05181258c27a2e3544dc5da43178f93cb2749c65d8d841e6ec804b639ff0c6582 SHA512 87f48d5430ae1fb6b6ab07e6602e5d800f08f534dfec152db42456a01d5c6d08d626680439c4df813b85afb1547ca0a2f5c664e97980c51f0929f7770fe5c3e5
MISC metadata.xml 411 BLAKE2B 8a7344d7bab741106c4eaf5ccabbbdbe359e3c4f4b4a1a94390820392e0508244652b23a170739d43ccff2e82d1593274bfdaf94171cfcd5a6ec748b2ade482c SHA512 05b9171f27ee6707c893c4f3efbac5c16ca9899134b54e94ef3cad9cce620a03cbbadfbdc134f066abc139631c9b6637614ff5e135e0944dc61c5447ec70c129
diff --git a/dev-python/meson-python/meson-python-0.18.0.ebuild b/dev-python/meson-python/meson-python-0.18.0.ebuild
index 3e4491adcf52..f6b0dc16d5d1 100644
--- a/dev-python/meson-python/meson-python-0.18.0.ebuild
+++ b/dev-python/meson-python/meson-python-0.18.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{11..13} pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1
diff --git a/dev-python/minify-html/Manifest b/dev-python/minify-html/Manifest
index 4de761694207..297a67a40871 100644
--- a/dev-python/minify-html/Manifest
+++ b/dev-python/minify-html/Manifest
@@ -1,4 +1,4 @@
DIST minify-html-0.16.4-crates.tar.xz 21961636 BLAKE2B ab6b61fd2a4c1f20203a73419afd5b4f25fdb3f5a3490cfeb1b521642a4403a77b0fbe9d0d036c682dbb165506891a0283c3fd513efcad751679ba7b9efc8f28 SHA512 74f0985390418f0bbaaf88334e87c8135e2dc652a645c3ceaaf3e6ac297ad7de6e49b664232de86fe2a0770910bf94357c230f9f3c7ea4686f6250f00a65c61d
DIST minify_html-0.16.4.tar.gz 92052 BLAKE2B 1f67e8f260483529e76196d74060213da319339aa6f6358d1032222b5e10275ac414ffccd3341acc574f5c7030bd0b7fa294b954c7044002e56101ee5d370909 SHA512 a74f9eb6648e6a84c6ad88e77193361f9c57b237b1b3a3ab8b3655aa0a80cfe75d0262b9219f715080f3cc11696bdf291d5d9cf62e2f8eac9b0d160a881e63da
-EBUILD minify-html-0.16.4.ebuild 1001 BLAKE2B f4a223fae3b81f5bd712d99363c566c240d5e791e540420299268206c0e916778090bbcb7471cba5912f0c9364a87b90424fe6fefbf9f8c4d26b331e5a76bbb4 SHA512 491c17985c4ca911185d2e03cc856157b34c7efdd0339e4b10d8aaf19b7784603e0d59a51fabffb7c42bd8f6d47c1c7009bbd6241c9470789d95a3306d28f739
+EBUILD minify-html-0.16.4.ebuild 958 BLAKE2B de52529d0ca4780c8e2ceaac02831cf86c70c7a7c32118584c2fb34289fdf5e1aeb84c032cb936650c6a962a83896958690d2dd572146b4fdd1064483008496a SHA512 74d1edca7a2d547e09c8d968cfdf43989f699707638fb222d5322d455cc1991ede46d4c272d087c7cbd45c3467993f9973811ef30041251f2fd892e561662b5a
MISC metadata.xml 355 BLAKE2B 3272cd863755bc6cdaa46183ce8151602bf8972f6c6c7e7d1bc5a8299aade51ebb57348fed9d12dd03293b1402309a6b6d2a07b58f1dae61f3c0b11a30c5a455 SHA512 5bdf97a6145ba789fe936430cd19ff09225f3857eee2a5ecc8515638d9d8923d2d3110c894892d5d8f4ce416287784ccc90539def997c4eb5a30c7444994020b
diff --git a/dev-python/minify-html/minify-html-0.16.4.ebuild b/dev-python/minify-html/minify-html-0.16.4.ebuild
index 03d14e08c6cc..f62fddf6b1d3 100644
--- a/dev-python/minify-html/minify-html-0.16.4.ebuild
+++ b/dev-python/minify-html/minify-html-0.16.4.ebuild
@@ -5,11 +5,9 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
-
-CRATES="
-"
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+CRATES=""
inherit cargo distutils-r1 pypi
DESCRIPTION="Extremely fast and smart HTML + JS + CSS minifier"
@@ -17,14 +15,7 @@ HOMEPAGE="
https://github.com/wilsonzlin/minify-html/
https://pypi.org/project/minify-html/
"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-if [[ ${PKGBUMPING} != ${PVR} ]]; then
- SRC_URI+="
- https://github.com/gentoo-crate-dist/minify-html/releases/download/v${PV}/${P}-crates.tar.xz
- "
-fi
+SRC_URI+=" https://github.com/gentoo-crate-dist/minify-html/releases/download/v${PV}/${P}-crates.tar.xz"
LICENSE="MIT"
# Dependent crate licenses
@@ -39,6 +30,8 @@ KEYWORDS="~amd64 ~arm64"
QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/minify_html/minify_html.*.so"
+export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+
src_prepare() {
sed -i -e '/strip/d' Cargo.toml || die
distutils-r1_src_prepare
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index e6c3c5c69a3f..bb44c1fe4e61 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,4 +1,5 @@
AUX numpy-2.0.2-setuptools-74.patch 1108 BLAKE2B caaf54f911a6a260d0311c017be13620bb8386df122f62886aeff127c468cc5d7fd9ab2a8b55e4cf15330624b605e1caa4585b840bda2a9dcf2bcee307ee59cb SHA512 ff1280c6e17d580e9b762c29073f81131f30ae07890925874646defb2df47cfbfb1127262097df8ec9b15bc2c7fb44dc807013eccabc377eda5c98a1aaad7fa3
+AUX numpy-2.2.5-py314.patch 11203 BLAKE2B 6bda4f24dd4cbe0d171a55b6e5b38f7dba4e8634116d145b91c660eca7fe1cdce15e3d53775e043ff4890da88af28b5d64f4b4f519bedd0b8387dd9562e92a3e SHA512 5e42dbdd046af458ec36117565e78777b49f38106a1c6356b215966964e29326b54ce76d251aad14afa1e2af32b22420bd6eba01ad3cc360f9ef83b4bf06314b
DIST numpy-1.26.4.tar.gz 15786129 BLAKE2B ee759d3a857111bc494d5e989a7b005375d942b2a89cda69be4a3bd7c6cb195003fd2a8a0535f1858d8977ff688b0ec36360dcba9c3160206eedce5e28f191ef SHA512 f7121ab4099fa0686f9c095d456baa4a5869d651d7b7a06385f885f329cf08f11024b5df5e7b4ee705970062a8102ec4f709512eabbfd5c9fccce4ef83b9c208
DIST numpy-2.0.2.tar.gz 18902015 BLAKE2B 63f993e3429bff1dac1ff79fad23a36a2493fd2c8a825ef96b6b87d82b0e68393d2829c5ecd9065df345c8bfbb1f8f385077f154264f7d2810d311d1d6672bd7 SHA512 d769fd4f07e082fae1661c6856d6d726e189f6931f3028c6819f9806aa9dfd15ab2b49c48b94bfd925eb3f74fddb6f044c9ba93bbb785b5476440dd1cf0b4999
DIST numpy-2.1.3.tar.gz 20166090 BLAKE2B 746d343b17039d58738358168a613a2b85d6fb9cad1eeb367b851cd8d46fd42647990b47f0b4fb794ce5c4da2fa0a5d61e3ba42ea2f1945680f36cff31bb7b0d SHA512 59568acda3a77160908a23c354f0574970cb3daeea79ab535762a75a5f3a52a5cedd5754bb507cc238cf5948b37f0045523ed59c04cf6fc4a94ed22b9b77b8c1
@@ -12,5 +13,6 @@ EBUILD numpy-2.1.3.ebuild 6246 BLAKE2B 0d1a013f45e3d444df736b81f3869a174f3075200
EBUILD numpy-2.2.2.ebuild 5801 BLAKE2B 1a4468ca65ef26bd303ab4189ba13885465ef9da29284a4bb73bd16bda7fb131139d54cbef7f03838229badbb2ee618dfe63b7871fdf8e4201613af822344f29 SHA512 1b335d129435a337f01ac245c9252b14fe0cd18c44acce5d4ff6aefe69c3b56dadc5d0750a18e776c420e6af4ab23c1db446f1b954d8f776365826e4542eb69e
EBUILD numpy-2.2.3.ebuild 6217 BLAKE2B 931cb7299bcf9983e971d907915a7e2f47a4e709672f9b0990802d1d6a7577365ba38a95814ae50cb420b52b8002d63285301c4d06c6bc4ada34903a382280cf SHA512 408efd60526526f17ef0f10b939f551081e782b3fc570c0ac7a915a624dd840f0f39e4ce135ff07e4d285848a1e1cf0d9a3c317cc64aad2d7194db7a1306e167
EBUILD numpy-2.2.4.ebuild 6215 BLAKE2B acf9cc746f62303054166e574faf87200b595050739d93da90619b03b3fdf6378328d84a013696c268e618a811931b0a1aeacb813a00a29ecaa0f7fcbe0f774b SHA512 603a6d8dbf9738686a9ff6141be66baf1e1549ffc91d4a388deeab559d929cb6f791a51606a80b4707e5fc40cc93d1cad9f2ab685b46abf250747ddf0611c80d
-EBUILD numpy-2.2.5.ebuild 6217 BLAKE2B 6fb8b9a2deb6a3c592666a6fd7fd6182260aba532b62ec6a808cede7edf77f6ceaffef096dcd45081dad06c86fd28633f2069259da76ff7920d131332ded4dfb SHA512 9cbbedbec377b13f5e1289ceef827db2d814d28936f5c3b68e3b3b05d6153d56779f35c9f877dad0bc203ddbd1dbeb23b395fd923967943af7ca99bb394d89df
+EBUILD numpy-2.2.5-r1.ebuild 6368 BLAKE2B 96f3659882f8dc1f9aeb886c629754434d5146d442830e987d11e04f497bae1bf755ebda5b88462bade48d4de6d7c8f569f6aa676ad88df9929856a1d1fff470 SHA512 afafe88193309669141a734a442e5112c7c426d2acbf3b2922d100a8b1b06241b71a619ec259b0e3d74465cb6b27655819093555c85cfbff803b277f016bc71e
+EBUILD numpy-2.2.5.ebuild 6216 BLAKE2B 1376855a2a0aff6a00b38c8fb2969782c63dd9939aab18e0b8ff96ecdf4e43edb75ac515ae69ad5fee6e806d3998b0637a54f9790a3ac875347986a74cca5ef8 SHA512 f6adad01713f0ccbd4ba2b335d255ee14f05c4841b37e719f7701de3c9dcd191aaa400a7b8d1b52b4ca4a6e245ffe195d925986c7a0d1c82b8f0161b6429c50d
MISC metadata.xml 932 BLAKE2B 7a4af31f613bab05ff542da48bf6ff1484d9df2459f559516e71329451dd739d3df0fead507c8033d94ab9ed516b68efe7f21819a8cd6ca303643d8c8bc34e86 SHA512 32cb8c1ab61521a02cbec38f6ea383f074e50d46aa3462ddcb85710f9d348e8e628cf2a5725e3cd921cc32f02885a1b5f02125639f0ec885384eeeff7f468a06
diff --git a/dev-python/numpy/files/numpy-2.2.5-py314.patch b/dev-python/numpy/files/numpy-2.2.5-py314.patch
new file mode 100644
index 000000000000..bdb0762e733c
--- /dev/null
+++ b/dev-python/numpy/files/numpy-2.2.5-py314.patch
@@ -0,0 +1,298 @@
+From 57084ae28ed14f3bba89ab51104dd5521b7edb64 Mon Sep 17 00:00:00 2001
+From: Nathan Goldbaum <nathan.goldbaum@gmail.com>
+Date: Tue, 22 Apr 2025 15:31:14 -0600
+Subject: [PATCH] ENH: Support Python 3.14 (#28748)
+
+* MNT: use CPython internal APIs to hotfix temporary elision on 3.14
+
+This is based on a diff from Sam Gross, see
+https://github.com/numpy/numpy/issues/28681#issuecomment-2810661401
+
+* TST: use refcount deltas in tests that hardcode refcounts
+
+* TST: one more refcount test change I don't understand
+
+* TST: fix ResourceWarning
+
+* CI: add 3.14 and 3.14t linux CI
+
+* CI: try with setup-python instead of setup-uv
+
+* CI: fix 3.14t-dev cython install
+
+* Update numpy/_core/src/multiarray/temp_elide.c
+
+Co-authored-by: Ross Barnowski <rossbar@caltech.edu>
+
+* CI: drop linux 3.13t smoke test
+
+* TST: move refcount check inside with block
+
+* MNT: guard against a possible future PyPy 3.14
+
+---------
+
+Co-authored-by: Ross Barnowski <rossbar@caltech.edu>
+
+MNT: add support for 3.14.0b1
+---
+ numpy/_core/src/multiarray/temp_elide.c | 19 +++++++++--
+ numpy/_core/tests/test_dlpack.py | 8 ++---
+ numpy/_core/tests/test_dtype.py | 3 +-
+ numpy/_core/tests/test_indexing.py | 6 ++--
+ numpy/_core/tests/test_item_selection.py | 8 +++--
+ numpy/_core/tests/test_multiarray.py | 4 ++-
+ numpy/_core/tests/test_nditer.py | 7 ++--
+ numpy/_core/tests/test_regression.py | 43 +++++++++++-------------
+ numpy/_core/tests/test_umath.py | 4 +--
+ 9 files changed, 62 insertions(+), 40 deletions(-)
+
+diff --git a/numpy/_core/src/multiarray/temp_elide.c b/numpy/_core/src/multiarray/temp_elide.c
+index 662a2fa52b..9236476c42 100644
+--- a/numpy/_core/src/multiarray/temp_elide.c
++++ b/numpy/_core/src/multiarray/temp_elide.c
+@@ -109,6 +109,19 @@ find_addr(void * addresses[], npy_intp naddr, void * addr)
+ return 0;
+ }
+
++static int
++check_unique_temporary(PyObject *lhs)
++{
++#if PY_VERSION_HEX == 0x030E00A7 && !defined(PYPY_VERSION)
++#error "NumPy is broken on CPython 3.14.0a7, please update to a newer version"
++#elif PY_VERSION_HEX >= 0x030E00B1 && !defined(PYPY_VERSION)
++ // see https://github.com/python/cpython/issues/133164
++ return PyUnstable_Object_IsUniqueReferencedTemporary(lhs);
++#else
++ return 1;
++#endif
++}
++
+ static int
+ check_callers(int * cannot)
+ {
+@@ -295,7 +308,8 @@ can_elide_temp(PyObject *olhs, PyObject *orhs, int *cannot)
+ !PyArray_CHKFLAGS(alhs, NPY_ARRAY_OWNDATA) ||
+ !PyArray_ISWRITEABLE(alhs) ||
+ PyArray_CHKFLAGS(alhs, NPY_ARRAY_WRITEBACKIFCOPY) ||
+- PyArray_NBYTES(alhs) < NPY_MIN_ELIDE_BYTES) {
++ PyArray_NBYTES(alhs) < NPY_MIN_ELIDE_BYTES ||
++ !check_unique_temporary(olhs)) {
+ return 0;
+ }
+ if (PyArray_CheckExact(orhs) ||
+@@ -372,7 +386,8 @@ can_elide_temp_unary(PyArrayObject * m1)
+ !PyArray_ISNUMBER(m1) ||
+ !PyArray_CHKFLAGS(m1, NPY_ARRAY_OWNDATA) ||
+ !PyArray_ISWRITEABLE(m1) ||
+- PyArray_NBYTES(m1) < NPY_MIN_ELIDE_BYTES) {
++ PyArray_NBYTES(m1) < NPY_MIN_ELIDE_BYTES ||
++ !check_unique_temporary((PyObject *)m1)) {
+ return 0;
+ }
+ if (check_callers(&cannot)) {
+diff --git a/numpy/_core/tests/test_dlpack.py b/numpy/_core/tests/test_dlpack.py
+index 41dd724295..d273bd798e 100644
+--- a/numpy/_core/tests/test_dlpack.py
++++ b/numpy/_core/tests/test_dlpack.py
+@@ -22,9 +22,9 @@ class TestDLPack:
+ def test_dunder_dlpack_refcount(self, max_version):
+ x = np.arange(5)
+ y = x.__dlpack__(max_version=max_version)
+- assert sys.getrefcount(x) == 3
++ startcount = sys.getrefcount(x)
+ del y
+- assert sys.getrefcount(x) == 2
++ assert startcount - sys.getrefcount(x) == 1
+
+ def test_dunder_dlpack_stream(self):
+ x = np.arange(5)
+@@ -58,9 +58,9 @@ def test_strides_not_multiple_of_itemsize(self):
+ def test_from_dlpack_refcount(self, arr):
+ arr = arr.copy()
+ y = np.from_dlpack(arr)
+- assert sys.getrefcount(arr) == 3
++ startcount = sys.getrefcount(arr)
+ del y
+- assert sys.getrefcount(arr) == 2
++ assert startcount - sys.getrefcount(arr) == 1
+
+ @pytest.mark.parametrize("dtype", [
+ np.bool,
+diff --git a/numpy/_core/tests/test_dtype.py b/numpy/_core/tests/test_dtype.py
+index deeca5171c..759eefeb2a 100644
+--- a/numpy/_core/tests/test_dtype.py
++++ b/numpy/_core/tests/test_dtype.py
+@@ -1901,9 +1901,10 @@ class mytype:
+ if HAS_REFCOUNT:
+ # Create an array and test that memory gets cleaned up (gh-25949)
+ o = object()
++ startcount = sys.getrefcount(o)
+ a = np.array([o], dtype=dt)
+ del a
+- assert sys.getrefcount(o) == 2
++ assert sys.getrefcount(o) == startcount
+
+ def test_custom_structured_dtype_errors(self):
+ class mytype:
+diff --git a/numpy/_core/tests/test_indexing.py b/numpy/_core/tests/test_indexing.py
+index f393c401cd..bb757cdf7e 100644
+--- a/numpy/_core/tests/test_indexing.py
++++ b/numpy/_core/tests/test_indexing.py
+@@ -1174,6 +1174,8 @@ def _compare_index_result(self, arr, index, mimic_get, no_copy):
+ """Compare mimicked result to indexing result.
+ """
+ arr = arr.copy()
++ if HAS_REFCOUNT:
++ startcount = sys.getrefcount(arr)
+ indexed_arr = arr[index]
+ assert_array_equal(indexed_arr, mimic_get)
+ # Check if we got a view, unless its a 0-sized or 0-d array.
+@@ -1184,9 +1186,9 @@ def _compare_index_result(self, arr, index, mimic_get, no_copy):
+ if HAS_REFCOUNT:
+ if no_copy:
+ # refcount increases by one:
+- assert_equal(sys.getrefcount(arr), 3)
++ assert_equal(sys.getrefcount(arr), startcount + 1)
+ else:
+- assert_equal(sys.getrefcount(arr), 2)
++ assert_equal(sys.getrefcount(arr), startcount)
+
+ # Test non-broadcast setitem:
+ b = arr.copy()
+diff --git a/numpy/_core/tests/test_item_selection.py b/numpy/_core/tests/test_item_selection.py
+index 5660ef583e..839127ecdb 100644
+--- a/numpy/_core/tests/test_item_selection.py
++++ b/numpy/_core/tests/test_item_selection.py
+@@ -50,19 +50,23 @@ def test_simple(self):
+
+ def test_refcounting(self):
+ objects = [object() for i in range(10)]
++ if HAS_REFCOUNT:
++ orig_rcs = [sys.getrefcount(o) for o in objects]
+ for mode in ('raise', 'clip', 'wrap'):
+ a = np.array(objects)
+ b = np.array([2, 2, 4, 5, 3, 5])
+ a.take(b, out=a[:6], mode=mode)
+ del a
+ if HAS_REFCOUNT:
+- assert_(all(sys.getrefcount(o) == 3 for o in objects))
++ assert_(all(sys.getrefcount(o) == rc + 1
++ for o, rc in zip(objects, orig_rcs)))
+ # not contiguous, example:
+ a = np.array(objects * 2)[::2]
+ a.take(b, out=a[:6], mode=mode)
+ del a
+ if HAS_REFCOUNT:
+- assert_(all(sys.getrefcount(o) == 3 for o in objects))
++ assert_(all(sys.getrefcount(o) == rc + 1
++ for o, rc in zip(objects, orig_rcs)))
+
+ def test_unicode_mode(self):
+ d = np.arange(10)
+diff --git a/numpy/_core/tests/test_multiarray.py b/numpy/_core/tests/test_multiarray.py
+index 87508732d8..3f26578c85 100644
+--- a/numpy/_core/tests/test_multiarray.py
++++ b/numpy/_core/tests/test_multiarray.py
+@@ -6779,10 +6779,12 @@ def test_dot_3args(self):
+ v = np.random.random_sample((16, 32))
+
+ r = np.empty((1024, 32))
++ if HAS_REFCOUNT:
++ orig_refcount = sys.getrefcount(r)
+ for i in range(12):
+ dot(f, v, r)
+ if HAS_REFCOUNT:
+- assert_equal(sys.getrefcount(r), 2)
++ assert_equal(sys.getrefcount(r), orig_refcount)
+ r2 = dot(f, v, out=None)
+ assert_array_equal(r2, r)
+ assert_(r is dot(f, v, out=r))
+diff --git a/numpy/_core/tests/test_nditer.py b/numpy/_core/tests/test_nditer.py
+index b0d911f24f..d6a9e42ae3 100644
+--- a/numpy/_core/tests/test_nditer.py
++++ b/numpy/_core/tests/test_nditer.py
+@@ -1126,9 +1126,10 @@ def test_iter_object_arrays_conversions():
+ rc = sys.getrefcount(ob)
+ for x in i:
+ x[...] += 1
+- if HAS_REFCOUNT:
+- assert_(sys.getrefcount(ob) == rc-1)
+- assert_equal(a, np.arange(6)+98172489)
++ if HAS_REFCOUNT:
++ newrc = sys.getrefcount(ob)
++ assert_(newrc == rc - 1)
++ assert_equal(a, np.arange(6) + 98172489)
+
+ def test_iter_common_dtype():
+ # Check that the iterator finds a common data type correctly
+diff --git a/numpy/_core/tests/test_regression.py b/numpy/_core/tests/test_regression.py
+index 851ce324d7..eeb640659e 100644
+--- a/numpy/_core/tests/test_regression.py
++++ b/numpy/_core/tests/test_regression.py
+@@ -1586,29 +1586,26 @@ def test_take_refcount(self):
+ def test_fromfile_tofile_seeks(self):
+ # On Python 3, tofile/fromfile used to get (#1610) the Python
+ # file handle out of sync
+- f0 = tempfile.NamedTemporaryFile()
+- f = f0.file
+- f.write(np.arange(255, dtype='u1').tobytes())
+-
+- f.seek(20)
+- ret = np.fromfile(f, count=4, dtype='u1')
+- assert_equal(ret, np.array([20, 21, 22, 23], dtype='u1'))
+- assert_equal(f.tell(), 24)
+-
+- f.seek(40)
+- np.array([1, 2, 3], dtype='u1').tofile(f)
+- assert_equal(f.tell(), 43)
+-
+- f.seek(40)
+- data = f.read(3)
+- assert_equal(data, b"\x01\x02\x03")
+-
+- f.seek(80)
+- f.read(4)
+- data = np.fromfile(f, dtype='u1', count=4)
+- assert_equal(data, np.array([84, 85, 86, 87], dtype='u1'))
+-
+- f.close()
++ with tempfile.NamedTemporaryFile() as f:
++ f.write(np.arange(255, dtype='u1').tobytes())
++
++ f.seek(20)
++ ret = np.fromfile(f, count=4, dtype='u1')
++ assert_equal(ret, np.array([20, 21, 22, 23], dtype='u1'))
++ assert_equal(f.tell(), 24)
++
++ f.seek(40)
++ np.array([1, 2, 3], dtype='u1').tofile(f)
++ assert_equal(f.tell(), 43)
++
++ f.seek(40)
++ data = f.read(3)
++ assert_equal(data, b"\x01\x02\x03")
++
++ f.seek(80)
++ f.read(4)
++ data = np.fromfile(f, dtype='u1', count=4)
++ assert_equal(data, np.array([84, 85, 86, 87], dtype='u1'))
+
+ def test_complex_scalar_warning(self):
+ for tp in [np.csingle, np.cdouble, np.clongdouble]:
+diff --git a/numpy/_core/tests/test_umath.py b/numpy/_core/tests/test_umath.py
+index 4d56c785d5..d432e33412 100644
+--- a/numpy/_core/tests/test_umath.py
++++ b/numpy/_core/tests/test_umath.py
+@@ -269,9 +269,9 @@ class ArrSubclass(np.ndarray):
+ pass
+
+ arr = np.arange(10).view(ArrSubclass)
+-
++ orig_refcount = sys.getrefcount(arr)
+ arr *= 1
+- assert sys.getrefcount(arr) == 2
++ assert sys.getrefcount(arr) == orig_refcount
+
+
+ class TestComparisons:
diff --git a/dev-python/numpy/numpy-2.2.5-r1.ebuild b/dev-python/numpy/numpy-2.2.5-r1.ebuild
new file mode 100644
index 000000000000..cee6d0e62cd6
--- /dev/null
+++ b/dev-python/numpy/numpy-2.2.5-r1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="big-endian +lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/numpy/numpy/pull/28748
+ # https://github.com/numpy/numpy/pull/28928
+ "${FILESDIR}/${PN}-2.2.5-py314.patch"
+ )
+
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ numpy/typing/tests/test_typing.py
+ # Uses huge amount of memory
+ numpy/core/tests/test_mem_overlap.py
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${ARCH} in
+ arm)
+ EPYTEST_DESELECT+=(
+ # TODO: warnings
+ numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception
+
+ # TODO
+ numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ hppa)
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/942689
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]"
+ "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[<f]"
+ "numpy/_core/tests/test_dtype.py::TestPickling::test_pickle_dtype[dt28]"
+ numpy/f2py/tests/test_kind.py::TestKind::test_real
+ numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_reference_cycles
+ numpy/tests/test_ctypeslib.py::TestAsArray::test_segmentation_fault
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_scalar
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_subarray
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure_aligned
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_union
+ numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_padded_union
+ )
+ ;;
+ ppc|x86)
+ EPYTEST_DESELECT+=(
+ # require too much memory
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ )
+ ;;
+ esac
+
+ if [[ ${CHOST} == powerpc64le-* ]]; then
+ EPYTEST_DESELECT+=(
+ # long double thingy
+ numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_ppc64_ibm_double_double128
+ )
+ fi
+
+ if use big-endian; then
+ EPYTEST_DESELECT+=(
+ # ppc64 and sparc
+ numpy/linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases
+ numpy/linalg/tests/test_linalg.py::TestDet::test_sq_cases
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]"
+ "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]"
+ )
+ fi
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -p rerunfailures --reruns=5
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numpy/numpy-2.2.5.ebuild b/dev-python/numpy/numpy-2.2.5.ebuild
index 6385f53149f4..33c563a51d72 100644
--- a/dev-python/numpy/numpy-2.2.5.ebuild
+++ b/dev-python/numpy/numpy-2.2.5.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0/2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
# +lapack because the internal fallbacks are pretty slow. Building without blas
# is barely supported anyway, see bug #914358.
IUSE="big-endian +lapack"
diff --git a/dev-python/outcome/Manifest b/dev-python/outcome/Manifest
index 002f1fef97d6..69bfe85ff374 100644
--- a/dev-python/outcome/Manifest
+++ b/dev-python/outcome/Manifest
@@ -1,3 +1,3 @@
DIST outcome-1.3.0.post0.gh.tar.gz 20749 BLAKE2B d094f1c7c67b890fff20b81ee77d9b06616e0e3e89ce62b3936b6d2a6964cc95355f81feb82acf8d9a3f63c6af4b219bc4abafe1c329d2a5963936a9d3a7a827 SHA512 d01f6d74e883b112cd589f9e8ed05770db9b1f9ae48e84e2cbb1138c33c1496d3bae559e2627a4fe736496740866c1a9589cfc611d1c8218add1ad27f8f033ed
-EBUILD outcome-1.3.0_p0.ebuild 889 BLAKE2B f44990cd8e310c87625817d19acfe967528a0765daf7e8af887007fb325a2b4d1d23f4abf3c67987e015d04dbdc19645b4ccaee5fa726418a5e12aeee4069194 SHA512 874683715e52b43c9b1e1526faeeeb2b73d32593ba2a888aa95abc7ef6d6b7186c8b3a1bbae622dc983a0ac6dde93465dcf08c7e0149ef5807a198711097f630
+EBUILD outcome-1.3.0_p0.ebuild 883 BLAKE2B dcbe43418171e78dd15d0b9b172a07400e1ff51454de7bf468b9d4f2f61b37c58fa23d326e9054657ffb0ca2163d2d61e4c0d21ac685e52392896a90a8cb9ab8 SHA512 82f02f79f060bc598b7fd0d1fcaa15f015cccc733fe9da6b12bd0ba70402b7a80b8e3e1253df92c5b88875f4fc249b524b545f315daccb991dcabc6d6953931a
MISC metadata.xml 400 BLAKE2B 8fc14766a65585972e684c41c1855454090e533efeee85d5565face5422f69966e0bfc1bd1a5e1d12f5cb1fba0d1ab48321a563611aef4bea762601150925b6c SHA512 96240d5e8c952014e4068450b0b82b316a0420b97812b8bc42389902772f6c5d7b183ab0c1e5efc3bd35e5818baaa5cfe46592b2defe37d07e9f12625cf6f27d
diff --git a/dev-python/outcome/outcome-1.3.0_p0.ebuild b/dev-python/outcome/outcome-1.3.0_p0.ebuild
index deae283a9d57..7ca2835d4563 100644
--- a/dev-python/outcome/outcome-1.3.0_p0.ebuild
+++ b/dev-python/outcome/outcome-1.3.0_p0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/prompt-toolkit/Manifest b/dev-python/prompt-toolkit/Manifest
index 210b57462cd8..6f9600c878c3 100644
--- a/dev-python/prompt-toolkit/Manifest
+++ b/dev-python/prompt-toolkit/Manifest
@@ -1,3 +1,3 @@
DIST prompt_toolkit-3.0.51.tar.gz 428940 BLAKE2B 9850ed569b9b8a70f95364ea894e278b7a2bd9295b7530fd8e2fd594f43b8fe108d5943f084c585be403b6087dd37bcce369eb8f1e9508c92f44b7a56ffcdf78 SHA512 490c3704872ec3e7e9e9aab393ea63fefdb812ed685620f097000271d529fae0d543c12085653b2844357585432f021d4edf7e7494f70938054c3c3b1c5a8ce3
-EBUILD prompt-toolkit-3.0.51.ebuild 726 BLAKE2B 574a412da29b4bde197e75838eb4d66384d03add5ff2fd5163d08f2783f204cea026d240fed4ff3aec89246305486251be7acea051d5b84f893bf2783fdccee4 SHA512 a83bdc3a0c37855b0c022cbff45824e41073f0dadda0ec1a7e9ff6007dadfcce47d6897dfc6ed62763f60385a6eb67cd9de4facad2139101fbfa0db1d170eb3b
+EBUILD prompt-toolkit-3.0.51.ebuild 720 BLAKE2B 62648091494f6ac98f62ec4e2fcc0576152c803a61d8e99fa202266d574776625aee0d900aa36a5941f553f3a99aaf42df4cfbf00ddc0cb6ef9f10404344334b SHA512 acb243b34c379619295d5e8bfedcc01d3426f1674e15597305700191bb860f8a3f0b41203f4df5100c37c43bf17c6a8cea74926a470f098b6fe09c57e491cb5e
MISC metadata.xml 431 BLAKE2B 534336484c65b57df5e672729ff722b67445948e0485c3a62c2f7081724cb951b5157c600dc6162a3bb857c2be0f378b18670786279ff8b5cff2858588f8ebc9 SHA512 a9bf68326839069c61e70d4ef3fe304706f2543b9b91eb291566dd66f36d1abec00382ae205549a35f10dfc730f4613c5cc5c0ee4d6858538d50c4145bd3b15e
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild
index f2bf0cde35c4..9aefa762dd77 100644
--- a/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild
+++ b/dev-python/prompt-toolkit/prompt-toolkit-3.0.51.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index 1368b732ece7..334a0c259b2a 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -3,7 +3,7 @@ DIST pycares-4.6.1.tar.gz 822359 BLAKE2B 54e055a716a6fc021e54fd12e255fc8e54e774b
DIST pycares-4.7.0.tar.gz 642875 BLAKE2B 1467d3264b9240c2d79a2702fab13871ec8a6d4b154eeece5a2ea25c6f7e893717b2c09365bf30600ae8208c61d84b043be48a7b5af965379e3eda30a8c562bf SHA512 ca710bd14150dd0fecab09ee89928664e5bb275513a94e316db3d84fa40597c5f11631db9b17b13b074b8575a0ceff4b121424a5f2ba9e92a734de2e100a79ec
DIST pycares-4.8.0.tar.gz 647980 BLAKE2B 640312cab61f02952222954a193cabfb81d4be86d26c96737af6c2b56caecc01c17322ad4526679e0a14e2b6653234d57c3de8ec59e3fc85d6ccf5508ba06bee SHA512 51e467d0a58fd865a07fead2e906a7caea8751d45d06ac699c57bf56fe9165da9d17b50104f61200911e77bb3edea6de2d81aa3e2330946f8548905b83ce1be1
EBUILD pycares-4.6.0.ebuild 1252 BLAKE2B 337dbb1d4eb57fc51b46e7840e30996772f1d24eb25b92f92ecb7b41f6eb1335b0ea4a38a9c2b0764a7857516e94c8be56bdd97ec2b040613dbdb8e803d002c2 SHA512 d4907345e9ad42054ce7b9189828e38b4468f97c30876af396adef3e83f1d67e3ef5b082294902a95a91f6ad8d7b33c9fe1ce7a9405026007ab5d7f30b4dbeea
-EBUILD pycares-4.6.1.ebuild 1255 BLAKE2B e6badc47ae686f84835b2fd8e43ddbb9a9085a8c671a5a34cfa80036e70198f93e97dd1f935da2059f9a26ee799c0285016210b95da7d039c9c4c60a258ab0dc SHA512 0281f13230b879d01d73c80adacbe761807d5dce853cf6c5a87dfd1cd9cabf8f6a6763cefbf83013525c980a77637ceca913d4794eda4ba19f4d356c3e444109
+EBUILD pycares-4.6.1.ebuild 1254 BLAKE2B 52fd8b1accd795dc228715a4e95b6363cf4a8dd07aee5c2e4f49fe00e9f7c1a47c052b5d3671cb49fa74083b2c588681b9c797d5ffc4b31942e2dcba05a50553 SHA512 eb95ad248c62cbb840583e9ed666815c3f2cb5f70ccc57548abca06d789d8bdaa8fd6951bf5f4ca4fc53528c184114f13aea4e41417fcdfdb81cea54dad4bb64
EBUILD pycares-4.7.0.ebuild 1254 BLAKE2B fda46de531f80419327d588527178536cc22d8dd8157d6f4af937d5303eec65f7f4b16a01cd28729137e81d0d8c0c0ed31db2fb17fc14182195b590139c250d8 SHA512 8545aa8ab88de851d703f86a8f12ed82801dd5cff6faee461f6742c1dcad1197b50de6d3a1fc1c1af1c54f444ea6af4a4029813912afc226a524c7dfc256d55c
EBUILD pycares-4.8.0.ebuild 1254 BLAKE2B 7066c6d4a9002a34497eba335c3ae32fe3e06e87750bf5d1b9cfc7b2dc29fd6c2f2036805829d48342c692a0f651c67d480e6c72880bba96e9fad867671cb32d SHA512 418573abadc70a5378f81348016eff0a8928a873b9aeec42029592fe446ed5fcf760a85ca4dfd2b9737a4e4600bbbc7c2de89a22f1aaad7b5e6469616d91d197
MISC metadata.xml 365 BLAKE2B 25e3fcfc824ba25f7f8069c1378632be9e46ae31a05f8b0c84a137524d538fc0c995872bb2aad7c82fff788085852d1f6283ef5643ac97e3e79c403d023113ed SHA512 d20c28823172252202424d3601f17d289018f6aae5fec1f184a4322eb982dd658159e884b0334ddfa76cf594c3e8274d403c62cfa1ad8026f387799c92fc69e4
diff --git a/dev-python/pycares/pycares-4.6.1.ebuild b/dev-python/pycares/pycares-4.6.1.ebuild
index 8da08cbc1396..328f04035403 100644
--- a/dev-python/pycares/pycares-4.6.1.ebuild
+++ b/dev-python/pycares/pycares-4.6.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="test"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest
index f3cbbd07f8a7..0e5b9de23bf8 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1,3 +1,5 @@
DIST pyghmi-1.6.0.tar.gz 270054 BLAKE2B 8c93a2a1ba273a6df16ed7b09ca4d7913e489d6efbd962d3fccc0f8337f51926e8979daa410a13fd02156b7a953220ff550b87e05c74112b58624550bd58ae86 SHA512 6303e3b5bd5fb37e16bcad415eb6d02306ed3611e209544761c3cf05583a496feacdf9d5615c4e91acc7677b74149072a9f5cbbf832ecb3030d2509c1d5d91b5
+DIST pyghmi-1.6.1.tar.gz 270230 BLAKE2B d6d8626c8a1cfda250f8cce996c50e647ac0416e64d1e7e2e806f0c7e08adde300264b30774e7d0128e25fcbb61c1c51f629601c3ac9694d08d8f9a350b8ddea SHA512 3935a451edac4f54da1dd7b8da370aa667827e10de2d3ead31f9dee56ca72af8e9566915f18767f9f286eda6349086106115f29a754a8a9ae2c704a3b19faaa6
EBUILD pyghmi-1.6.0.ebuild 705 BLAKE2B 54aad4392f47a0d96b200a6c52356120b3bdc34169cb51aa28c9f1a8a96254b57c0af4f6b0c6c9d066a710ee42418a4ad6f2133e111f35785c829db667bacc88 SHA512 4f1bb92679149dc49cc305cb504418d4e2b50dbf1f0f3a998a0f70d9e991be647d49bfdc0bf48d3024bbbb92d4c66f4f81c60fd01aae62c4216afa9599adbd26
+EBUILD pyghmi-1.6.1.ebuild 705 BLAKE2B 203a499aab6c41852a28c9a615fa9fe6c08c1a4c43545a889fc0165695f40b4fb2192af09c0b3b106d149e9afda5f98b0e9154a617ffdf9e415c2179bf140185 SHA512 84fdc1f7933002fe92d48e5aa20662bb3c875675584a9d5b03676cb24dd0cb74609ff197a6f12fb01b833c4dc9f2de3fe63cac830cac3fcf7fb42090e8b7d926
MISC metadata.xml 439 BLAKE2B 0c7ccbc424041a506c60bb0934e40465b64a9779d4d2b6992ba5d4c8563b114da1470a1b221798773824b92fc7b5d6e7b2f0b0afff7f266ea1fbf450f336c497 SHA512 0c919c41bbef88b080cd5941d767cb3f79e935dfedb6da16353b80da2966d488936768b8ad04c7fc695b3c6376143430115f5533b3492816bf293ab2ccf37fb8
diff --git a/dev-python/pyghmi/pyghmi-1.6.1.ebuild b/dev-python/pyghmi/pyghmi-1.6.1.ebuild
new file mode 100644
index 000000000000..badad031f4d5
--- /dev/null
+++ b/dev-python/pyghmi/pyghmi-1.6.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure python implementation of IPMI protocol"
+HOMEPAGE="
+ https://opendev.org/x/pyghmi/
+ https://pypi.org/project/pyghmi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index 58ecaec939cd..9816cb4b2e5b 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,7 +1,9 @@
DIST mongo-python-driver-4.11.3.gh.tar.gz 2112671 BLAKE2B 2c19b974461657b805484ad58bb7a3678950be716cbfc0e68853699560221dc3b8094eb8546e3b42efbc933596ebd98da35cc7a195f9690a02e4ff15855dd292 SHA512 f8e282085467b1ef6272ce13859ef7a88fdce9a674a3c40cf6f7e1352baecd80cf3394904834805e0921ce1c339bbc4ff54d1e33eadba7ee9c5f3f7a05e6fd99
DIST mongo-python-driver-4.12.0.gh.tar.gz 2221078 BLAKE2B 6e8dafe59276d435aa547bb356871e0876c51dd963330ff347963583a22b342ef55fce490279889d77e97efd536de6ec8daeb9a81ee7a0db968385adc5c63273 SHA512 309dd5d21b700392b0a6f1c18392bc53f1777dab5772aa8def6075aab67091eaa9d0382188d1d46d8c9d4997ffd54449a8b7c87e32e80a07ac59a5f177cd5719
DIST mongo-python-driver-4.12.1.gh.tar.gz 2225240 BLAKE2B 253f99faf6507a0a1285120c6b4e73a7866552091b35b3502c390e6d3e2bbe62f0fcdd5c9a2368dd5d6f74c16ab90ef39be1a1c6f9c2fef4420b66a6bad1c718 SHA512 cf7a1ea99a99f82d4434b25d6d2678734700ebd17cca9d4e1ad704e70fe10ae31b49e377930ce8781ec40b2898443d59d8eb0e302793424ab2b06b8b76df07cf
+DIST mongo-python-driver-4.13.0.gh.tar.gz 2225613 BLAKE2B e5532776e494b75a0beadb5bb20d087e3002f58c8e0214fe968aad907e90a8bd53a9dc7124dace600f9e673d1c4ce867672e3ebe3f59438923a3693d5dbf15ff SHA512 bb4a5f96614c16503eff8c9dd67cf8a8700ce05078417cb847ac136d1ebb36edc591bd8dda3c4bf8ba4f25adb6d30e15a3e2870ef6180859b912cdc089d7f97a
EBUILD pymongo-4.11.3.ebuild 7067 BLAKE2B a8b7dd6470a35af2c21b4ac9a87c206df3f8fd3d90967c167a666bababd2bb9976e4ea1dd7f6204a8b18052a48ca2133ca255f1120e81027dae9f12d95e0ed01 SHA512 54aaab6526526cd2d634bf7cc4e27aac506d948543d4e52ed7c4dafbe6a5cea0205d4cb8d791c4564ec7715c11f52b2085b340631b7ec16f17fba9f88b2b9800
EBUILD pymongo-4.12.0.ebuild 7974 BLAKE2B 09f47a6a49e1c4991b3730e430d18cf0baed50a8988e42eb64d54f21ef0660fe116ec7c58acaf6e535772650f7b6728d7c7debe01ef4446f288f3ac736e987de SHA512 d84324d649a0a055566f4282084c8562737db911f6c1e6d40cd5fd05426f34164e1660b340b230161fcaed00e39c676d36db871f3f522c28b8e5e4905bd832c7
EBUILD pymongo-4.12.1.ebuild 8054 BLAKE2B 34e8b0928ee5a464bf4c1371708b6170295bb683a6884ad13d49b654dcf2408a353434d072b7dfeeb20dc2d912cc0cd3ec890be3eae06a17cfbd5910f894aa9d SHA512 403efcfde18530d39f5af7eb180463e028f81d8324f8c2414f12a9ef8be8c8efeedf34fc880ba493b781b2eb6cb50f5b5e54418dfc0b6e8685abcd6abeb5ccb2
+EBUILD pymongo-4.13.0.ebuild 6415 BLAKE2B ffe8b159c92685775ccda9932f5ad0ef385b824268c1efbc000da0d015fc8efcf2c9625a4beb7806a2c101a1c9352a72033ada05dc596bd1a3d6d37e949adef6 SHA512 663c34fcb52074781bc5a5ba94707b5cf1ed6adc3335200dda4db2e92414cb7b7a6a4a3ea953aa28c5ffcdf555b531efa480dc975cd10b002196350bae294a69
MISC metadata.xml 880 BLAKE2B 024d83cdf3d8cf94cdc98153a6b429550579d494b053becfe5cda0a7a7f3852632d7155e71116a9ab751e6542fe63985755f4eeb147914bc8dbb1e9fac560434 SHA512 c6110fd18fa7f7819299b5de919bfc0ce407d653115d34d297513ce3a4acd2e16399d6f327c61bc5d4ef8aa6776f84750cff37798415ca4bd59c6fd19961d891
diff --git a/dev-python/pymongo/pymongo-4.13.0.ebuild b/dev-python/pymongo/pymongo-4.13.0.ebuild
new file mode 100644
index 000000000000..02447485135a
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.13.0.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # we do not want hatch-requirements-txt and its ton of NIH deps
+ sed -i -e '/requirements/d' pyproject.toml || die
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ export NO_EXT=1
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ unset NO_EXT
+ fi
+
+ distutils-r1_python_compile
+
+ # upstream forces setup.py build_ext -i in their setuptools hack
+ find -name '*.so' -delete || die
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
+ test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
+ test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
+ test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/asynchronous/test_dns.py::IsolatedAsyncioTestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/asynchronous/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+
+ # hangs?
+ test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
+
+ # broken async tests?
+ test/asynchronous/test_encryption.py
+
+ # -Werror
+ test/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
+ test/asynchronous/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
+
+ # fragile to timing? Internet?
+ test/test_client.py::TestClient::test_repr_srv_host
+ test/asynchronous/test_client.py::TestClient::test_repr_srv_host
+ test/asynchronous/test_ssl.py::TestSSL::test_pyopenssl_ignored_in_async
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest -p asyncio
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local failed=
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ # mongodb is extremely inefficient
+ # https://www.mongodb.com/docs/manual/reference/ulimit/#review-and-set-resource-limits
+ ulimit -n 64000 || die
+
+ local mongod_options=(
+ --dbpath "${dbpath}"
+ --bind_ip "${DB_IP}"
+ --port "${DB_PORT}"
+ --unixSocketPrefix "${TMPDIR}"
+ --logpath "${logpath}"
+ --fork
+
+ # try to reduce resource use
+ --wiredTigerCacheSizeGB 0.25
+ )
+
+ LC_ALL=C mongod "${mongod_options[@]}" && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ nonfatal epytest -p asyncio -p rerunfailures --reruns=5 \
+ -m "default or default_async or encryption" || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pyprof2calltree/Manifest b/dev-python/pyprof2calltree/Manifest
index 3456299273e6..33010384fa72 100644
--- a/dev-python/pyprof2calltree/Manifest
+++ b/dev-python/pyprof2calltree/Manifest
@@ -1,3 +1,3 @@
DIST pyprof2calltree-1.4.5.gh.tar.gz 8806 BLAKE2B 3a8a838a8b03294504c64dbe1d0caee2606a1ec53005222dfe6c3692bacd0801041ce199fedb9c38e4f6edc91e210116d9c1e034e0aa283cafebb19bf6303fed SHA512 2fcda74ae67dc3a8abb5dc153864ef59f96cc62b1c9359d02be12e83966c17738f5aa4a3d1c6e2ff81614dc963fc4b2faf375bbbb1ad15650a6817e493cdde39
-EBUILD pyprof2calltree-1.4.5-r1.ebuild 587 BLAKE2B 55d5db03cb27bf8d422eb6d910131fe979c699e1c121b1ad382a7cf69f93cdd589c4d1970e67d97da4d6c2d60debdb18a8a549627a6285be8bed719a01394d20 SHA512 ea94460c9445b0742ce215c63ee8bab2973965ce7cb8573f7c11af2bc4718e99a279c931e77d2e194c0d1f61c712acf067b431aa548263446a10fdb3d1e11ca4
+EBUILD pyprof2calltree-1.4.5-r1.ebuild 587 BLAKE2B eeea4b4fe3c2c85812ba2a72277a8ba41ccfadd8771ccaf6971d58ce476effea42ce0829b84a794c4cc8f2badf8f5501ff082bae0d012c0852f152554d4aef95 SHA512 923a05d0bc66d6ef138c84bdc2144002b377b7074a94ae92cca7d4f922d8fa49cf71531d964420ffb8c35277164d148da8a53be2a6aff93eb523430017e073a0
MISC metadata.xml 406 BLAKE2B 7d3e2257b0a06747c1772ff90ac2375467633f40d7b4064389e64aaf426b07d5ea263098115a96ce035f200d55c9e83049ef7df0812a585ff7dd9a86407db832 SHA512 ff6a0e3b75a157ad85bcd1e75dc277849b67379bb097e4ba0b2373247456cfcbc079d36f7cdde266669bf2db99eb63a471d3ab156e1218628db3b1b51abf43d4
diff --git a/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild b/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
index 81cd0f515dfe..dc5949fdd378 100644
--- a/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
+++ b/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pyrfc3339/Manifest b/dev-python/pyrfc3339/Manifest
index 2798b04289d7..08b24067c1ca 100644
--- a/dev-python/pyrfc3339/Manifest
+++ b/dev-python/pyrfc3339/Manifest
@@ -1,3 +1,3 @@
DIST pyrfc3339-2.0.1.gh.tar.gz 12986 BLAKE2B 1e029db52c3230994865bf5a065a8aa56d501dba0ced4fd3d94411fa29cc928fe745ed73445b9ea8d7485695f7d5770f9c5338323b9ce8bcc1e73681638a7117 SHA512 4557810fca1720ee628ef3614a599edbcec36090e88c63f78c3d607e87f6636601efeb6e9a1ee72a553f28f24011e7c1731c3dbc0a6bc87951b9a7d4a9acc39a
-EBUILD pyrfc3339-2.0.1.ebuild 576 BLAKE2B 14a17cf9193b61a013d9f3b28de694ec9cf760e597e2cc48c1bc88255a83f593eec9f81025773c5f11a8e4cf8864ea1402de5eb87247523046c61ce43aa63413 SHA512 3b8d507c7a6153035f7c82b2651791622cdcdae1f2260507ccdaadcde2559d4525ac09fb76e8e0a331f067431ee9646e3ee5951a0b375d2a70593ad255cd303a
+EBUILD pyrfc3339-2.0.1.ebuild 576 BLAKE2B 4f14f7f78fead62c4753ab3a36d53c0c022589b50d918fe3cf2fe15a117ba7ebc7831a30a333cc5d9954ea8a05235f3643e0cb2df4834043d4e7be0eb6e5579c SHA512 15320496a0125914a5d871130b9a58d936c6536156e370e30f6f1dda49f94074788fbcac9e58cc91cae068af10685a4bc31de239c626a736483176245f92fff4
MISC metadata.xml 398 BLAKE2B bfad31a8be665f06a25a74223b53564db718e6fd0f4aa2f66cec6f4e6af71ed1ebacdd81c647b48e01989a0515fba6fca1e0e0b63838cf6e2d102a2d3c8bbbf1 SHA512 fdb8053e8e073f3b545424812d1f46f7451ba1c8b36c6d3bef3286d4f32385e20fa41958d54125da07f56cd07c446ec550398e91483a38c117c5141ac0ea0bd1
diff --git a/dev-python/pyrfc3339/pyrfc3339-2.0.1.ebuild b/dev-python/pyrfc3339/pyrfc3339-2.0.1.ebuild
index 39e960875e85..76fce74425c2 100644
--- a/dev-python/pyrfc3339/pyrfc3339-2.0.1.ebuild
+++ b/dev-python/pyrfc3339/pyrfc3339-2.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pytest-aiohttp/Manifest b/dev-python/pytest-aiohttp/Manifest
index 19eaee598009..0e80f47ec110 100644
--- a/dev-python/pytest-aiohttp/Manifest
+++ b/dev-python/pytest-aiohttp/Manifest
@@ -1,3 +1,4 @@
DIST pytest_aiohttp-1.1.0.tar.gz 12842 BLAKE2B 96a9164d041e417a9176aba97ade3eb22a58ec7042de38745956b0a9525389f1615b626cf014d86df78491b948f7f6820b25dceb58937b674d2ca33aa534e38c SHA512 891a379535f1ecc9e74282d813cfc11b74c79c852d08e94942e1bb29c0eafecdce73ffbf6aefce24c37315c502bdfe0861bc97b6be1489dd3dd59b2aa215f4e8
+EBUILD pytest-aiohttp-1.1.0-r1.ebuild 905 BLAKE2B 46348781561aaed63794e12c67772fe6f168f6c7d7a83f310b9b110d78dd15966147a56e1bf633e630fc2385e58285d3fa3233adbccde83c597371955d89e781 SHA512 3b31b0f297ac1528692c9954825aa982a0d5682f624de47b7e348f1e0949cc0a4ac2d373d608d7db5cc26dffa0d98cf44c8012070e59da39274cce55d657b37f
EBUILD pytest-aiohttp-1.1.0.ebuild 910 BLAKE2B ca0832fbb339f05990aee81010090891c8e3f1bb531d397ed929b8a8b850171022a1b151fe214a1b0159323f71c06059a2a42e9a35691859180310f8185e91e0 SHA512 ec305bfbd9f46cc5da27e67fbb9cf4220c85b3b42c5aa394b73a86855dd281f147753361e4f2688b8cc92dfcef31f53fa66c263aad117562dcb5a521ada439ff
MISC metadata.xml 383 BLAKE2B aef07c31a48de61fffa14c250aac7d1de63b652f94d83c52d32df2100da3bc5be19f224078b1b984520cc7e0b3d80838379388aa4c0e9531317a79dca178370c SHA512 b73d692782a9eae48022738bbcf3771605c8d00bf73ab2499cc27f309069bb80a402cd1ce618df29de7dfd11c226514aa3ec7d78df1ea784c7221691febf06f9
diff --git a/dev-python/pytest-aiohttp/pytest-aiohttp-1.1.0-r1.ebuild b/dev-python/pytest-aiohttp/pytest-aiohttp-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..2c5fcf929781
--- /dev/null
+++ b/dev-python/pytest-aiohttp/pytest-aiohttp-1.1.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin for aiohttp support"
+HOMEPAGE="
+ https://github.com/aio-libs/pytest-aiohttp/
+ https://pypi.org/project/pytest-aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.11.0_beta1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # warning doesn't seem to be emitted for some reason
+ # doesn't look very important
+ tests/test_obsolete_fixtures.py::test_loop_fixture
+)
diff --git a/dev-python/pytest-codeblocks/Manifest b/dev-python/pytest-codeblocks/Manifest
index 754f78bd6914..fd590200f6d4 100644
--- a/dev-python/pytest-codeblocks/Manifest
+++ b/dev-python/pytest-codeblocks/Manifest
@@ -1,3 +1,3 @@
DIST pytest-codeblocks-0.17.0.gh.tar.gz 9104 BLAKE2B 50f6d7cdf0c2d355c91a1a518622f65c4520a4e655d9c6aae64b0ea7697cf2605f37cf070fc9b7c60c2aef655b5a9adacd5acf4dbfbca2ccb8224316733dc269 SHA512 20044f10e997fbe15a8389aebdad324c2b102a11287315c8c85042f5497f51723c030b918f0cd923beb9f0c5b33a41673426a8c550814e1bd8b9b5476dd0dbf5
-EBUILD pytest-codeblocks-0.17.0.ebuild 639 BLAKE2B b4cc200c9c639fa6172f71c975d0f626870120e6e5ced484353c1a5f63f6f4a6834636419c11702160b2ead2de4546ad20bf7b15d9d7ca9d30cfea630714165b SHA512 5c463743604c7b32b0c51432601ab7b96f418228c8c2b3bbf9a14e9cf2b26df8bc0fba720aef04db1e3adaa2a8a3506d03b11fb8c239cf8c205e6de414f2bbab
+EBUILD pytest-codeblocks-0.17.0.ebuild 639 BLAKE2B 175b0674439dd8a69e9201a97e803dbb9c99f830ea4a64a44fd4869a708b75ac51bb5e7730c20a97376450b939861847e9cd680960bcab21cfbb58af05fd81c0 SHA512 540f4e5654c139600ccc0d6a62b139b819181cb2bf809248c9f6b8971d7322c06a09edebadd665c8a81e171b77b7bfbe75b2e147f90f98317c24660cc0c4163f
MISC metadata.xml 410 BLAKE2B 4e891952e8175ddd34616a0b9d4fe3baea93fee131fffea213d48db70d2dddc29400ef58c0a965cf2f310eb613a5d965827987c25392e9f294441d48589b386f SHA512 d140d21dab7f8faf8ed951d338115e8796beea0a739c00d3e9b80bef3214690ec35645ab3c3de34ff89eb63f830bce0061334cdf6092db036206698d410dcfc0
diff --git a/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
index ebc8e138459c..781fbc8a5387 100644
--- a/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
+++ b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2024 Gentoo Authors
+# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/pytest-datafiles/Manifest b/dev-python/pytest-datafiles/Manifest
index 55277a78075f..92e4c4da6ccb 100644
--- a/dev-python/pytest-datafiles/Manifest
+++ b/dev-python/pytest-datafiles/Manifest
@@ -1,3 +1,3 @@
DIST pytest-datafiles-3.0.0.gh.tar.gz 69479 BLAKE2B 26838e819f386d78eddaa90b00588bc9c72eb94521ab7bf501bd0aa681c7149827332f5d1530950f07b8419276735600c64cc87904e59929941d7a48f730e90b SHA512 8fe42d10b4e96e6df89a448e6b2f929973ce20d9d7c509afb87adb230b1dae17f098540277432ab107575c6c44c34d353fb8c1213d5ed941a3025b524249394d
-EBUILD pytest-datafiles-3.0.0.ebuild 648 BLAKE2B 4646578df37606c8df833a7242b87a2149f7699fc33ad49f4a541b8d39e150cfefb7f63ff05f6382116f59ad54c0c5e4d9ceb2f001cc0bfadabd991dea253146 SHA512 5be61115b74e9f834fe8556fb090ebf48e37f5deb2e31afa7038d1b1e57af733c6538d6f6df8536a8d82739013d4796349669380cd15dfae9e8ee56165d0696d
+EBUILD pytest-datafiles-3.0.0.ebuild 647 BLAKE2B e3a4cb0e269ae7f45367999134b5053301b74c5d6d540b557a7d89fde6462238f1a3614dd1ba83912dcac33edcbebbd3520bdfafa500cc02e6f20d3dda9b86f3 SHA512 f902d21fc7c9d61428e97433ba90510d3f9e404dc826e0fb33fbd4cfc93a048a47888ed0c65a708b1fb9ab4fc0ce0f4b913f46eed5fb160d68725faa950f47bd
MISC metadata.xml 387 BLAKE2B d29cae380e1152845b8bf445fbac6bcf28d940e064a0775f7d6990ab1418e6f0d86f7576923fd7975990d63f92e401f6e84da9bc0784e217cd0ff0f86a8f09f4 SHA512 4ca79e3c7b3a25c29dc17c81bc8eeb4491433bd1e3177962c7b5a280391e35d0daaa22e7fd321e5daeabb117701100745d1fe43201e88db4542023067a2400d3
diff --git a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
index ea8f47fb03b4..1c05de181214 100644
--- a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
+++ b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc ~sparc ~x86"
RDEPEND="
>=dev-python/pytest-3.6[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-localserver/Manifest b/dev-python/pytest-localserver/Manifest
index 7aa322e70ce9..961dc1b66d5f 100644
--- a/dev-python/pytest-localserver/Manifest
+++ b/dev-python/pytest-localserver/Manifest
@@ -1,3 +1,3 @@
DIST pytest_localserver-0.9.0.post0.tar.gz 30280 BLAKE2B fa0a7f410a3a6c0fdda58a2118598dd97e60adc4dfca9474d66d390bc03fb8ac609a7c7ffea5d6f5843ffb6bae57a40749bfa833892188c4943bdd318c9a79ec SHA512 dfab24eb04d25fb725421041d1ac59f449141e996b0810706844df81469a26d2df9679ff4bca9a936c9d865977520d1b2ede6b95c4f8208375c4c679349b8ee5
-EBUILD pytest-localserver-0.9.0_p0.ebuild 944 BLAKE2B ba6f19ec16802f14b65d5ece2e739a2546f13491cac26e555c5ec262357274943dc07d4609fc2fdbf4924dcd1c2751453da228f86b355401c57dd1b846d63ad8 SHA512 2e75e6335e3b24468be88080debe957b6f55f8b8c91c7fd93ce70ebc806e218f9c558f94dcf308acc8ba85627cb6c9700824ac7cd80700abd68ccaa42e914b88
+EBUILD pytest-localserver-0.9.0_p0.ebuild 938 BLAKE2B 4f688a45d9f49782554d8aeeb945b7c41602e7254d37e28a76c5ce0cee1837598a8be609c2715d78a5f11524cb1fdcc021fc4b50a5eee01b15ee5969d46e2cf0 SHA512 c06f33ac6eff44023c644f2f3aa085ccc36ca5e97fd262ddf3922e040a6363f0b0299f9dbe174e9dfea2aa32ee59d19fd2e6185fcf2ceb270e73117ea251e20a
MISC metadata.xml 415 BLAKE2B e9793de9ce60bde1549abb0983ca145f55261653324785d735c91785a20b61d949c228528faa742d669d52c1f456a36c65a93c1e9a692ec9297d4ffcfc0123fe SHA512 e0e7819a4b1bd41301824727b2204092986ba4d0c56fe1530b40543fcf7b90541933a7b8094f24a0573854b76b9ce11b7b42d2e38d135f61fed9b498f05f98e1
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.9.0_p0.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.9.0_p0.ebuild
index 444fdffba30d..f364a121e997 100644
--- a/dev-python/pytest-localserver/pytest-localserver-0.9.0_p0.ebuild
+++ b/dev-python/pytest-localserver/pytest-localserver-0.9.0_p0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-trio/Manifest b/dev-python/pytest-trio/Manifest
index 06476b389be8..9eb29729e84e 100644
--- a/dev-python/pytest-trio/Manifest
+++ b/dev-python/pytest-trio/Manifest
@@ -1,4 +1,4 @@
AUX pytest-trio-0.8.0-test.patch 1813 BLAKE2B 5c9feb01f75dbb302d4f4ab833affc5c02e9a2dde53e9c49425ac4acec25b25a8d9e5f7b68f00e00268841b6072c5aae9439ce2747c1d3cc7f9403d47631a5dd SHA512 bdd5457127949bb7d36e4427140ce99db3c914f26dcdea607ca12947f273487d3320206741a669e27f4fb34f8980f1842d87110a4b7cc460c6ffb5605a6f760f
DIST pytest-trio-0.8.0.tar.gz 46525 BLAKE2B 54660dc9b021af0ec18eace72f053223d16e89635c74d71329a005e5fee3bf6e2055cc29412d9de7443b2594ee53d68890d1e30ed7c94560c355d4342bb3d035 SHA512 79141021633b7b2d8a840d7eaf6a3447bccd59d1bd4909e7feba88a9ae8244376f281b64fde4333b5a575957e3f73028e389a9abf0d19a35417f15c47eeccd05
-EBUILD pytest-trio-0.8.0-r1.ebuild 1443 BLAKE2B 514b624900612d87685c04399b46d61b565da406544f3f916c9a9f5b6464b66a61cf0e432084825c5ff9aea068e1252c105d4977123fd7b19045e5237cadaec0 SHA512 67830b44c864379c5688ed84c338b1e9ab9655836cc5abdfec7f3cbf0271e3b6d564205bbf6dce60d353886d95912e3c7c6974df3b825c1f5c37c22ffc2d7e73
+EBUILD pytest-trio-0.8.0-r1.ebuild 1437 BLAKE2B e05a54a652d273a92fcccf63f2aedb24be93dd9091b80607d5a035d9d673eeaef169321e30c70b687b42d446cfcff93c7f36d70d246b27b7fcae70b08dd19fa0 SHA512 cfb07eb9eff0ee876b0304451d1c19ee1240bb448b263e0da5390744acb0562fcc7c33c807b68c325d84bf7919cd7c0c975b5282dfd8a3f2b22e8ff9984f6b89
MISC metadata.xml 508 BLAKE2B 1c832d5a7125f604ff106e359a5cca5b654cf4cd55fed02d307352de6d32959703d95126005945a79bf233853cc7b70b418217584e33110cc55eaad166612071 SHA512 f0583d883656968918363ace372814f88acdf40c2ec3fa965d70cfcd15e8746fdc43c77fda26041fa1f01b73e6b6c3c404b83989889e4e6c3f1d9cbdce567789
diff --git a/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild b/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild
index e0db5a090d92..b22b3ce3c9eb 100644
--- a/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild
+++ b/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/python-augeas/Manifest b/dev-python/python-augeas/Manifest
index 7179edcb1c29..e782a81fb38b 100644
--- a/dev-python/python-augeas/Manifest
+++ b/dev-python/python-augeas/Manifest
@@ -2,5 +2,5 @@ AUX remove-tests.patch 417 BLAKE2B e3a0e4b3fdb42b395fa336461f84feea4dac252399ff2
DIST python-augeas-1.1.0.tar.gz 93657 BLAKE2B 21d2713d8e11552cc7f0191d2b8f7805b223f5dc9478b89b39dcbd325ab354cef0bfc0314852dc2b071b3b061319b4e27904c0514eb6d6ffd4e39cf7ca33d1f9 SHA512 34e4e98219b9146ef843d94c2e854e951a9b7e81409e603e77e7defdbb8765c013a2c869a4f5db2244352ca35656e18667a0210dd24099cb3e4552a04b23aef8
DIST python-augeas-1.2.0.tar.gz 99396 BLAKE2B d65184451d4d0efb5220006296e5039a1a5ff9536b1eca60f876150f056f1bd8e7883bc25f777b4e079bb39e1397bfc611eea67ebf0e29eebbb8db3a8f1f1cbd SHA512 5d462263cb1857694796500ff412cf53d3800a030277a53ba9d84dda9dbcbdd7693a3ae7eec467d816aa07dfa27c5b06cc0cf6470bfa8bf72e45c56e192c431f
EBUILD python-augeas-1.1.0-r1.ebuild 646 BLAKE2B c20e4d24afbc17c3c7c17b98d5566af603cc023936263ce06b69c6f92e56170a73ed83ee64c3ebfdf583c1544722d8806768600ca2c6705bcd08b23c5a43271a SHA512 957b60fc45753856c3da050338a7e87e1c5c064ee0f724084bd824e574c5fffcc5da5d768c5e14740149afbd3ea8df8866a143e8de4cb85ee3fcab2946e23a5e
-EBUILD python-augeas-1.2.0.ebuild 602 BLAKE2B cd91e55ebb85eb0adf27ee25fe922423bd66674f688e9798d7f891a168b3649b208f8bc36f83fc927be1430d5a0ebc453e1f4c7f02eb18fab6134c542876bd57 SHA512 a0a9889e829ee593c1f0610bcd017d6fce4e5231e30d4402945e889e8590a095b365fb0bf8e8cd8a95554b05ad3af13ef1d8626b58d90b9557f3e7b47af8b323
+EBUILD python-augeas-1.2.0.ebuild 602 BLAKE2B 9bf9da0016bdee13c7e83e42e51253a0a1a730ab3f7676dc0f5f9049e37e9bf1cae58726c476a1ece98e495b78cf68c7685be7c81938b0233597fc62ca9ed871 SHA512 ce001f4df50ced57fa45b8e2490612423a76a2b592a537cefe30867f01d8b7f415af04d8e28961259059ac694fe5dca13f71c881124cdf0e57242bcb7589f0c7
MISC metadata.xml 423 BLAKE2B 0caa39c52d7e83a0955531808d9bc2abb0ca3d5a1d81d0c1258d209debed472e55c96f93f6e6474beef75ce6b0691195c0b1092154eb463ffdb4190b4c59f0fc SHA512 53e90a9adbf82e9e3f7671b7de404fa4e32050aa9316b226efd782ad49628eeb3a407d6ad45a71bce698eafd60ac3bb46b6289df094fccfd2196d9d33ae290a2
diff --git a/dev-python/python-augeas/python-augeas-1.2.0.ebuild b/dev-python/python-augeas/python-augeas-1.2.0.ebuild
index 64ef1e3cab15..d409d13decf1 100644
--- a/dev-python/python-augeas/python-augeas-1.2.0.ebuild
+++ b/dev-python/python-augeas/python-augeas-1.2.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/python-constraint/Manifest b/dev-python/python-constraint/Manifest
index 9c3be5127254..95f61515e122 100644
--- a/dev-python/python-constraint/Manifest
+++ b/dev-python/python-constraint/Manifest
@@ -1,4 +1,4 @@
AUX python-constraint-1.4.0-exclude-examples.patch 649 BLAKE2B c5a5e1d425dfebfd377b36409115e947ac7154acdda557b0a494a029425e1f411b8cd59e004fc40575a1f1e377efa1a17470842626dcf7c636eddb86df57d700 SHA512 7e66113cbaf20ec5094bda0416123d9d26e2185951ce864d8d5b054af1ec9a2515ac458165d773535f97daaa2a76d32a336444055fcb7cbe62547e03dbcff2d5
DIST python-constraint-1.4.0.gh.tar.gz 24966 BLAKE2B 5ada7926f226536a1384bf9a082da41824e46d683ee71a278c50e1e5ca0a21eb3acbde4c0b47d6b48c53864ab4ea47d602fc9acb976423035aee74b0c6f3ed85 SHA512 fbc65ba5854e227e62469290e2d8362ed3247931592e2ac7eb5bcd5d3f9f720bbab8a984a8f7cf9dce989663f13965c5401286a1bdc673c2c076c8b22e19f0cd
-EBUILD python-constraint-1.4.0.ebuild 594 BLAKE2B 75fcf7b4da1fc1649043e6dc6ec521df827889ea000eb1c21bbeb6f3c94e2208511ccf1995242461744bc8d55f9fbd0649eb444065e0d9794c8063963b5ac587 SHA512 0b836256a5078fb44f6be71905d11fed73c4f434d68e31830cfb6e6a1cadaff12a251eb999d0bd4d9107a280493256d86e3abda4c4d0b00df449e88251f34617
+EBUILD python-constraint-1.4.0.ebuild 594 BLAKE2B e7b87854d045af69dbab85276ca2e8da36b3ccc9e37ecfba3659c7fb6784c74bbae8b88d2e2765f59c3f7c116a7e76916878cdbf6855d10d2541372328315110 SHA512 836fa85d2640f5c0700f3bb982043e7e6d43a2cd27e9780591ae016594c051ce194bd4af41e0eac892dd6828fdf0191729dfe5f65bdb417bac1683a883e9323f
MISC metadata.xml 1037 BLAKE2B 09c8b8c46a78ee6c38e78189ffc02e7cf0dcb06df4040682548fe307676b543b435d3ca37ccf52b60a0b52d8fb846290a8718155375d455f51531907d86fb102 SHA512 fcffc1f3c10c6057a46978b3b7bcb1222d40f72dd02bc0b8d17d5b378df1554a64c4cef164d662b1ffecae47f01b5572b618be9a939a4259aa4686949259127c
diff --git a/dev-python/python-constraint/python-constraint-1.4.0.ebuild b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
index 800d214a9c43..28aca21ce275 100644
--- a/dev-python/python-constraint/python-constraint-1.4.0.ebuild
+++ b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-ctags3/Manifest b/dev-python/python-ctags3/Manifest
index 828584baa507..9e4e65100767 100644
--- a/dev-python/python-ctags3/Manifest
+++ b/dev-python/python-ctags3/Manifest
@@ -1,3 +1,3 @@
DIST python-ctags3-1.6.0.gh.tar.gz 70311 BLAKE2B f286aad922f8220d5f0b42f2919425d836bd27e9b2a85739333295d6e681172b20d33d010821c881583a4bed29d103939cf4b7e1d67190ba52cf1e0a1ca75290 SHA512 38df28c1055b2240e5da7699a7c72bab85908c7b1a1b4db83f19350541fe49d8499a9b7400ad14c77166b459fbb30f6b2c22d65685ac5f392ececa3eeecb6f41
-EBUILD python-ctags3-1.6.0-r1.ebuild 1103 BLAKE2B a570308dcb83d2332e8a4618e61d4bdb94ea162cc0f2f8fddf5a77a9b010be6990ed562d602c84fe49119df4f4982c4db7494eabe83c259974b09d8288f378b7 SHA512 ac70da3565f6bb7cb3388dd09eecbab19eb428965594b9578492986a644d5550aa984ea2813cf5c982f29a12fc7019756eede6ef7b9c1448d21b0c26e55d8b0c
+EBUILD python-ctags3-1.6.0-r1.ebuild 1097 BLAKE2B 1f3621511dc390c6e998757e5eed8d9b109e78c202ee8d38accfe0e4ab33c20b7786d05c478181f7382d38cecbc95075251b1cffb491480e87ad214f7f111c2b SHA512 f4c01ef03a05ea9e7760de376ffa99546865723051b0ac07b2e92ff949b1dabf4ab9c34c38d2156664f1d4a46e1dcb7460d198b931d239ae735d0732bca9a1f8
MISC metadata.xml 468 BLAKE2B 7a89bc7a950e780ed4093c77ba31c18dd0e92e6e661c20012e0c97e1e00176c9116b830b1f80359a71ab51b6e22614b820d27b449dd7c16f884d85f1adbe83ad SHA512 39956be9e9e61a5fbc02340d5fadd1044784fe73d39523b500bc74e4943d57f6581bfdc366f763eeaf5851cd5d34e348856d3c92450ca6c31691eb9f36c56154
diff --git a/dev-python/python-ctags3/python-ctags3-1.6.0-r1.ebuild b/dev-python/python-ctags3/python-ctags3-1.6.0-r1.ebuild
index 3652048e4fa5..96da6b247774 100644
--- a/dev-python/python-ctags3/python-ctags3-1.6.0-r1.ebuild
+++ b/dev-python/python-ctags3/python-ctags3-1.6.0-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-dotenv/Manifest b/dev-python/python-dotenv/Manifest
index 4b2266d84d35..12b7029c5e6c 100644
--- a/dev-python/python-dotenv/Manifest
+++ b/dev-python/python-dotenv/Manifest
@@ -1,3 +1,3 @@
DIST python_dotenv-1.1.0.tar.gz 39920 BLAKE2B 63509d9b31d42564ba5f477c61de26d02cfee30881a4d16928f287de1f67b81da0a6d9382f9d04a218d8f51e0a695f0ef0b5b251a40a29ed94c138408b304f7e SHA512 453f1262d330e1783dae1ef2ac18b998f817203c10705a974b294b79316a4cee68433622b4fa0aff2efed45e5fad04ec1fa4d15434ec1fc57c1c73a2518ef396
-EBUILD python-dotenv-1.1.0.ebuild 897 BLAKE2B df8feb4d05b5479dc93606e307c407d830ee200af91d0a924f28e922015d1cd10c30bf845d22555f02efdb0b1ac81cf1cba7bf173ace358d439ec1f85ad19148 SHA512 00b7d96aac866a0ff8e46c099945b6b5a387f90f44e53db8fa32e7bf657530a0a38dd6cb6ce1d4a8f30ab1d56f59e0412493896848ed36fa96fd8721c6419eb1
+EBUILD python-dotenv-1.1.0.ebuild 1262 BLAKE2B 215b774f2e1a255e70e311eb57c7fd6abcf0653de6f07f9931a18bc3eb47dd5912b704ba466aea57a64455f419f6911d585a3e1ad3a0d99be4c6eed9bfea8865 SHA512 0a5df32dfba28366e89a896f3531bd9a6fc319f9962d3b96e76ce1f4063f4ba2c4f73cf614f621d870f854dcff4b85780ad1893716bbe95fca0c2bc4b6feda15
MISC metadata.xml 529 BLAKE2B 1dd381879887df2d49a80084ffd386891cffa2547fedf00bb1dbee3c3abe79759620b606a916d71cab518bb3869ecee4775c735db22aac17e785bdda5c4905a5 SHA512 ad2129cb6c691f9f4622de92701f9825cbbfe61e9c2552f91bae53c90e19abe9b4f7cd2e379c516254d8b9a5989d4861f5ec05ec7949c5b533c9b7fc6416056a
diff --git a/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild b/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild
index 12799731f7f5..c62dbbc4390d 100644
--- a/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild
+++ b/dev-python/python-dotenv/python-dotenv-1.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
@@ -29,6 +29,20 @@ DOCS=( CHANGELOG.md README.md )
distutils_enable_tests pytest
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test issue with click-8.2.0
+ # https://github.com/theskumar/python-dotenv/issues/560
+ tests/test_cli.py::test_get_non_existent_file
+ tests/test_cli.py::test_get_not_a_file
+ tests/test_cli.py::test_list_non_existent_file
+ tests/test_cli.py::test_list_not_a_file
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
python_install() {
distutils-r1_python_install
ln -s dotenv "${D}$(python_get_scriptdir)"/python-dotenv || die
diff --git a/dev-python/python-gflags/Manifest b/dev-python/python-gflags/Manifest
index a74a90399e94..41aa89b9ec7d 100644
--- a/dev-python/python-gflags/Manifest
+++ b/dev-python/python-gflags/Manifest
@@ -1,4 +1,4 @@
AUX python-gflags-3.1.1-script-install.patch 1178 BLAKE2B 26f5694548762a2d6b8e6787027862edba91e8baf39a7c8dfc573be61af48cebf7a280646c948c0b59fab48d3b46fd4049d8422f8d4e6d9a57afe6e363c63999 SHA512 7247303c33a845949b1db7104f3170497da980334cb02155501d194eb53eb61ae2231cd4ece06194ca64514271252f8f1fc7c7683cbff2bb8f96d6d4e88123d5
DIST python-gflags-3.1.2.tar.gz 52093 BLAKE2B 4275b43ecf2c58f76fee0b1ff4645eb3176a9ae3b68fdd4a059c2f6f659ca1d9b6e4fad152a2fa48f1eb22c467dbc006835c241c21f89c0ca92367e484f34c6f SHA512 7a3c08b6b212cdb9cb7feaa48e3875d1204a4b3a57182508a078331565f70509d00c315400fa0316dbf61ed4d6a6a04ca8c1a2303567d37650d8dfbb329e2f6c
-EBUILD python-gflags-3.1.2-r2.ebuild 840 BLAKE2B bb4ad89b3b70a2c7a22bee2fc855586e140797b72280e570bcea41f3b78e55ba985fd2e865b1362e7ae5385c715f40d69b23b01b0c336994b06035778d0772fc SHA512 f2815d48a89e133efe4b6060da96e71065e5b7a538a517112b10876731fbab47c5c7f89918623416eb23bcd5e256b145fa157be1b435517624cf6139513283b7
+EBUILD python-gflags-3.1.2-r2.ebuild 840 BLAKE2B b0d329e71657b9a0573bacebef6159be449047d0530d871e879c0729694a67628249f221cadbe0b4af3af204da74fa6b73302667075ba004484465454259c63a SHA512 46445a98aa29403bfc6a53750fc2126097bdbdc89acd52e9815cb00eac8a9cb0a8f3a792d38d0c2748118f08c8aa213b9fbc6be451a8d92788545b466e490bf3
MISC metadata.xml 401 BLAKE2B eae24da2b1e8099693b44fe2aea5f124cb8d4ec8a3e3b2caca54687325b8340f3f449b3c5d65aecb3d526c40d804c42d97d42b0afefeae8105fc33193835cd90 SHA512 dc651536c02078847ee2c24ed88d0fb4c24852224c3a1832b2420fac6ef15e9431917c238524030d28267cdefa65f491dc1496094b1dae1df32b604712d8c1f1
diff --git a/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild b/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild
index fd1a0fdec8fe..9ab8dbc07ac1 100644
--- a/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild
+++ b/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/python-gnupg/Manifest b/dev-python/python-gnupg/Manifest
index c300c93e3eac..72b6f2d44d43 100644
--- a/dev-python/python-gnupg/Manifest
+++ b/dev-python/python-gnupg/Manifest
@@ -1,4 +1,4 @@
DIST python-gnupg-0.5.4.tar.gz 65705 BLAKE2B bbafc21296e0b16043e470cbee28832ceb403519bdfa3be0c887c2e0fd4ec702ab1ce6ec8e870f5aa25c87191ff8dbccdcfdae129d1aa7a6ea40ae3275699c07 SHA512 7136c423d388f0b7e77c55272be4b80a273468e02b576753183ae93ebe82182143662ee92c264982c3ad62d8465da49800706af76c400af578341d2b8bc0008f
DIST python-gnupg-0.5.4.tar.gz.asc 801 BLAKE2B 1f57f8443e5c37ea6ebdf137763cd67bd7d2651d6572cc740d606df317bc87baf27638989e2b83140c28fd16804ae036854bdac687ed147d2f368c603181caba SHA512 5f62119ddbff351f6fdab01533f54c8312a01eaf2d08358a9b54e8208ca2eb9d8ab67411da0ce8cee584691f4ea50a70786dcad2af2486386fedbf7631c70955
-EBUILD python-gnupg-0.5.4.ebuild 1196 BLAKE2B 555fc7bc8746cc660a59c1c2cf81c594d9ce378d6879756d06e426484e8a99670c3b59f1dc73f8517f87877d98e24297beb085b55e633bd13e5adcaa0c750cd0 SHA512 243c677c45acb10ed080ae9d3abd9554d66ce4d2297483f3360ec0b31cd151ffd5ae25135dc5cf310ea7ce1717ede7f31d8d62257974718663b1f1c32fef6288
+EBUILD python-gnupg-0.5.4.ebuild 1190 BLAKE2B b96f50804f6d2fd4dca233b78b53797771e02738004908cce884c58952f287ea48afcd8003a6c05b8eb15866edeceb7bc285db2a495d3b6eef1a22ab1c5c62f1 SHA512 397607b4ee43fc8679fea03e8d44f3a4111473e596b3219ae66891986f3749b22e236bd23d5aa5ac624f6990d11b450c90455b0090b5113659e3a19446b2fe0e
MISC metadata.xml 633 BLAKE2B 8f4c4f15c4aeae389c2f13e972248da4d7bb9adc1783a54e3882e677d7ce4f197fde565cf7c68a197a55291ea6a15f99c3b39dcc0bd3d18ff981738e5b4a94ab SHA512 77944c5fa529fb844598005386dd639ae30def95a66087b1e1e5441f21a8ba549d6ef0e28dab88527d11cae2a4a6d6c1871dacc765d2fb12188d53e893bd0df9
diff --git a/dev-python/python-gnupg/python-gnupg-0.5.4.ebuild b/dev-python/python-gnupg/python-gnupg-0.5.4.ebuild
index 5f04d548e85a..13fda9ef8673 100644
--- a/dev-python/python-gnupg/python-gnupg-0.5.4.ebuild
+++ b/dev-python/python-gnupg/python-gnupg-0.5.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 verify-sig
diff --git a/dev-python/python-memcached/Manifest b/dev-python/python-memcached/Manifest
index 5b584331dd77..5b061b79f137 100644
--- a/dev-python/python-memcached/Manifest
+++ b/dev-python/python-memcached/Manifest
@@ -1,3 +1,3 @@
DIST python-memcached-1.62.gh.tar.gz 28598 BLAKE2B 4251931d4e77e83b959d1d3c23d96b532083ebe86e23c25e899185485de59348994041529c03be22be412128657e8bac9edd326b81a218113c465d69e4ae2b4f SHA512 0394a3c6c1521e2dd5ce27953ebe285ab6ffc514ea64f8da22e9e630d01d49e975f5f81e8fc12080424a35409f7b39b4d8a0ff9893ab4b4985bad1005c6c1026
-EBUILD python-memcached-1.62.ebuild 1141 BLAKE2B dade9a21f7348076a139a0dbac1f026f1aaf98e12ae817d1e8549bc6b24d9e7f7841beda2e9d68be65435c9f4ebf5da4a918bdb0e88e6da9e940f1ca24ed3644 SHA512 0ee0f31a2f4cd40009600882902cdd5147d16c3d030c937190eb1a477a157ba31775024e288d4ddde9b8ba9d88034038f4b677513a792e29cea23462551450b0
+EBUILD python-memcached-1.62.ebuild 1135 BLAKE2B 5dafe16c3957e9c73a4c4e87f1b6b21ad047ee1c015747eb8cf3b6e0517f2de9c3be2bdc2e1d5d01cd7bb1dd0331ed93015cd95d639d3e8393ed5ad9a06b7009 SHA512 37edb05b6d861cc67dab4b90e6e4d2ce9c18f5bd8c15593c0ca67d50420d241801fdee601b5e5fbfb2c72fae65f3ed81ecfadcbdf3e7a89180ee238be74710d6
MISC metadata.xml 486 BLAKE2B 6126b61b0955941698b9221d4c6dfa239d7ecf04faa96a42cbb8bb00d788f54f349e64702852d3c0bdd467a6a73612f87a614f54ac6625e119a83922ce6379e6 SHA512 30513983f8440d212d772e3ee53dae96dd937805f1e89781e532c147d213d61d87877bbdc38597ae2b25fce7a6ca14d5134cbf24f0af4e05619679c012df6ee5
diff --git a/dev-python/python-memcached/python-memcached-1.62.ebuild b/dev-python/python-memcached/python-memcached-1.62.ebuild
index 294434eec9a1..d59669abc214 100644
--- a/dev-python/python-memcached/python-memcached-1.62.ebuild
+++ b/dev-python/python-memcached/python-memcached-1.62.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-mimeparse/Manifest b/dev-python/python-mimeparse/Manifest
index 486e03cf8fe5..eb320af45718 100644
--- a/dev-python/python-mimeparse/Manifest
+++ b/dev-python/python-mimeparse/Manifest
@@ -1,3 +1,3 @@
DIST python_mimeparse-2.0.0.tar.gz 7162 BLAKE2B c87e391a87d06a0c967f51df4c9010c8f415a6a96d7b10f58ede9fb225ebabb9f85b42c22fef9ef583537e86341c9050527b1f8d38eec2c78cc1cf3f56f443ac SHA512 02fd28d6a5b1754ab9317571037b38dae94309694bc5d758c189acdda596a5e1e9c4cb2439abb9e932ddf1d6926930874f00d3c685a7edf568d339f9fe0c712a
-EBUILD python-mimeparse-2.0.0.ebuild 631 BLAKE2B 04dc7ecd407566d013ef760b5129c85a8907e825591c2418f59f3caf30ffe6ad13564c6a234104b336d287554565bd161fb8ad748ac7e7784c021ada15b554ef SHA512 aae1f1bf5a25316762d49072ff6c1fec0a7b2ecd0453e8b830fca8bb7bce5a317c7f05ed844fc9136bbe95df05f103f623497332d513f6b10fff6b494f66b9e7
+EBUILD python-mimeparse-2.0.0.ebuild 625 BLAKE2B 0820f7246e4d6cd31f9e259eba6b62845fb839830010d1d4bd278e057feb0d0ac49350b9294e3f39f8fba6b2b8db73a58c3b238cc3669a707ddc219cbb3ed75a SHA512 1fe8e728c64ef43ecd888cf85002184ef9bb2e1af8faf88d7a9195ecf880af8ca380f839d7caf355c19d59fea19baea18f696327897fd7bf03dc164c6af1927f
MISC metadata.xml 422 BLAKE2B 83de811254521c0ba086160057d59ed1c49ae1258f78bd7c05acc8e2e0de86f3ce571f689df5a6c1247c6cbf99fde496eea2ac14d9133fd81493c6ac0c8bf28b SHA512 d14e037ea668ef4e6fadc15417ac5b74253b7b22385594965be785f5610e0071af0b74dfd80a5cf2386bfa01919955afff50dff1fd75853de7db7ed013b2e235
diff --git a/dev-python/python-mimeparse/python-mimeparse-2.0.0.ebuild b/dev-python/python-mimeparse/python-mimeparse-2.0.0.ebuild
index e9ae8374c334..96664216ec0b 100644
--- a/dev-python/python-mimeparse/python-mimeparse-2.0.0.ebuild
+++ b/dev-python/python-mimeparse/python-mimeparse-2.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi
diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest
index 3c5d4ef43f2b..8ffe04c5a58e 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1,3 +1,3 @@
DIST python-multipart-0.0.20.gh.tar.gz 96069 BLAKE2B 64fa4e24c7df40ad6a8e84f5a862df47f5df9c9f2821394781a6b689bf79ac07d13779442bfe9486209c86bd1dc778d4b5f925b0098b7380dcb0a6194699769d SHA512 9e59fc38413da38429e9fab15105d20103da820437a059082dfed588423fb4a2ec10abd7742e65c3778e7e5e5aba346936900d9dbe49c73518eaa30b24842203
-EBUILD python-multipart-0.0.20.ebuild 909 BLAKE2B b2bd81c3aee4b3a09ff9e9304b6f090f4770c4cec26dfc751fa1eef32e4e49dde856f2ab9ad440aa0a6599ed6afd0d4aeb378a3d71d9f32ac602dd126788eca4 SHA512 5937cbb3dcf33e279af69457ad1a7bd61d8f09de8591e03d9660c3da73497410407ba8e1a596e0dc0ac8ea96cdbbfb96da903919301f8d435cf201d51e28aaaa
+EBUILD python-multipart-0.0.20.ebuild 903 BLAKE2B 57caa1a5a03b4cc97f1fda72088fea74f183bed3652e72d81e50015a07ba5991f43d52c926e583a073bcd11b59a20fdbf9d1d50c790bc8ec60e3ac54a7e83042 SHA512 365f8313eebaa830c5b3e0b0f9aa0633dab69dc0d5dd0e6dc7849926f611e36e4ea7971ff6c0f7c67e3e589d04a0a063b3dc28f2fcb1d354aa21a4b466e1f105
MISC metadata.xml 407 BLAKE2B 506414856dda2ccb7c2da00c350f73dcff5a3d9ea5897b96a7acf8973462c564b217c42cb922587378ca8c0e78f8a5a6a5aabb12bd93ca202bb29e377a6ad143 SHA512 4b61836d4f1834b8abe4c5a0e1620cefbee79665ffbd14326dc9b9b43252b519e2d3cd392c40b7356f3be705e3a38da565416e7294d02fb1817cda0e8b72a115
diff --git a/dev-python/python-multipart/python-multipart-0.0.20.ebuild b/dev-python/python-multipart/python-multipart-0.0.20.ebuild
index 9d72eb2d51d0..40266e4861bb 100644
--- a/dev-python/python-multipart/python-multipart-0.0.20.ebuild
+++ b/dev-python/python-multipart/python-multipart-0.0.20.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/python-socks/Manifest b/dev-python/python-socks/Manifest
index 14d393b3b81d..03afe927defc 100644
--- a/dev-python/python-socks/Manifest
+++ b/dev-python/python-socks/Manifest
@@ -1,3 +1,3 @@
DIST python-socks-2.7.1.gh.tar.gz 32377 BLAKE2B c6d6422c54cd1ab7d53d85e073d62ed51b31daff8eda820c30083e517229ed5a230147c469e241a879fdef3ff50b4642ff769439c2e4ca92d8bb00737bd31e17 SHA512 93e42db6b08e8742897cf704b5d5b33f8873439f32118caa5e65bdca6b89be145814466fdb5ea559a8f1f517f228524597567ba9d2ad83df9f805d9fd3311f9b
-EBUILD python-socks-2.7.1.ebuild 1336 BLAKE2B fc0b321768933a25f64321bcad728f2eee5ba8d41d9a706ac6580eac22f91aa9717890a777677c4a8f9293f472e26fe6c13bab4a00ca45910927f34bebb45d33 SHA512 7a1ffb7f12a2f6462e521e2a73362ae41f9c32cec29ed564a3a398fd6dfdbb1c6638cecb4f39ec9ecc075d88f94fdfab888c1f3ae25219294618bac04d1bdd0e
+EBUILD python-socks-2.7.1.ebuild 1330 BLAKE2B 5bc9e4ed3214a5c9dd97af5002d51c166b373d9d02555ea6062e1fa9ddcc3bbc953f1992e409929634359bf5c139ab647e2b7b1062371053722b957e118acaac SHA512 1149376476db1a32364f5039cf4a2236d254df2856016b8e8d2aab05c8920f21eb87563d7f78e867db1181d5ce8bc297e6940d5f3a799361e4e52fcd561bf204
MISC metadata.xml 380 BLAKE2B 2209abdbafd26baae585840e774843c37e0c6103fa93d75e8c1ddbc8dd1b96f269a3e76f14c39a55294d4d642d7fbe9f87c6b1a0b64152c671590a9e0a6ef959 SHA512 ccbb1a5c9fd05ae1da346f4f92efe156921f7adf9f5544635a407ba4a8154c896bda2e445e05e70a8e46c2829b8d4a38d3bf5d73804a3641c811acd2be62099a
diff --git a/dev-python/python-socks/python-socks-2.7.1.ebuild b/dev-python/python-socks/python-socks-2.7.1.ebuild
index b81b16e1c931..517ba745335a 100644
--- a/dev-python/python-socks/python-socks-2.7.1.ebuild
+++ b/dev-python/python-socks/python-socks-2.7.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 7bec6c555661..67458dc8bf1e 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,7 +1,9 @@
DIST pytools-2025.1.2.tar.gz 80400 BLAKE2B e07379f1c954ece6d9b2e5c7db5a84758d5d85a5955990cf730a135bc961321132c36c7e1402c4684d50957069f839bb732bda849f3d46513ddb5533b9a88b88 SHA512 74fc858aed5043cab9aa2210f071aa3aaf60008ec60b63133dac870ff257981284f66b40ccbedfdcf68969b1e1476cb012dbf83fa9397bb1b857ae5db09f99f6
DIST pytools-2025.1.3.tar.gz 80509 BLAKE2B 448de6bb5ddedd905ee002ee4f6c0a49c657fce546e99c8ccdc5ddc119db9b8e0d40a138be9b3f25a63c5beab1602ff862805b175f927bea2ca306d6155d2499 SHA512 cdf9562f9dbc916fc0c21f363e7f34c1bdee3fd5adc5b499461ce40e887100d39ab0f8dddc50ade6c85120c74da3330d487eda112b7bf6d7e567fcdcabbe6e9b
DIST pytools-2025.1.4.tar.gz 95738 BLAKE2B c2e722dd22b64fedd09b384d14e3201bcaf7f5fa18a546bc22ca7d21b168e96d862076178e14cc9c3cdd66e297f1b085ab33dd61fb7f565aa42cc797d474efbc SHA512 1018a6291dcde017993bb64dfeed0396d8f2373681731546474a99dd2086878684de39faf3e8c8eadc056e4375830cfda937c34f1ffb3c68eec8a39a51ad0764
+DIST pytools-2025.1.5.tar.gz 95745 BLAKE2B 7bc5a6f5dabae3a39b81cdd36584aa7b434f8693d17cec2b7985f05fa5b386c2c56845c140b1d7b4874b13b748cd51dc1db6c1885e0503c53cdd5847c09df4b3 SHA512 c1616e473942d22b32831877af361e0527bd6cabf1be0b13ec413ef341c1cddd5da00d2d4d059e407c3b63e25a86737351da4dfeb29db090d7369af7af25172f
EBUILD pytools-2025.1.2.ebuild 787 BLAKE2B 41ae73d2fdde12547f00d7aa9d7f3a032ff1032fe2c456079fb3d8a64ade9c5c7f4a6b7c1666b595276e5c4fd01e94c2ce1f6b672602d5c4fbb768aaa50579e8 SHA512 a1bfb48992e238a446c36e92d59d96841454491d590e7ef527b14387f472a9d75c2609d43b4c3d8cd8e0f10a5c9a4d96df28ad73b00e1c9e557c3bd3f474d767
EBUILD pytools-2025.1.3.ebuild 777 BLAKE2B 93742e69740fdf2f930a0ab941b7d77c3d3cc943f63a29c06ccfc31df33bc6bf2f4e95a861237eedf452360ee861a449e756a4e261d903eafe8f31a9a4de811b SHA512 f954b4272c7c08cadd23a7963c7dda1ccd488c0e843dd2ef315ce299cf87801e6dd42667aa48f59266c1bb26c24b2dcde08aff432da1a43305a5ccb9e8e7648c
EBUILD pytools-2025.1.4.ebuild 777 BLAKE2B 93742e69740fdf2f930a0ab941b7d77c3d3cc943f63a29c06ccfc31df33bc6bf2f4e95a861237eedf452360ee861a449e756a4e261d903eafe8f31a9a4de811b SHA512 f954b4272c7c08cadd23a7963c7dda1ccd488c0e843dd2ef315ce299cf87801e6dd42667aa48f59266c1bb26c24b2dcde08aff432da1a43305a5ccb9e8e7648c
+EBUILD pytools-2025.1.5.ebuild 777 BLAKE2B 93742e69740fdf2f930a0ab941b7d77c3d3cc943f63a29c06ccfc31df33bc6bf2f4e95a861237eedf452360ee861a449e756a4e261d903eafe8f31a9a4de811b SHA512 f954b4272c7c08cadd23a7963c7dda1ccd488c0e843dd2ef315ce299cf87801e6dd42667aa48f59266c1bb26c24b2dcde08aff432da1a43305a5ccb9e8e7648c
MISC metadata.xml 390 BLAKE2B 3cd3f1c6df2c112e3828b55f4a4282495c24fb5f1869ee1c105710e517de738a767e30388c808432ce7e41ad5d14be4d56fb6ee7bcd62f9990262b145413ab20 SHA512 c28d8640d0b0c7d77ba18367ae5379b11747a67ace55a6f5910c2f5a4dd5d5816bb1a256a27e78fdad909de2947e5db84c16283604e216b393b5cde5c39e6b24
diff --git a/dev-python/pytools/pytools-2025.1.5.ebuild b/dev-python/pytools/pytools-2025.1.5.ebuild
new file mode 100644
index 000000000000..aabf4a0c8003
--- /dev/null
+++ b/dev-python/pytools/pytools-2025.1.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+
+# NB: numpy are an "extra" (optional) deps
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/qrcode/Manifest b/dev-python/qrcode/Manifest
index 8b5fece3041c..3e9989a751c2 100644
--- a/dev-python/qrcode/Manifest
+++ b/dev-python/qrcode/Manifest
@@ -1,5 +1,5 @@
DIST qrcode-8.1.tar.gz 41549 BLAKE2B bf7059bb1956553f18e2f3882abe604f909e388c8a2b402b7f9393886d11211aa4cc474802ba886c438a6c82756a0a8be060017ea67c5f2d780a65682e0b8180 SHA512 e0cfde2e81329e49e74a0e9d953e12656e92f7a920beb5c7ebbc8e3737dbb345f83f3326d69f0addffef3506acaeb180ff22b9fe6b81f987e8fe26d223257d7c
DIST qrcode-8.2.tar.gz 43317 BLAKE2B 09d65ac57908cfb55945d478f3a792c5bd25f1671cb7d2a869dc1462c9f8f1b2a5df32630c5ebfe2dfd19f1a6547fb5dbacfb2343b2f9baa164406a56aa71f5a SHA512 79a783d49872c13fb4ca71cfb9d4892f9d9c1c04035f2afe312ad1bf7c94d00994457749ed1924eb0ca67e3060e89404ffd908563f464137e5e0c78164d8af72
EBUILD qrcode-8.1.ebuild 764 BLAKE2B 461e538219082f14a9929a419ac2a54fd8f4a0adaac044f88028909af59301fd7ecee9c09355d1bcbb75056ce68ce0fafa1a1dd5e1950b793981d0436d4ef04d SHA512 942d6415192347a3051fe0c1fdd6cc66e24b59b0496f3079232aaf9b8fe613c0fecdec8704aaf1e07cff047184fb89cce652f9fe1ffcdd7f745f312554820a0c
-EBUILD qrcode-8.2.ebuild 761 BLAKE2B b60714c87c1cd5d3658e0ce5de43825ad66b9f799e06328860a0b551a461f7e27a887457235ae7cfb0d1c09d463912bd65f5074496e4759ead0b51b6d01fc625 SHA512 5dbe83e75ecc7f99da86e01ac6789edc8e2a671347a93c2e7f1bf2ec2c0cd1a3267f08674009100cdd091dbacde839fe4b365c23594213a17cd27bfac75e298b
+EBUILD qrcode-8.2.ebuild 761 BLAKE2B 4e5d4b9fbf73da74c791d64fc05db6247b035ff1d2264adeb07f48aa5178797b21c5f749af9b4931847090e1dd09d787200768ecda4658bbfba34ed1aa5a0a72 SHA512 9d64e8458916ffdb43224eab1f88a80fc06c2fc7cb76922af952b275b8b4f80313e3ef423d3946af46ed868a58654a96ea2efa2dd46a558ade709eb4b5cdc733
MISC metadata.xml 399 BLAKE2B 35c778030a5c082a2b0683513dff8b6a3e1f7869e031c1d24618c1b8a6259263d57c140e18e792c5f10cd7c8790b3c146472f48ff44bfa6c0eafbadddb9b9b26 SHA512 e56f4843622c02c2e97efd1f319db4ebb017672330cd97f339136a47c56d697fd2885d830511c8755b918e8a46daee87dd33fade2ac54034f5251f909a09e6b9
diff --git a/dev-python/qrcode/qrcode-8.2.ebuild b/dev-python/qrcode/qrcode-8.2.ebuild
index 54804f96bd01..ab421c5acbd6 100644
--- a/dev-python/qrcode/qrcode-8.2.ebuild
+++ b/dev-python/qrcode/qrcode-8.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/quart-trio/Manifest b/dev-python/quart-trio/Manifest
index 0d037d95b4de..9ec4e1d3f176 100644
--- a/dev-python/quart-trio/Manifest
+++ b/dev-python/quart-trio/Manifest
@@ -1,3 +1,3 @@
DIST quart_trio-0.12.0.tar.gz 14979 BLAKE2B 7a7ffaba59e6984001941c1c54cfab189434366ab1b56d6509567c79560d916e2a5f0c81e8f23e17462de17d012d77eda3803cc8828a5378b3b92c1bab00e475 SHA512 70b1f2406185b020f999cb335c2c13599faf9c36c69f8adc437fbb846158f659e8d6527199083f9674e75c99bcd10dbf228dbd62ca7c5614b471c462b22227ee
-EBUILD quart-trio-0.12.0.ebuild 894 BLAKE2B f2f29d9a89ce45f0fb7fb8b4ff8fc73cb9220cabbd8b7bf1632aee47c587dd60dee7aedc3be28435f083a480792189cfb6734de9eaa1a1b3b3e3c9044738530e SHA512 e4b80eecbcd420e28ccb120ffbaf73adeeb9dec8ef012f7aeb2416ff245244f012f0292d5ec196a30f5f509420929adcf9311d20f538e81487d0c7a94b6d98e6
+EBUILD quart-trio-0.12.0.ebuild 888 BLAKE2B 587f1454b8347a4a70acb2d9856313f83b1a3747cf84d40121e25af5c769b185616645f7ce756c768f6b33268bb5b87e56e0abba1535336da743a13db9f57133 SHA512 820036b806c3b365ed0038940b84686c50676c02835539669a47a8eafd54f0d6515922d34c6e700d2009a8c4163155e45a3bb7774485dadc5e98bd51c56f3389
MISC metadata.xml 427 BLAKE2B fade855b0fc05b078dec5432d1e5cff22bdc4fc23bb97aecca815b7c031b67881f291afae0d5abf42fc115f405cf528683d992447d372a154015c40b1eb8f36c SHA512 2738f87b35ee3ca112096727054730fe90af48a3f77afff7aed8198a43bf505e984ec0f2d810fcd183507be58a8586c6f3dd4dcd26f40c6ba11008d7745aa714
diff --git a/dev-python/quart-trio/quart-trio-0.12.0.ebuild b/dev-python/quart-trio/quart-trio-0.12.0.ebuild
index a421cabb0243..f380839f31bf 100644
--- a/dev-python/quart-trio/quart-trio-0.12.0.ebuild
+++ b/dev-python/quart-trio/quart-trio-0.12.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/quart/Manifest b/dev-python/quart/Manifest
index 225d6787bc35..953fdeeeb50d 100644
--- a/dev-python/quart/Manifest
+++ b/dev-python/quart/Manifest
@@ -1,3 +1,3 @@
DIST quart-0.20.0.gh.tar.gz 746472 BLAKE2B 7c558532e6bbd2b4f37fbde7517700cd5e777faebd6ee2c5249ae774250d222e3e858f22a51ed8012c4695485a880ac7d288c723c615d6d80f7c8593e7eeb441 SHA512 22d99aae1f30ebc50326ed0c589938386d7b6c11398925b1cf326d2efa2d79ca40ad21939acb191b8a804ed78276f213375e20f31b66c7bb63ff28e91047017c
-EBUILD quart-0.20.0.ebuild 1280 BLAKE2B 4dee7ec07033d34bc3118c086736e696245e3dfde41adbc871f58e7852e7e0021d8cb90899bf59e5d9dc00d65429bf0925246866275bf59c06a8e5e2b1c9d3fc SHA512 09f09f1cbeb637d5f2278a7bb2b4d756d54de1c31c8f36a6c33882e3baae1f6ebe806fc0bd5fe46d5dc5361604a3dba39d4676aeae4bc23e9c86c1dd29a5b41a
+EBUILD quart-0.20.0.ebuild 1274 BLAKE2B 59059c8d4e5474fe5cb88ba2c54fda89d5b2a0ed3876fed524e3927a6f33aa4f29b2f7dd1bff287132d70ac31de23d0d29cd6572b117e9ec26b3485588901b5f SHA512 cfef3016e325e452bc4369e793051f75ad45853c386cdc9cbe447f6e26f5621fb5617d4efa198730bef7d663a72550969652296b8433546886c26ec3d3bd7fce
MISC metadata.xml 364 BLAKE2B 207d3328ae2624ec61834adc055ca2b01ee1a587c2b6ef8cfde8c72d7370f4bb912dbc5fefdb5432959dcf273b9ebabc394dfd163dab7be00413daa85a0b6162 SHA512 8fc752b94e06ea29021c7e73c67a488f17fbbd6b8dab79c58f8647989e9c613071b539e626bf122e6693b8b670cc57bea115581801d57d3212c037d0f91df7d2
diff --git a/dev-python/quart/quart-0.20.0.ebuild b/dev-python/quart/quart-0.20.0.ebuild
index ff8cc688fbdb..b7e572768c6d 100644
--- a/dev-python/quart/quart-0.20.0.ebuild
+++ b/dev-python/quart/quart-0.20.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/rfc8785/Manifest b/dev-python/rfc8785/Manifest
index b6b8b90ba8c1..a715c48beaf4 100644
--- a/dev-python/rfc8785/Manifest
+++ b/dev-python/rfc8785/Manifest
@@ -1,3 +1,3 @@
DIST rfc8785-0.1.4.tar.gz 14321 BLAKE2B adc378ee0a67c2ce89cb790934c3175dfb186b7a9c5852b0d87bdf0c1acd093cdeb88af40c555f8698a21e80e51dc08484b0b710c97441cf84e58942340ad04e SHA512 d563af4905ec2b6043dc6f523bf14afaf8e2df50bf22dc2abc795a7945793f9cc3d5f7ff3d25d51436edb3df2137a5f74219f5aced3221879bb638455c38422a
-EBUILD rfc8785-0.1.4.ebuild 464 BLAKE2B 7d03266d99979b95e73fc76e0b0ef05a63694cb76452bde61b15096a0787cb969a49966edd6adbbd8642ad959fa63263fe8cb445deb812a381809723a2b735ea SHA512 2a974ed7c1bec286b7934ef02a60caa4dcf6412818b6a49b58db4b7fefab41c3da3b3356608081a79f1f87870ea7b51e2404109e9f7bc9dfa97df6241245efde
+EBUILD rfc8785-0.1.4.ebuild 458 BLAKE2B 4a7e0beed2df2b1660f5aa8f03e48ebdbf706efbbff24d12d1881c5b3043cf09e157b3440b5b78655bc9905a28291a13de119eedb5927ffc018750d51d48e0fd SHA512 4b2d05df18be63e75684f36b9ae64065700b5365a3b9b363f8f183f8ba82d1739fc59f4f71b5f1b1da3772b8c83f12eb66be48c8afb3abf2f8abff15c91153cc
MISC metadata.xml 375 BLAKE2B 8ea127ad02d391f042cf16678abee358d0c9647cfcbf4a66aea86be8892ff3544f150c9e311bc358521fb9b737f5ece7b5e181c2622d837c253dee268121c78e SHA512 98143faf1800899ced91194cb0b5adf1f7b5380c7467943b1bd0c76aeb31ba3cb0e405335c0607cad3cf3a4506d663143e5ee30b4381d7ce83ba75ab95d774e9
diff --git a/dev-python/rfc8785/rfc8785-0.1.4.ebuild b/dev-python/rfc8785/rfc8785-0.1.4.ebuild
index 0c1e74451076..64cc3300a48a 100644
--- a/dev-python/rfc8785/rfc8785-0.1.4.ebuild
+++ b/dev-python/rfc8785/rfc8785-0.1.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/roman-numerals-py/Manifest b/dev-python/roman-numerals-py/Manifest
index e284c503994c..76d99c9c4804 100644
--- a/dev-python/roman-numerals-py/Manifest
+++ b/dev-python/roman-numerals-py/Manifest
@@ -1,3 +1,3 @@
DIST roman_numerals_py-3.1.0.tar.gz 9017 BLAKE2B fac50035b43c1521a0d26fa5b2825372a8db5ad145bac7e27c53f674d66f0c6eaf0c371ad7986348cc69c8d3c0a15fe56dd6657f0a2900e45bfd844888364e13 SHA512 d81d6494b1aabe0fdb9e88056cdef436008fe5edfa4424dd61c67db3d64f22d97b3d65dd9508b2fad82957eb972c62646235157ec0550b0b530c881e3ee7fba5
-EBUILD roman-numerals-py-3.1.0.ebuild 517 BLAKE2B 1eeecfa85769bcaa89c9a306a9e1e2aa73921ecf9ef5efaa19931f60e2aed6bd774b8f1ce175d32a837a74379c9546a4616ee7e9248ba8e07037cdd794a4cfed SHA512 fb81fea5824b7be38357e984bc02e7c1a6c43cde9ad9a26f259a91f230d1d59adcd77589e66d3c97ef620cd3a05343b16f9c0f1d2d940b7072aa881f3c364e0d
+EBUILD roman-numerals-py-3.1.0.ebuild 517 BLAKE2B 453e349395f4f28a46e0ad2f66dda7c0f02d0d3a81077e3434beb8322cb1483cf33fac4578b7a53b27fe68627273e7ebe92fdc7d2b0329ab942bc75c6d13bc3c SHA512 96401b3263394b9cc7fda5c891155fad240cae0e940f969895f092294e71fe462ffe07c4e9cf6e866c95fbd0d98c6a6159c1752d18cf5947319eb6eb6e230a4b
MISC metadata.xml 387 BLAKE2B 785d894a66c3b4a1d14fdb4510b8573c7d3eabb25ea22f61f6b66b4cf2d60ade26ba397d0b0a59899a06e870bc299b9f97b11982ebb7eef26e471a5a25f8ff23 SHA512 dc0901ddf30c3c719ec84bac2cdae8db65abb317ce308daa869956f3c0d4bac791e1a5dff69cb077c2fde04bdd4fdf77c23936f6f6918299beb1157cc74d1681
diff --git a/dev-python/roman-numerals-py/roman-numerals-py-3.1.0.ebuild b/dev-python/roman-numerals-py/roman-numerals-py-3.1.0.ebuild
index cd3b9be935a7..8874e34e5beb 100644
--- a/dev-python/roman-numerals-py/roman-numerals-py-3.1.0.ebuild
+++ b/dev-python/roman-numerals-py/roman-numerals-py-3.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} python3_13t )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} python3_{13..14}t )
inherit distutils-r1 pypi
diff --git a/dev-python/roman/Manifest b/dev-python/roman/Manifest
index 79563eac29f2..0dc84445c66a 100644
--- a/dev-python/roman/Manifest
+++ b/dev-python/roman/Manifest
@@ -1,3 +1,3 @@
DIST roman-5.0.tar.gz 7664 BLAKE2B 1e3b8f90eba33abe7bc061ca30b8f12da23976fc15315923813c97a9f9dfc5909de475c3db752f015aa34faa775165cd8518ede5c9a8b1a87da5778abf964305 SHA512 9acd5d1587338497080066d3cd01c0a2cf007c664145514acaaa38cbbd6bbc6eac55469db9015dcd050a2457c69837dd9cdccf110a771f6b09c2a9bd59de8c4e
-EBUILD roman-5.0.ebuild 550 BLAKE2B 863b7b15a1fe8ccf94e58b6f24459a930a6b3b837d09d411bf00819214ed2702edd38df74d9891045fceb091d82ebe325f1e0b86874fa5e959f8cdc2f814b9e0 SHA512 c3856111845c7d005b0ced17efa8fd816a46a65a51c27721d45204c4bc1034f40c84682a235f70c5cf688324de6da0226a5663864aea27e92bf5e315cd50da36
+EBUILD roman-5.0.ebuild 550 BLAKE2B 89e77fbfaf90fda02f5d3469821d02f44fd05ab1c942e9b5023be265f061a209b189a4e9355bc9819d53bd42182eec9622b75beb8af99990a97a3ced85e68726 SHA512 14d30f121c72ddd96076eff2d609e9f31c650740ff6bbaac41ec315a1351ee28780fa6f389ce7fc9f66762cbe758476f25aec80f15c018f9f53d2825238176b9
MISC metadata.xml 406 BLAKE2B 7d271b8b48457f992e45d502b52fafa61d7a850d2f4b39386eec1bac024be2ceb11ff12dccb423869921d98bb07008e13bf26aa8eb4f66f1fbf51fa616d16ae6 SHA512 31fb4e9d275578423dfa69535d81cda8d0f648906133b76a531f08dedc0835a19c521c3589350562a894ab70b259cd0d4e067ace8ef80a69e3c606a3f73a467a
diff --git a/dev-python/roman/roman-5.0.ebuild b/dev-python/roman/roman-5.0.ebuild
index 35c98cc06d01..f3db6871e195 100644
--- a/dev-python/roman/roman-5.0.ebuild
+++ b/dev-python/roman/roman-5.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/seedir/Manifest b/dev-python/seedir/Manifest
index 4d7adbd229eb..65c241dfb0de 100644
--- a/dev-python/seedir/Manifest
+++ b/dev-python/seedir/Manifest
@@ -1,3 +1,3 @@
DIST seedir-0.5.0.gh.tar.gz 3099344 BLAKE2B 27ee50e6dfd91a67bb80452b3065c4183341933ef09de4ec298490264bb66601146a50a0b7550ef37bb332acdee1f2e45c31b8eca6e33f4f7e59b9d8f127f565 SHA512 e6c257787e65c24697e76f75308dc5e8c2f919205a4922aa1bb66673000e2c784959ebe45a7ccd826d3ee1fea03fe0a6a64f6c90321c76d1e36ab68ba3962361
-EBUILD seedir-0.5.0.ebuild 658 BLAKE2B b2e259d243823a8640c02e05e6cb535e56be6f30457b1523129cfab4f595d77108bf58d331e840231028549ec3474a61802fd5cbe002e73bd0fbe85f26c63973 SHA512 6d38c63059b9ffa5fb485de4bf507a7d2ea19d1394570e4cb55878e3975337bd4f651f24e5beecf6c19b1fcd630b1ca21ca5a26a2b8ffa032740f727ef44e3f5
+EBUILD seedir-0.5.0.ebuild 652 BLAKE2B 01b5d2d5792ca11a1a64bd5c64682f5d1bab71d07c54edd246ea1217f4a65c6a53d188579e50c6023f31bb300bc9368f79c5f06891c807f446b40a8c79f042f7 SHA512 b75b4626b0d6ca8a7318b9dc6e30d1e98ac47c1b38a5e7492afbfe048ed82ac1b87930580ff29a991730ac7ddb684f1af85f3f3a66899d826774276dabb976af
MISC metadata.xml 393 BLAKE2B fa479c17b0ecb4807f85e82e871d8f3690c7b0aab9a6c53b3609c84771d3d5a0e8b0769ec35ee51d533764440bffaaa679fda6401a95813ab7c76f81d6f84897 SHA512 913ba255b6ae25b437d99ced1bd8aef70f8dcc17b947be4d1ce10738a88c6ab35cce66dfdc2193d73881011f1e5e976e7b43c1faaedf312a429401e02f0dd9f7
diff --git a/dev-python/seedir/seedir-0.5.0.ebuild b/dev-python/seedir/seedir-0.5.0.ebuild
index c89393019dce..826745b07f83 100644
--- a/dev-python/seedir/seedir-0.5.0.ebuild
+++ b/dev-python/seedir/seedir-0.5.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index 928a6a66388e..6b468af165af 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -18,5 +18,5 @@ EBUILD selenium-4.28.1.ebuild 4349 BLAKE2B f224e8ecd3edad133bdee84a74b18be45c26c
EBUILD selenium-4.29.0.ebuild 4349 BLAKE2B f224e8ecd3edad133bdee84a74b18be45c26cbbb019de5a7dd50630b02a649e95b29e4b9592782b43acb223481abf4cd4a26be721f12e40ef673389b31c6d3cd SHA512 30722a2a97fb7537bdcd6081824a9abd1f9ff0295d5213fac53eab43fbbd8160e22632e0b44bb56d326aef2140009f4129f97716f9b77db619ba2609553ddb61
EBUILD selenium-4.30.0.ebuild 4324 BLAKE2B d267a09f8dfdb2267a05e084c14676b66635204b8ffd9ed7c28564d0b7a645d747c7b225d48d8efc772c46b84ed0c8f4135d9f8277cfbae77124dd98906b2027 SHA512 a58186308ba305f846af110558fc9c28cfcc36af7546e283024e457bd8a0c649fd9cc2b09e5ae020c83ea40197f7d0f9db069afc06b4f3b90d6b3c2dad9d262e
EBUILD selenium-4.31.0.ebuild 4386 BLAKE2B 491bda8bc96102509e515e3534e07192298453d7ab1c7492e114ad033829e276f4e1f1bdeb1c4b5c7014718ba06d7ecf63dfdd95c5f8f3baf48894bc0556e03d SHA512 eb8988ae269292fc6e2f8093c16868ff5c97fd1db4e551315c71c2d5a64307f4312e413a549cd241dbafc5eac02b4875d2db0941ea027ad4fcd546c15a045199
-EBUILD selenium-4.32.0.ebuild 4671 BLAKE2B 63d9d444d5772e0d626aa1395f9980dd614bbdc9a4a9a2c3a571eae1117821a3cf5cb6135be5f0430f5f50c3e5867fa80daf67d030af90580c94631df0054eff SHA512 fe962794cbcac22c5ed0b036b45cf5b807fc9ff83a9f7876b6a9bca2936e71607462ad435ff40f10d42faccd6a4017abca81a91abf69dd9102a26a3a8dc61f05
+EBUILD selenium-4.32.0.ebuild 4676 BLAKE2B bec23da3acd60e1ff13068e0c2a987171fb5cb75f0b53be6a1c2a61b3a6c2b7bf650d47330c6349549c902ab3e0991f8ba9160726c4a2ddad4b96adb1882824d SHA512 ae79df78f47a4efcfb10f5108a9148aeb67c48ec9d3de5f827655ad7b2d43f88923a518b61796a10b11e032920586b31b4ebe531f7d6324dae0ef6c7e951a584
MISC metadata.xml 383 BLAKE2B d437d1631cefdba12fe2c3ce38ddff34bf9dd2bbc777d5d3425556bda76865711c991c9e3a735130a1d55cb7c6578b083ecb473c28706a2d45563b31bdbe6d1b SHA512 c087323da996b9ad4d0bf8f00306cf044d5daab194b60af029cb1ce06bf60c660fd5959b7914e6f1103143c3e4533d293a6d3bd0ec1c95163eba09d8a19c13a1
diff --git a/dev-python/selenium/selenium-4.32.0.ebuild b/dev-python/selenium/selenium-4.32.0.ebuild
index 64fabd2249a8..31fcc3642080 100644
--- a/dev-python/selenium/selenium-4.32.0.ebuild
+++ b/dev-python/selenium/selenium-4.32.0.ebuild
@@ -4,8 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..13} pypy3 pypy3_11 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_TESTED=( python3_{11..13} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_14 )
inherit distutils-r1 pypi
diff --git a/dev-python/semver/Manifest b/dev-python/semver/Manifest
index 7724f4cabb0a..bc2ef63052a1 100644
--- a/dev-python/semver/Manifest
+++ b/dev-python/semver/Manifest
@@ -1,3 +1,3 @@
DIST semver-3.0.4.tar.gz 269730 BLAKE2B 5a406c7c1385f4cde578f232c3866d4decdb454d6e4d43a503a5228fb8d54dcfd4387a5c46bead143f7134263136efa83585db54df6e6a4f767c6a96461e49d8 SHA512 dde83495fb759d547313b706ba783d0bb23bdc27b84d13bdb0a2b4557677fd07cab396f15b18ba469dbcd494d5c85f815b6206184af3e975b42185624f542c2a
-EBUILD semver-3.0.4.ebuild 518 BLAKE2B a10319e8ca858ca5b0fe7e8c54c1533d6ef6a3323dab322f024d961d9fd5850d0e4e11336da56e2663c617ccaccfab17a31acdd139fdd244a219cdcd90ff8759 SHA512 35589707fa712caddf31b115846a2ce6ab0429a90ed407df31b0960596117c68120578cf8f7fcaf2aaa59b56e27d79c303a60d6194f88c64dd00765cabfc225a
+EBUILD semver-3.0.4.ebuild 512 BLAKE2B 042aa40cca2b50fc91eaeeda8110b35e2f9c087e1e98cb61b436f984fbd5a571ee6563ffcd52f9f1d1efce36ca83b98539fb19de0999868672c2c374e37a2d1c SHA512 c26c07020652d9f3a1976c329b6b7ef46062984e514c8ff7d1b4a10dce19fd637f95f4c43b1201c6775b5af998104e8d424b81e95995a7cbb7d5cdecfffd4001
MISC metadata.xml 401 BLAKE2B 4f7d1e6e5a49bddd7ad4fff00ba473e07600f7065e49fe3fb14eebaff64e27fc3b58e6cdd070e8320b92bbd10beb89d45ea173654c2202024afdc9f48b18d090 SHA512 ccf9ff4e627914699a63813d8342185d50d73b88b08386133c3ee3e64919874cda7d9b0253caed278d0288425bd1e5ac69dc10ce9c249a2e08fbda29d19668dc
diff --git a/dev-python/semver/semver-3.0.4.ebuild b/dev-python/semver/semver-3.0.4.ebuild
index b30679dfa2dd..cf88e9e362c5 100644
--- a/dev-python/semver/semver-3.0.4.ebuild
+++ b/dev-python/semver/semver-3.0.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index a25bb3089cd7..66932dde4c61 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -4,8 +4,10 @@ DIST setuptools-79.0.1.tar.gz 1367909 BLAKE2B d495a22753400b3b0ef71423e2c9b5adaa
DIST setuptools-80.2.0.tar.gz 1354232 BLAKE2B 2eb5f9b51632c865533bb018e268da7e9b52f1cecdb9da0eb0da713ee4e44d0827c6340b5c1f663d3b8b4df08849c32972498980de287fab6101593d5aeb47ca SHA512 a684eb3ef4049c6d05aca9cd77a015e63047cdc84460af798ac1dc1d87a970370176ac7fd87e250be155e61dddd77e89ad84adb5557f04d1a1059cd449c08c53
DIST setuptools-80.3.1.tar.gz 1315082 BLAKE2B 65207edf080d80599b2fe82caed638221bbe1155f745fd8cd02bd9da5934b1880782eb285f5be44088e189684385e7fbbd2bd0750fcd27aaf556f0a44214573d SHA512 be5157aa1f1a7f1e3e11b971ffedac509303d4919d590c1f741dd1c4966c5dc83168b458d3aad66dd9874c7f8f4c8c5bbded6b4dbf6ed91f0d05b1c65229a789
DIST setuptools-80.4.0.tar.gz 1315008 BLAKE2B e41541fdd6e6adad6ed2f39f2c344c944336e89c24b6d9de9984c8a0234c61dba05b15df805639d380e840b0a15b98a3998c251b764340b5251624827be0934a SHA512 d4d55d9f7bdecbf26e3de6e5a99245db4b69a203a37475539ce4a3b8c6e6b9f1c47f5dc29b4d6a4dc971cabc6714ae7bc0a55f99e214d9402b47bb3dd89b58a4
+DIST setuptools-80.7.1.tar.gz 1319188 BLAKE2B ed8b6cee577f15be456d92b1a1241d477dccbad414eba093134fbd66c5228b241a2c31602f2253319e06980a103777bc9981896cf9734890a1046f75050b848a SHA512 831bc6d6c65c2febb8e907fe10d24b4463d15e085f13754dae284814262e7e16645141e839adc28941e53ecdcfefdd460bf8a79d9c4a05437c5b49466d4161c6
EBUILD setuptools-79.0.1.ebuild 4867 BLAKE2B 2b213ec107a1a682d6364015e5dac92b61612a7b5251c104ad60184d9f82d96ea60e546a23a766541ec0516042ab67efa22ebae77005dcb1704db2fc33d1d266 SHA512 ee087afd8afe2e1ca96cc47cddba23112219afaf24f087539dd49664533653586efabf5b0d6e1f652226f958bd87c9421493b6bb4208eb845bd2baaa7bf2fa66
EBUILD setuptools-80.2.0.ebuild 4876 BLAKE2B 56e169dbd32b6a4ef9a76ee9526a501616244486caa5f934a5b3d0138b4285b90640459f3cfe564a2e2a8474d5bc0a18475d3c145acbdeea6af7141969c4d02d SHA512 a7b4711381757b1f930abaa9071f73322a624bcf37c20037d9d76eb863cffc74a73347f176024ce5a9257bbceb1e0add05c45f7fd14022a9b3a8158fc839a336
EBUILD setuptools-80.3.1.ebuild 4795 BLAKE2B 24f84251be5cb7aa50ebf4c3c835cc266de472b1c8c36a303cc8ee41d2787f21851b195e6c0c29a31b5bc6686c0051b771330c32162f1b070050243124ac592e SHA512 f7669a960701acd5878509685c45cb1afb45de1bd5e822493a8adf5aac52f11018be804f157ee6883d9dafc8320c54e61a0a312beb21afb1d8bfd340681ca3d0
EBUILD setuptools-80.4.0.ebuild 4854 BLAKE2B b813af8175a49963bf9b6ff92de007f5891fd554de370f1df46d3aad8ea28974b8a290468e445078b07250572fd27a9a599e807fbbe9bcae9ee5c7b41e9700b9 SHA512 e3a7547d022299227a0006a1156cdb4748612bc1540005e64bd9adf179830aa574dcc2374dccb6306f90209c816a641d2992e9a12163d3c5ff6b2df4811c42b9
+EBUILD setuptools-80.7.1.ebuild 4854 BLAKE2B b813af8175a49963bf9b6ff92de007f5891fd554de370f1df46d3aad8ea28974b8a290468e445078b07250572fd27a9a599e807fbbe9bcae9ee5c7b41e9700b9 SHA512 e3a7547d022299227a0006a1156cdb4748612bc1540005e64bd9adf179830aa574dcc2374dccb6306f90209c816a641d2992e9a12163d3c5ff6b2df4811c42b9
MISC metadata.xml 469 BLAKE2B 4a26769b09a3785586b22db850b7fc5c4818f31c3ace9cc94476d35df05e50edf6721f3c95ec615c3b2efe071ef284a54ea2d53566316ba653f7830bb48f80bf SHA512 dd682c4ad2e59a97094ebdabe4d1063e2319ed05e1fe9d8c2fafe069badb3b4cf8bb6d9f50e09d2128e2a081c1c69827407ac8aed644ebf70eb4ca1bc9a57319
diff --git a/dev-python/setuptools/setuptools-80.7.1.ebuild b/dev-python/setuptools/setuptools-80.7.1.ebuild
new file mode 100644
index 000000000000..286049ec2044
--- /dev/null
+++ b/dev-python/setuptools/setuptools-80.7.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2025 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
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{11..13} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13t python3_14 python3_14t )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ # https://github.com/abravalheri/validate-pyproject/pull/221
+ "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/integration/test_pbr.py::test_pbr_integration
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_develop.py::TestNamespaces::test_namespace_package_importable
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ # fails on normalized metadata, perhaps different dep version?
+ setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
+ # TODO
+ setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
+ # relies on -Werror
+ setuptools/_static.py::setuptools._static.Dict
+ setuptools/_static.py::setuptools._static.List
+ setuptools/tests/test_bdist_egg.py::Test::test_bdist_egg
+ # TODO
+ setuptools/dist.py::setuptools.dist.Distribution._find_pattern
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
index 1512ab04a1c6..da29b00577d7 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1,3 +1,3 @@
DIST sh-2.2.2.tar.gz 345866 BLAKE2B dcbfcb257b1c1e7ea57f41aa4207b5d16506c134f503a967f99102ce44ac10b1681369325ebefbb5b64e47b26f52a65bdac3fbd5e89071f321caf72e5a2fd056 SHA512 7235aac25d5f88320f27cf0f5a87ab4e8585e3585aea21d87e927745cf8e255067d0557f865695956b947fe084b28cd5d8ce97102e77cfc9483b39a9eaae23d7
-EBUILD sh-2.2.2.ebuild 582 BLAKE2B 7463dc2df834132ab50acb7747e6d4723830ba717c57d88fc2d1a13241b47d21ab5353095a5674fc7ab2acfafdbf7cf86992754f1bdf8c213b5170c664201085 SHA512 ee4f8281897c86563e31d9ea57140cc2e0c68f28e9895505b50cdb285e9ca3de1962466fdd2435657f58ead9669d50e1363a197dd81a125abc279c30d1fcd1b9
+EBUILD sh-2.2.2.ebuild 576 BLAKE2B 7c82d860304974afc50bfce9acdd37b33b1e2ac04d1769d1fa3760885308c1c22b93298af5f6dfbe1bfb0e2733d5458c5a0ee66f26c51067443762fe449d7041 SHA512 2227136cd1206e63f289dccbfc6c335ffac59f7c3f0b6d5083fa0fa60657e47053b170ea4f38d0505ba4d5e77cc43610b60b954ef82e63bc2a3a761df2121b8b
MISC metadata.xml 803 BLAKE2B 086d1696b7c03a1a4ac9d89164b507fd7caeed3163c15b4263772399641a3f82ca364a277fef6ede78bb3d8776ec7181f316ee8070ac5bb9290e7233f69514b0 SHA512 bceee86f0df9e0042815b9d24dd75659c7548f345dee2e1e1f586cf28f605d59a7ffe759f2cdbc8da6f6fb620b7f66b1763992b35e943ed47c3e1b739eaa3a2c
diff --git a/dev-python/sh/sh-2.2.2.ebuild b/dev-python/sh/sh-2.2.2.ebuild
index 6cad902da21d..0ac3e8986d8a 100644
--- a/dev-python/sh/sh-2.2.2.ebuild
+++ b/dev-python/sh/sh-2.2.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/smmap/Manifest b/dev-python/smmap/Manifest
index 52bdd2138d74..5a5eaffebbd8 100644
--- a/dev-python/smmap/Manifest
+++ b/dev-python/smmap/Manifest
@@ -1,3 +1,3 @@
DIST smmap-6.0.0.tar.gz 22266 BLAKE2B a2858d9c80b53f300386006e5e8289eb2d7081338065d87be66d55b78ade0cdb3c7bbace084b80d44fa9307ad04df7fa70206d3c5d104eb748a5f68287d2629a SHA512 ef5c79bcb3228cf50ce5c55762948a167b1cd1e4a0d47cc608702d04be7b0c26b4ff83a788cb8ebfcfb530eefad924149850ad651b23d7de83f5fdaa426fe2ec
-EBUILD smmap-6.0.0.ebuild 532 BLAKE2B ad25ec0faa3a83992c4d62e0cb537bc97b2869279a81f34751134aefa23da9f5fface817c679c5b83f6128c8bdeb6b8cc6cb8115f84d512317971a5e4d8775f1 SHA512 59660ef00cef5173974a05dadf7b8b6dd703c00ca35122596fa9a37b14d9be5bfe1e4fddcb954dbcb57c5db85e0b32da4d2f3c1b6fedc19eed01dd208d1aa50b
+EBUILD smmap-6.0.0.ebuild 532 BLAKE2B 990618577b5cdcfb0e49283a711d157829e8be67cc01a047316e2068751b82c2a1e843bc4f682e1dc958044a031bf2ed97bb0cee17da127cdf89fa97c3b26c05 SHA512 f3c78cc9feb1b0416d36402ace8028eaa5cb692e1e8b803f468bf467c5802821575dd155a4876f77fbbd7eef629e19ff85687316205e2412aae8145325632cf1
MISC metadata.xml 412 BLAKE2B d2178c6214bed671ee1ed50e3d2f098f8091af04f475867685a618df09f91d4340a28557d050ddc0849eea20e16662dccf62d015d565e1ed560e7c3144fbe0cb SHA512 57cfbc2aff045b2b9da66046c29d33523f0ba708861d98cf7c87e3363673dfa9b3d26bbddf794664faaf12c6efb38eb937299158199ab0fc989841cf5e4707fc
diff --git a/dev-python/smmap/smmap-6.0.0.ebuild b/dev-python/smmap/smmap-6.0.0.ebuild
index 210b291d28a0..45f170677798 100644
--- a/dev-python/smmap/smmap-6.0.0.ebuild
+++ b/dev-python/smmap/smmap-6.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/sniffio/Manifest b/dev-python/sniffio/Manifest
index c0ddfd9e1a62..53f72c8b79aa 100644
--- a/dev-python/sniffio/Manifest
+++ b/dev-python/sniffio/Manifest
@@ -1,3 +1,3 @@
DIST sniffio-1.3.1.gh.tar.gz 16907 BLAKE2B 9edec11e204f2624d589786744ed2bce6b082fb338c542bf6bddc22a481c9cc97cfd1c5101ae8cad95bf5068ee40d1659aeb420a2f6377377bf9e514e4c49cd1 SHA512 34e2e0a2e1c43e4ce1e1b5cdfb16c4f872897bbc7da77a76b55dc9cae475d87fe1e35d7103cad68ddab93c8be743aaa312ec12b1ddd96ad968be027faa24839f
-EBUILD sniffio-1.3.1.ebuild 779 BLAKE2B 185561b14b9688671de29a5b028cd6d4243925c23136b3f9fbf0290214aba4bc6dd07ede5770d615d82526920fe1fd2d3b82eee35647619f848122ea3e739b16 SHA512 0708028c6bb9a5c0451478e0e720cefc653d7bf573acd16917184642a2534abe2da28f2678577c0880d6b5d85fa6c15deae8de550bb7989ab36a252fdb105e6c
+EBUILD sniffio-1.3.1.ebuild 773 BLAKE2B 4f7895dce3fc336c3ec721b75e3f704e2a95aa1a2357329f5edc8def7f3811b9ffe613dcbf18c004f3c733427ddf89d5772d507631ea13a6c3b0b6a5d62d5a2c SHA512 93e6884ab437a6a2b095adefab7f320b8dfae4ba1909502f7b054481b662db755f8be535fe8207d026ac51afadd55e89541afee8dc54cc49141bd94dd28821a9
MISC metadata.xml 394 BLAKE2B 46df2a6c1c3259a1ba932cb74918ee0f7651e942cdb2eaa76d063269417079459745fa80416cab8088b8f41699b3b509a4586ab828692698a6a04588ece79bbc SHA512 a1aebdbc40dab66e913aaa7dd848066197d8d53a3e5c4890953cf6e5ffd1df5f5acae5ed022b10fc9c6e9a51becd05ff31ac19d0013ad7786b6d038705696b73
diff --git a/dev-python/sniffio/sniffio-1.3.1.ebuild b/dev-python/sniffio/sniffio-1.3.1.ebuild
index 9d08594324ba..2602d87f7456 100644
--- a/dev-python/sniffio/sniffio-1.3.1.ebuild
+++ b/dev-python/sniffio/sniffio-1.3.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/spake2/Manifest b/dev-python/spake2/Manifest
index 6959471485f2..48876b07fd17 100644
--- a/dev-python/spake2/Manifest
+++ b/dev-python/spake2/Manifest
@@ -2,5 +2,5 @@ AUX spake2-0.8-do_not_use_hkdf_package.patch 4380 BLAKE2B afc8222c1c562947c4b9ae
DIST python-spake2-0.8.gh.tar.gz 62425 BLAKE2B 64215362af26fff0785fdabf4282f7111a4cc917750827075b616f009cb1fa6373fc2325382c26b43c051aa5b94e414ca2a5223d9ab666289eb2d04723b15cb5 SHA512 908c377c831f4a11551973ca917b113d51a66c533d35fd19b2692fdb7e575ed2a5045d9b632bc55c37b68ad092f01dff5da191e9dfbfb5599b72844788438d68
DIST python-spake2-0.9.gh.tar.gz 61563 BLAKE2B e8179a90bf71d72f19ae4bdeda2092147f409c8b5bf3b8eb98bb624e413bcbd73306de20ffa0d36fca010a00dea0f16aafa660f08ae5e15425c2756fafeaf24d SHA512 557b17b8e28214b9c2cd0362c991ac0f61996812fd747e66397c48fdbbb314eb4e9acba9670ca41d0924f4b688931f2b32a7e9ba947ee1db3df00e9e9670d497
EBUILD spake2-0.8-r1.ebuild 938 BLAKE2B 3e824194846c8fd5fc4fba439343937afa18c73323322b76e458692e6d8a62bd724b77a528fcab19d827878d14b0b5c4b874e14ee2ff02596b330ed8bed1e469 SHA512 3446c385ded54edd74022c1c3ec9b808860ae26f8712b84669876c6be19e8f02c6c5be810d0a5322758a10460aaea58aa61c1b107cd0cca01bc1e84b85f88039
-EBUILD spake2-0.9.ebuild 874 BLAKE2B 684f5743144c3a9d7ad2b1b4fa0da122e9a30501067c41bd1bd5578b06957bc9915000b2cdb0f1017c6a5b123a7776b66b709ee6504a45644263946ecfd226ca SHA512 83c4dc40c40541aa8a4a7da22a76d149ce385ef214ed1a93136a519f407df0a570decce96e7f39434af5c8903d6c23554982509a3de03f74bd019b9fbff19d51
+EBUILD spake2-0.9.ebuild 874 BLAKE2B 640f1a6204e15a7e89a0ba3452a816467b55b5ac35946fb3a441c68300f968a764b6aed036b522aeccfea0524a83fc7b0e5276a1b621becb0ab78631faf79328 SHA512 cb53ae6ab2aaf3c9de287a35d088bf19d8fbcbbc9eacd40c3b8d805209564f09ff0d30207675cf249abdfd0b48334e9c2b942f7c1271aca2713fef305923d22f
MISC metadata.xml 394 BLAKE2B 096b30eed873df007d2703e52f470e909fc2dadfca4a65f0c4472002b209217e4bfdf5a4ca71724f0f8b2fdaed81e3c4b2b8183fd9cc98777109335c925b859e SHA512 6b81d3a17488bc06be6ef7bdb88f64148f6ff4be32e3fc7f450c0ff2475c920c0a327c286870dab38c23d067b19f2b164f4cd6780be1e8bd4343a1ab3cc9f459
diff --git a/dev-python/spake2/spake2-0.9.ebuild b/dev-python/spake2/spake2-0.9.ebuild
index 97a2aa0878a0..1a63fa06d37e 100644
--- a/dev-python/spake2/spake2-0.9.ebuild
+++ b/dev-python/spake2/spake2-0.9.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index caa4acb3f7f0..8867393db8c2 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,5 +1,7 @@
DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb63aa6e042b941913ec68dca3654de07087ab967f208fda495f048a5068ced70d642c4b8b80ab32e5346fcefa3bf9bc SHA512 e7ea4920d81914d362134a3c6fd4a2dd4fdb75f6ce17358528d568e2b2ac0ee711a71f6beb894e61d6d1e4e5833034ebde651d73a13f873c682f780e1831b427
DIST sqlalchemy-2.0.40.tar.gz 9664299 BLAKE2B b053b502532d31470e0ceaf1ebe7494d988eb8d74b433d45f9037d2b982355bda4aba9defe681d219cc03ba8e040c6641a749d7a291f03ceb64edb2dc4a02e63 SHA512 7a1db1d61cd80283e339ef92b7e27146ea060db8dc7028b2584df9f9f68a4887bbb2a6b4b4af5ca66c7d132659c7a2d0b47ac2d25ce84fad73ee2dae7808e122
+DIST sqlalchemy-2.0.41.tar.gz 9689424 BLAKE2B 99fb9bf250c15bf0402d5aad23bc20e0fe54ce2705ccfd3dfd9c65be5f9e0ab5ca00e0312c01e5ed3b34344d5cde25b457df1bde35c220e6e98e3077a27e6121 SHA512 bb8df574a0e2a0faf8a44e8d217f9eb14b0138aaae7dd947c94b3c4efa6c73b2cf9199303ffed679778002804bc5aa5583b16ddd986f7b4b9235c9d951e284e4
EBUILD sqlalchemy-1.4.54.ebuild 3347 BLAKE2B a4fafd26e964fb7f05755d7ffaa3d815d526b9933b14f63c3ebfea855bd12eafa241d965b87b5d006a6b267dbc7b4ff4719360028a79493e0ce087b290bd5181 SHA512 b828750e35ac00c86e1a546f4818751033d3374257062ee35a3b81be5b08ba4d5408f2d7c05c1ec317687d3a6442979015f8637b4f131d831ca25a4a41199122
EBUILD sqlalchemy-2.0.40.ebuild 4223 BLAKE2B cc6a89eecec2661bc9048bc8f77b045fe400ca721eb595bb19dd5073d1c64580912494069ab8216c25d5ed6d0868dae3bd6e5d869ea6bda4083836a9eb2e41bc SHA512 8cc9953fe536456cff5a6f259a6e42d42aec869bc159c317762e53b23ef0a2da5efb465f7d309bb285150b5eadc345c15941dbdde067bde9fb5ebfa35a78e0da
+EBUILD sqlalchemy-2.0.41.ebuild 3255 BLAKE2B de17505db3f9b532f67e19c1481d84c5ad07d2c44f9f9a8d29a0217129106d900f57092bf71257c2c340cc33d12404982ebfaa757e6b6448732f2a4aed83ff4b SHA512 5f27a6864d55a65e457f2c4ee5b250be7c87f0c1af10b73c76fa33bf5c556c1655712acff3e800c7e77a902fc0cedb5776fcd7babbcfa3244567d8e27246ab5f
MISC metadata.xml 444 BLAKE2B 5fbfcf8f16e52ab5bb691b0b33a8491d94e42a80409114cd9b306af7d4b0eb8b6660fabc663adee53080c635217961301b78df536995b91afe9288d255f73d62 SHA512 b432b65ed3033d34ac0784d007909eb838b309b6a4785eebb1a3f808e43dfc41c786cd55e4dd048776c65127aac170bdd9fb9e5a8ae63accb5f65e300bca9676
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
new file mode 100644
index 000000000000..f8535ccd8137
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.41.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
+ test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
+ "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index d0bd11914795..c825557e0df8 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,3 +1,3 @@
DIST starlette-0.46.2.gh.tar.gz 2580854 BLAKE2B 65f1a6c2bf74db77390802c3ca9f7e8f9aff22890f69547137ab779946680442cc2072b8f468c18257b4f730d156a650f8faf5395d74b05f2a15f0573e8ffdde SHA512 51805e61c33b20d2c034d513c4795876a70f60f19798a91fad3594d77bb0fd638c6de73d56032b1806df9e9bff62dcb13aa23d0b7e5c83d0a0ef5166f0b141da
-EBUILD starlette-0.46.2.ebuild 1363 BLAKE2B efd4ff59650d7c67297c569ea59e18ea79e090c59baedeb282b73d3c5f4c9d6f6670b65816bfb69145b4a4aff6bb821d5ffc59a6bb2b1190436daa40f65def5e SHA512 749b9932b1a098077ea18de02cd79a7cb16a558902eabbe19ecca55ba59c6e7a61fd2ac06815a04e8d486037f03af380028119f83c2073eb5455f41a9eeb780e
+EBUILD starlette-0.46.2.ebuild 1357 BLAKE2B 3a5aaafa978c395ce4b8e032f04a58dfd5219771e379576c55ad7e692d2036e768423fa62e3630eb281d9fc6b9f4831b66ba0c599bb02a208525290abb907d03 SHA512 886ed0707c31824e5dceac2c4d9697a5e19fa390524acb9b23b2c1109b00a4cc35ad4d8f92b97f1599730b2867421bd7d07a8f5dd6f7d321afafd5c84f84b2dc
MISC metadata.xml 371 BLAKE2B 0ccaa4659e63162b565359a1cae05764bea66d708a5f4af1a4716ba9ba23faa39ab4f5a806c0a9783f3f42282ee9b98e22a92f2b308b8dfe97bbf9c770a8add1 SHA512 0fc326941861260becd4129c8a351e89ba0f98f9a3ce9b5d50812f0eaf667743ab0d403889aa1b0a2d9fcedbe0212ba879d165ec8edd115686d4768e6b1326ca
diff --git a/dev-python/starlette/starlette-0.46.2.ebuild b/dev-python/starlette/starlette-0.46.2.ebuild
index 6da03731fe00..37682dce4e90 100644
--- a/dev-python/starlette/starlette-0.46.2.ebuild
+++ b/dev-python/starlette/starlette-0.46.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/tcolorpy/Manifest b/dev-python/tcolorpy/Manifest
index ff397aaba638..b7768fcdc8b0 100644
--- a/dev-python/tcolorpy/Manifest
+++ b/dev-python/tcolorpy/Manifest
@@ -1,3 +1,3 @@
DIST tcolorpy-0.1.7.tar.gz 299437 BLAKE2B 04d9334af6ba09f107bce5175f3bf271a9b00f532f5d28215531793b292e4c723a23690e3f214e06aaf79fdf3049ce49a89f4dfe3bc2dfe85afb6da16b7b591b SHA512 aafc08f9fa3fea7c9316fa097dc3e0a2f76228f212bb11ee9b6b1b4b0469316c87513cec6d0f735af88b4c846567f4146c3e07417b39a800232072dc233f4706
-EBUILD tcolorpy-0.1.7.ebuild 524 BLAKE2B ced8faca98e17531e02b6288bccc3043c484e5c9e3a97268990cc07dee78cc13c6c1dc1b4d2360d55f37f60b8586dd723d5f4952b8f832059913d968649fa500 SHA512 2bdc7bcc32dca6203fb5c32ddf66efd09e3ed65cd44e5eb17ae383ffbebfc384bfdc9ee0fb6cb8c3ec8dade772b96ef783d4096de8b11384d707b4fcc1da6d07
+EBUILD tcolorpy-0.1.7.ebuild 524 BLAKE2B b65d891801c72ed5ba55655495cdc577f0624e6d7473b855a770c8681d0ee1d971185f75cb2beed09c929aa1409a7bc875893670850f918f9e8b49e27ea75578 SHA512 af37c79b32307738d8d0b8ad83f909c7afb101ebf7e6d26c75c2b6ef1cca251d7e1bba3bd5cccc08550bd38d2eb36430fb3b875078deb1542aa7cc5a62729ab9
MISC metadata.xml 372 BLAKE2B 83814ee2a7eb02f03e516b528f52d482d8ebf6d95923c03cf527a797f66f71a22de1f498578e1288251cf461d1b0f81f1c069a734e4b09dbd3b87ad82a5c7cb5 SHA512 ab4767ee7d098a9d99ad8a806b2079ddced2dbb650d5e9b5cc1762cb20ffadba4807524a05ae19acc3a469601420562ce1b31cccf966550869d4fd79360a7689
diff --git a/dev-python/tcolorpy/tcolorpy-0.1.7.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.7.ebuild
index 4b86f6566248..b992ed0695d7 100644
--- a/dev-python/tcolorpy/tcolorpy-0.1.7.ebuild
+++ b/dev-python/tcolorpy/tcolorpy-0.1.7.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/tiny-proxy/Manifest b/dev-python/tiny-proxy/Manifest
index f95c257c2f7b..80d38b97c9dc 100644
--- a/dev-python/tiny-proxy/Manifest
+++ b/dev-python/tiny-proxy/Manifest
@@ -1,3 +1,3 @@
DIST tiny-proxy-0.2.1.gh.tar.gz 17090 BLAKE2B 971c0f6d4c1624f89ccf0753adf375f34e35be7108251b8acd54fe724989d8e9799ba933c8dc2e53ba9a3b5d603c873ae9556b74d403883627ff51591b0d8111 SHA512 26dcf470fa0d59b4d1abc7ddf8eddc40df7d599ae5e82c8ce788141410f07e94427eb8282a9c9ccb99f39ec19914280849dd86841d92f25f109abf28557449fc
-EBUILD tiny-proxy-0.2.1.ebuild 980 BLAKE2B 0db3d0e73fa23b4195030ba27cf5468ba5c989dafd0b61501bd7264e9fde5794cfcd1b7cc0b11aa3421f8ee0e29c1e9cf708772e10fefefdbdac712127fdc30b SHA512 7bf14858aa13860a25fa71031773eaf80ea8eecc9ec40cb3f892efc19429b67eaf7a9c7dc6c6844ef8ec4cce0dca9aed39b11ded9459b3faffdc182cd3209bd6
+EBUILD tiny-proxy-0.2.1.ebuild 974 BLAKE2B a102ba05bf954ae51ea894c17c1f0a26c8d81b7e908cdb6de04fd75617b36398188b37b8134bb699216c9986b666b343709a7875101b25cef12a4ef000420744 SHA512 3a481ce075dd42843c3ddfc17545cbb7180a12d30d8ad8d8c28357a521cca73fbcc9df8b809ffcdee4b50a9faaadacc346c4f537122143d450fe769efda63e4b
MISC metadata.xml 398 BLAKE2B 0a9e806f68be7be9aba302538ed91e6e1079fad058c5759377f6ee7f044ca30ccc166ba17f885b94812e202e722f20fc71a3bb7a7a53f2e56753c93f9751f80d SHA512 02fc556e42d27fc680260bd185794d90b7c94378e325f4e136fad00f4fb83ac7b33b3bc68d3d9d13b669346f006e84d7c0be429880a603c8e4238e9f0b973e4f
diff --git a/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
index 491d49de62fb..8fd62b4d8433 100644
--- a/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
+++ b/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/tinycss2/Manifest b/dev-python/tinycss2/Manifest
index 4079cd003c3c..712d12700537 100644
--- a/dev-python/tinycss2/Manifest
+++ b/dev-python/tinycss2/Manifest
@@ -1,4 +1,4 @@
DIST css-parsing-tests-43e65b244133f17eb8a4d4404d5774672b94824f.gh.tar.gz 35943 BLAKE2B 69a3dd9e638d04b498c28bf8367e1d0bfe1876e8bcdfc6796f5b5715425f943e6308afa7774a5af5e6d3b3d5cd4f8424fa2809bdf0ecdadddfcfd36354986d82 SHA512 ed83bf447a595d754bbae9fcf25c3d2b4812f99b65c5e46b39d5f7ade57d49b4ffded9bc9d1cfef0a50b078f8ceb9bedb1d4f2f9ebf6db875eaad6c956b4f1d5
DIST tinycss2-1.4.0.tar.gz 87085 BLAKE2B c1aa1edb8ea5ae2fc3d68d4e9efd6aa057513064c9da6c2e528c4e1b3efc5f13837cf161a793d656c13451601b9cc7825af315b74616b26b42f4d3c2e9098f5a SHA512 be0faac6fc55113c4a110d6cd23714867f3f4c33829cadcc8619b1c7b801bc009501cd0f0f7b3d21040129526633ef1f956ef6cb2ca8955d32f2b0b11f875d92
-EBUILD tinycss2-1.4.0.ebuild 994 BLAKE2B b09385a5a317785ee37c5fe7aa1e3fc5088c3539f9d18c54d85c7a86d3ad578931a87e75b6447d26ab7777114faa96a5ea1aea0d639ad6c86b2fdf8bbcced181 SHA512 64d71e2e9aab7482d0a3a520c0f944cb98c4d2657f83a889db7c71771ef88847ff4ea3dd908cd56dbe2d91857fdf505dc0f2426caa94fd0828caa10e8ae58d22
+EBUILD tinycss2-1.4.0.ebuild 988 BLAKE2B 272ece2903c6b741ccd76b4bb3ce75df914e61b78d7f14de86c7a4b73d9ad2db2ca7e2c14071cb20443e6cd7714df86ba0f37a8fb7ade19e2f4612e0d2155f53 SHA512 98680c2eaa18599ea1fbff2303177319b850c612bd630a2635a6212432059e9ba31d4d89f461f608f728e191c878edb437a01f0b84e06c091b297dcc03cd8d56
MISC metadata.xml 523 BLAKE2B 1590e6af6e994f20bd2087eb2ad0d9a05736f983a123cf5a7373d0f8e2608dbdd8886fe90fd62d978e0abcdcb9deef30a9cf9622302fc2d3d20a137ce1d4b563 SHA512 04c0ea9aa7b4d9317a262bda5486c1495a7978b44e6c87c1c67a44f7846807c2ba5dae6a55f32c21237adb8d25426746da0b0c63dba6668ea2e0f35223859a6c
diff --git a/dev-python/tinycss2/tinycss2-1.4.0.ebuild b/dev-python/tinycss2/tinycss2-1.4.0.ebuild
index d4e9284d7d89..b50a3b10ffc1 100644
--- a/dev-python/tinycss2/tinycss2-1.4.0.ebuild
+++ b/dev-python/tinycss2/tinycss2-1.4.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/tldextract/Manifest b/dev-python/tldextract/Manifest
index 18a16ad1d766..3dda4906083d 100644
--- a/dev-python/tldextract/Manifest
+++ b/dev-python/tldextract/Manifest
@@ -1,3 +1,3 @@
DIST tldextract-5.3.0.tar.gz 128502 BLAKE2B 36579f832c508283fc78c514d9274659d5f55b2d60f3af93a686d9470fc8e8473f30e3404dda15f6e0dd4a0020b841e98eaf3506feeeb591ed1c27d7b2b45185 SHA512 8745464464355be830f30ee4a694ede58f3e6ee3339c38d32e2cdca4c5cffb5178b64f8c463d0c824034ea1c0b3eefd42e5b1dd694fa8971771444c34f4c01f5
-EBUILD tldextract-5.3.0.ebuild 1033 BLAKE2B dd73dcd3aa909daaa06ad2f316e1b333f2bcf02f1eac4824528690efe4b8b2da44ca66d6b7a919e3cfc8e791d2a960835bd0e0ee6081a1f560134d7c8dc672c1 SHA512 11a0bdafca9c7e6a63ab303166270150a401ddedf54fb4d73c6dcf047332cf6daba63b98eeb7e27f3166593bc892d59a018431df09b8abe10cb3ee6744d3da20
+EBUILD tldextract-5.3.0.ebuild 1033 BLAKE2B 450380badef269a774f8927297ef10e803172304c6dde4707c67fc326873006a91688eac7e3b056c0fd4e80ed5d028113c0ee0d413430ead1be218c9311e5205 SHA512 f063ebf5a19ccb73e1c8a2ab430928239baa80fe8347bbd8d1e0cc9c242074e32289e9d6037158116d1f5fccd7f7829aefd2b5a3798665a7bf612e310eea1f18
MISC metadata.xml 584 BLAKE2B 31a6a6be901dc1121de0b72e6afea76e30eff37127039c0c1790a66835346cc49bd7eb4ee373feafb22c3b1a8452033012261dba7cf4ade38fafa327537efe07 SHA512 1f1806e7e327b2f5a7644793bc88a182991135d33d9e18472a63d58bcb1307b639b5809965c2531b2d13e1944d1cd7ac5570b14f04b58a72e1576627ff5540ca
diff --git a/dev-python/tldextract/tldextract-5.3.0.ebuild b/dev-python/tldextract/tldextract-5.3.0.ebuild
index ecb13518929c..1abc6bdedb2b 100644
--- a/dev-python/tldextract/tldextract-5.3.0.ebuild
+++ b/dev-python/tldextract/tldextract-5.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/toposort/Manifest b/dev-python/toposort/Manifest
index 95e264bb353c..6747a311f4a0 100644
--- a/dev-python/toposort/Manifest
+++ b/dev-python/toposort/Manifest
@@ -1,3 +1,3 @@
DIST toposort-1.10.tar.gz 11132 BLAKE2B 373c9549cb5e64d2636fe8bd67d73a8eeab671243b562654660bc59c2ceddc4196fad3882bd68d873647ddf504a6c90174b5c995dbd7c8e457744b4daceaa099 SHA512 7578706b2b383f4e1c7228aebc2f590ec51953e36d594572d494bc928d4f207da7419a9b662a2f77426347f49d33f355f67f45e28226a7e4546d6c16c743dc4e
-EBUILD toposort-1.10.ebuild 509 BLAKE2B 3fb96876bc10a0b5fab455f62b68671e70bc06ba92199240078faebe1f7c7a322c6c719173a732eda86cbcc57ebdf26e74116258e33a1141f9003a0ad19fd3a2 SHA512 9932bc19aaea135447c8a5102a7f9d7b75d7f31720a39795b41ce81fb80374e3cf5a9104f974ee4ea966e2a68627dd61426ad4c16154250b13dcf59d03e691ab
+EBUILD toposort-1.10.ebuild 509 BLAKE2B 027d0ce6e4d65b3aca6056eb9450811c1d507b48759390d502c2c8fe0615db67426b945a2cd8cc95692f4cc83234f636066caf92df4c5b6e3505de56d29d71c5 SHA512 d351c5630ca71a64420fbc8846c8f5182365414bc5c704d72269e1cd776c93768d47ecbf35fa22749d6f1f752bd97291653610621ffc63e00ab18802c8126000
MISC metadata.xml 552 BLAKE2B db94a324a1d469b39cab84355fed6b2f2b76e3e74deb7704d7c2628bfcb280a1e45f3f148de790fe955a238992cdf21c371eded3dadae8499fb7b481e05960a6 SHA512 3e717a075efacf2f6c6e80d8d857f3efb30ddffa856f06fe83581673951f14d662e52e69a868f91daaa3b84f639a97c909eddbd984b8f2a66b0120aa377a001d
diff --git a/dev-python/toposort/toposort-1.10.ebuild b/dev-python/toposort/toposort-1.10.ebuild
index 12786c1bb9b7..8064653b63a0 100644
--- a/dev-python/toposort/toposort-1.10.ebuild
+++ b/dev-python/toposort/toposort-1.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/trio-websocket/Manifest b/dev-python/trio-websocket/Manifest
index 3440f991848b..8f16c4edfd13 100644
--- a/dev-python/trio-websocket/Manifest
+++ b/dev-python/trio-websocket/Manifest
@@ -1,3 +1,3 @@
DIST trio-websocket-0.12.2.gh.tar.gz 52738 BLAKE2B d20f159c5596d6a784d08f5010fc0d08aab254005abb15d8f6829923750b53327aabf77a072b428edfdac27647d6a170e595660ebeadce1d62dd5f6bd5ff5739 SHA512 220ecac499de12c77f4004c739154380ad8dd05570e43512549d9205515f7d9dd7aa085248b1373fae0c690bd1ce7df757332abb5fe6edfbe2ee74c33834ef49
-EBUILD trio-websocket-0.12.2.ebuild 1549 BLAKE2B fb4da5270ce4636e0d6421d4d1ad2ec09b9f00e215b122e349a25e59100c9d581338ebd58fbc5386de04567e7a34701f13f903110f039bf327753a6241a17914 SHA512 8890e9250fa092d0c66c5b9eb195a4e8a670158ff33549c45ce111fe106b53d8f15dbd706d0d786fd0dad140ea1332183737c8d89edc58f58f99b6cc726aec25
+EBUILD trio-websocket-0.12.2.ebuild 1543 BLAKE2B 886668bfd41a9b916d302ff6af2cd6851d4926cb49cff62754c9faa969adfe25471f9f9a4241d05ad5576c07eb378d8fb6db48639d2e7ff5ddc35fbee484df3f SHA512 db8e4241db9c07e5dfeba5181f2edc802b5db42786b1faca506c16b99cd7b6c7d6bf68299ea5bbd085235ca0669a880088969e13dd57192cea1790615e846325
MISC metadata.xml 408 BLAKE2B 40171491e2126391058f6449ba63a69aad29f7d16c03a97b39905cbf143fc38806dca77b21a207b1f53d7eb3df65db83e12f77fde88031a077658066747ba26f SHA512 b473e4bc56819d9c96df120c986d74a11a7bdcecca07398488056241653156ced82e1099d8dd6fa4bd6425b5e9b9a313f26a2e9860387ad3ce3e6c1d0b9ec18c
diff --git a/dev-python/trio-websocket/trio-websocket-0.12.2.ebuild b/dev-python/trio-websocket/trio-websocket-0.12.2.ebuild
index b071a5848820..36edc4b30d21 100644
--- a/dev-python/trio-websocket/trio-websocket-0.12.2.ebuild
+++ b/dev-python/trio-websocket/trio-websocket-0.12.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/trio/Manifest b/dev-python/trio/Manifest
index ac7ab61c2b17..4a6fbab4cace 100644
--- a/dev-python/trio/Manifest
+++ b/dev-python/trio/Manifest
@@ -1,3 +1,3 @@
DIST trio-0.29.0.gh.tar.gz 599433 BLAKE2B 35a162f01cca02134ffcd1c0cd3c072c1a20c07cc67038f3257fcb4732c696174ab3ee6e37706ffbb878b6a647d9e26489a55cdccb051b33c43517b660d227cd SHA512 88b6845c26f5bb02b749db7f64843e1858c3d52aad4332101022d61ec183f96304f1ce05a8ece5f97d04edf9aef668d791831439ae49fe1a7b904cf76061629e
-EBUILD trio-0.29.0.ebuild 1759 BLAKE2B 8c59d81fb6933464755a384e58e460d46492e2c2ec270a4f40f2d0bd39d2c1786ac78269b291dfe0661069b9427ec17db3f62d837733c4d14a0a12ec0337b2cd SHA512 07407150f47b0f01cf36cc6c60db90f8b37fbeb6770a38e3fd5b7f7157e045dc34640e465f798997904ee93cc2c1006d304d6ba3cb448e43c339c0891520c901
+EBUILD trio-0.29.0.ebuild 1995 BLAKE2B 994c59a887bba2d1f1bd27c774f5514bb27c3702e272d612ce437f8b07bb538ab020fc995e09726cf58d2b0356d7e64a8c7284b3369e3f69fae2569747a7fafc SHA512 764a866de6f7da943ae032a26ce283a2df0ba50bc79ed0cf0bdfb05c79530d599ccc30bddc856e6c9b87336bc04f55cca1b6c48e5c79604cf8db8f1aecfa5a58
MISC metadata.xml 2047 BLAKE2B 836ccc0a048706cf1770c695553403b855f54a42cb94a622b7f91583aaee72cffef27e567df2b7a74fdc7cec4c8574d2f16d00953923b4484f38013910f49dcf SHA512 5e482479d68272be879bfea06697d41109647880d6a72a7a3096f86aa029f54ae004c353f247041c8e517a01808eb929c3d666b0e85ef466fdca88bfb5b38cdd
diff --git a/dev-python/trio/trio-0.29.0.ebuild b/dev-python/trio/trio-0.29.0.ebuild
index 65d720d075e1..3223e3dcc6c2 100644
--- a/dev-python/trio/trio-0.29.0.ebuild
+++ b/dev-python/trio/trio-0.29.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
@@ -58,6 +58,16 @@ python_test() {
_tests/tools/test_gen_exports.py
)
+ case ${EPYTHON} in
+ python3.14)
+ EPYTEST_DESELECT+=(
+ # xfail-ed upstream with ref to
+ # https://github.com/python/cpython/issues/125603
+ _core/_tests/test_run.py::test_ki_protection_doesnt_leave_cyclic_garbage
+ )
+ ;;
+ esac
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
rm -rf trio || die
epytest -p trio._tests.pytest_plugin \
diff --git a/dev-python/truststore/Manifest b/dev-python/truststore/Manifest
index 952a57a0ec23..6b421c25a247 100644
--- a/dev-python/truststore/Manifest
+++ b/dev-python/truststore/Manifest
@@ -1,3 +1,3 @@
DIST truststore-0.10.1.gh.tar.gz 29120 BLAKE2B 2efb72b04f3e6fd5365d0d4f8fda12fcaa6fd2008cb17fdc76a679b4bff965040d30465cf78dc0a2cec2e02430100b5e6cc1f4ec4102326805a6d9bd52c38b10 SHA512 8a1c1269d44c0c33444c67d4302484eddcd3223b3e792b133efcf547ed1292cdca0ebc15447f68e7078928ea01d5c2108692dffb703d6bbdad0b9f1c23eeebe9
-EBUILD truststore-0.10.1.ebuild 1208 BLAKE2B 2c8bbd7c5b8ff6787a27db011ca8b7c55a408596f5a463e230c14e49b0edc2db7602c02ca38c017732b4f0bde1adbbf9c5529b95561c5305e68e3a11546fa0dd SHA512 929300a298d670d267c2be188d686b84dd7b8685ecda54ac80e94e03f197b68b09a46bc4ad3d5bfc53adf6cbeef57dc904773d377fc63f7cad53ad0cff049252
+EBUILD truststore-0.10.1.ebuild 1202 BLAKE2B b83c97ee1d3f6d6fe51854209ee53051ce9f2ae655cf16ed2ebe9fb816c7d2b288c8b5cb6fbb7f458a6b0ca734f668752a6190d664f3ea6a5495ec0c636aab95 SHA512 af55b8f1deec44ea7bd41c759f019d6d83624976deb8e56862e7e4b0248c03a020a81f1fb703ee0e8b190d9c18fd8003a1099430547baaad92ea10d99cc407d1
MISC metadata.xml 378 BLAKE2B 26c6338dabc3baee4f0a61e4d64b538bd90ca5389b7da7321c92d3063f62861f7100871318d8c7ed1d4ade26196e87c966a91c872b1308f8b8ae1bd23451d118 SHA512 8fc959454ce19667c97ef288ed1851d3dc78eedbf71d23873f8dcadecccc2e15e99957c8838cf10b94b44422ff7484c58a249c1911ba3b18344f587151b51e8b
diff --git a/dev-python/truststore/truststore-0.10.1.ebuild b/dev-python/truststore/truststore-0.10.1.ebuild
index 7563b9a0b517..3ad6dfe66835 100644
--- a/dev-python/truststore/truststore-0.10.1.ebuild
+++ b/dev-python/truststore/truststore-0.10.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/typing-inspection/Manifest b/dev-python/typing-inspection/Manifest
index f1310dfeb957..981fba966887 100644
--- a/dev-python/typing-inspection/Manifest
+++ b/dev-python/typing-inspection/Manifest
@@ -1,3 +1,5 @@
+AUX typing-inspection-0.4.0-py314.patch 5662 BLAKE2B 3593bcbb4f16f2d3691cf5bf950da9e8d8ba9ed01ec31d4f90f5f2ac01df300bbcb2eb8f14a154d36a67eb8074a45332c1670cb66515eb8570a150423e2149bd SHA512 5364ba5e91c84e848e184da3c297737961a3d83926e871c37c09c2223694d73acc7d9220d770d579965f67ef8164129d07beaae4bd0f0c193bb3e20ba7864987
DIST typing_inspection-0.4.0.tar.gz 76222 BLAKE2B 08e509950b6d71d5036d91293c6773467f0d7a09ea21a54692341eb980aee6f91b364039070bc49680f4b201fa6bc8d8211d889f9fafdc2341762559354e4e0d SHA512 95e725e7db7609406f8a63dda46ac7559adf13ef5d63e44a43966977163ff69825df465fb741d288e63ee01240dc3fe8b1314b0cd5030f2d5b08d24a739b7b02
+EBUILD typing-inspection-0.4.0-r1.ebuild 667 BLAKE2B 34ff066d6eedd257d3aac0a617ca7be22e284f817cbd2bb62bdffc63da21e569654f57b49132aa1cce8ebc355b9b193f4c56b463c1097365b5393a55751014b8 SHA512 93642276840c008297a50712e9798d1375c1b6595ea590f55fe0b19a239126e7965a01c647ff7c2049d56a1e9f4315f208fca18f4e181712a0603af453aa8c62
EBUILD typing-inspection-0.4.0.ebuild 565 BLAKE2B b693409b46a896c108feb354aa1288892b3e472830b44684ba925c463e66d9eec2c4440387bc254a521950250f6d5397d1a113c28a371de2c26e9ec7600f9f32 SHA512 92acab31177db214a08365d555942514e0dacd992ba071bc4d33ed4017908377b63a671a5176b283e3582a80cf6ca9cb061d68638ba2a111504d71ca437599ce
MISC metadata.xml 389 BLAKE2B 8723ee4592f9e1a686145f0e65d1157c97d3417fa506acc3bdc4cbe1feb1530cccedfd1816769affd3642d094d052840e6620822ef8d3bf8c7187968d0e22065 SHA512 df5d81c9df4560cf2f8b90184e93db335231f970cfa4ee57a3c37e782d787d6148830d874b8c08a82d820257034ff395b086264a5c4229a518a21c6f10dd7abf
diff --git a/dev-python/typing-inspection/files/typing-inspection-0.4.0-py314.patch b/dev-python/typing-inspection/files/typing-inspection-0.4.0-py314.patch
new file mode 100644
index 000000000000..fd6b76be9162
--- /dev/null
+++ b/dev-python/typing-inspection/files/typing-inspection-0.4.0-py314.patch
@@ -0,0 +1,155 @@
+From aec589d8abf26aa010c971666386b7edeb760852 Mon Sep 17 00:00:00 2001
+From: Viicos <65306057+Viicos@users.noreply.github.com>
+Date: Sat, 22 Mar 2025 13:33:54 +0100
+Subject: [PATCH] Fix compatibility with latest Python 3.14 release
+
+Adapt documentation and tests related to the `typing.Union`
+changes
+---
+ docs/usage.md | 8 +--
+ src/typing_inspection/introspection.py | 70 ++++++++++++++++++++++
+ tests/typing_objects/test_member_checks.py | 8 ++-
+ 3 files changed, 81 insertions(+), 5 deletions(-)
+
+diff --git a/docs/usage.md b/docs/usage.md
+index c9ece27..7a538c6 100644
+--- a/docs/usage.md
++++ b/docs/usage.md
+@@ -4,18 +4,18 @@ The library is divided into two submodules:
+
+ - [`typing_inspection.typing_objects`][]: provides functions to check if a variable is a [`typing`][] object:
+ ```python
+- from typing_extensions import Union, get_origin
++ from typing_extensions import Literal, get_origin
+
+- from typing_inspection.typing_objects import is_union
++ from typing_inspection.typing_objects import is_literal
+
+- is_union(get_origin(Union[int, str])) # True
++ is_literal(get_origin(Literal[1, 2])) # True
+ ```
+
+ !!! note
+ You might be tempted to use a simple identity check:
+
+ ```pycon
+- >>> get_origin(Union[int, str]) is typing.Union
++ >>> get_origin(Literal[1, 2]) is typing.Literal
+ ```
+
+ However, [`typing_extensions`][] might provide a different version of the [`typing`][] objects. Instead,
+diff --git a/src/typing_inspection/introspection.py b/src/typing_inspection/introspection.py
+index 43cce1e..4f92527 100644
+--- a/src/typing_inspection/introspection.py
++++ b/src/typing_inspection/introspection.py
+@@ -23,6 +23,40 @@
+ 'is_union_origin',
+ )
+
++if sys.version_info >= (3, 14):
++
++ def is_union_origin(obj: Any, /) -> bool:
++ """Return whether the provided origin is the union form.
++
++ ```pycon
++ >>> is_union_origin(typing.Union)
++ True
++ >>> is_union_origin(get_origin(int | str))
++ True
++ >>> is_union_origin(types.UnionType)
++ True
++ ```
++
++ !!! note
++ Starting in Python 3.14, the [`typing.Union`][] special form [was changed](https://github.com/python/cpython/pull/105511)
++ to be an alias to [`types.UnionType`][]. As such, it is recommended to not use this function
++ anymore (provided that you only support Python 3.14 or greater), and instead perform
++ the check directly:
++
++ ```python
++ import types
++ from typing import Union, get_origin
++
++ typ = Union[int, str]
++ origin = get_origin(typ)
++ if origin is types.UnionType:
++ ...
++ ```
++ """
++ return obj is types.UnionType
++ return typing_objects.is_union(obj) or obj is types.UnionType
++
++
+ if sys.version_info >= (3, 10):
+
+ def is_union_origin(obj: Any, /) -> bool:
+@@ -33,7 +67,25 @@ def is_union_origin(obj: Any, /) -> bool:
+ True
+ >>> is_union_origin(get_origin(int | str))
+ True
++ >>> is_union_origin(types.UnionType)
++ True
+ ```
++
++ !!! note
++ Starting in Python 3.14, the [`typing.Union`][] special form [was changed](https://github.com/python/cpython/pull/105511)
++ to be an alias to [`types.UnionType`][]. As such, it is recommended to not use this function
++ anymore (provided that you only support Python 3.14 or greater), and instead perform
++ the check directly:
++
++ ```python
++ import types
++ from typing import Union, get_origin
++
++ typ = Union[int, str]
++ origin = get_origin(typ)
++ if origin is types.UnionType:
++ ...
++ ```
+ """
+ return typing_objects.is_union(obj) or obj is types.UnionType
+
+@@ -47,7 +99,25 @@ def is_union_origin(obj: Any, /) -> bool:
+ True
+ >>> is_union_origin(get_origin(int | str))
+ True
++ >>> is_union_origin(types.UnionType)
++ True
+ ```
++
++ !!! note
++ Starting in Python 3.14, the [`typing.Union`][] special form [was changed](https://github.com/python/cpython/pull/105511)
++ to be an alias to [`types.UnionType`][]. As such, it is recommended to not use this function
++ anymore (provided that you only support Python 3.14 or greater), and instead perform
++ the check directly:
++
++ ```python
++ import types
++ from typing import Union, get_origin
++
++ typ = Union[int, str]
++ origin = get_origin(typ)
++ if origin is types.UnionType:
++ ...
++ ```
+ """
+ return typing_objects.is_union(obj)
+
+diff --git a/tests/typing_objects/test_member_checks.py b/tests/typing_objects/test_member_checks.py
+index 86d9761..2cc5df0 100644
+--- a/tests/typing_objects/test_member_checks.py
++++ b/tests/typing_objects/test_member_checks.py
+@@ -189,6 +189,12 @@ def test_is_deprecated(deprecated: deprecated) -> None:
+ # Misc. tests:
+
+
+-@pytest.mark.skipif(sys.version_info < (3, 10), reason='`types.UnionType` is only available in Python 3.10.')
++@pytest.mark.skipif(
++ sys.version_info < (3, 10) or sys.version_info >= (3, 14),
++ reason=(
++ '`types.UnionType` is only available in Python 3.10. '
++ 'In Python 3.14, `typing.Union` is an alias for `types.UnionType`.'
++ ),
++)
+ def test_is_union_does_not_match_uniontype() -> None:
+ assert not typing_objects.is_union(types.UnionType)
diff --git a/dev-python/typing-inspection/typing-inspection-0.4.0-r1.ebuild b/dev-python/typing-inspection/typing-inspection-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..102acc25ab04
--- /dev/null
+++ b/dev-python/typing-inspection/typing-inspection-0.4.0-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Runtime typing introspection tools"
+HOMEPAGE="
+ https://github.com/pydantic/typing-inspection/
+ https://pypi.org/project/typing-inspection/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pydantic/typing-inspection/pull/37
+ "${FILESDIR}/${P}-py314.patch"
+)
diff --git a/dev-python/tzdata/Manifest b/dev-python/tzdata/Manifest
index b16249072644..20cbe4904661 100644
--- a/dev-python/tzdata/Manifest
+++ b/dev-python/tzdata/Manifest
@@ -1,2 +1,2 @@
-EBUILD tzdata-10001.ebuild 938 BLAKE2B 1dde2740330fd146b48f5ddd5af95100047f034a13f7a3edcb84bb0f659cfdd45df4c55101cc1e2316cba6113b0e179219d4b5ecbf5d9767920f7f25670d860a SHA512 d1ea79fbcb019c11d307287e72d97d5411839082f11ceae076e81fa2e2025913df0141ff46a797332682fff64681401d7645411b5056b8d428be3e02d0774d7e
+EBUILD tzdata-10001.ebuild 932 BLAKE2B e779058f31ee7d5a28682dfb42e0cf7d7ff8ed03ac73fa9e86f0ea7173c26dfbcddbead7ab5c7381020af1671eb0b6847f1d88dfccf568185b71cb71c84e4c8d SHA512 a8f77aef71dfc2d275e1a96e2313e556557af790cf46cbe598eaa0d9fad056244fe7e0264c5e17f15585518a766aedea4838aba63db08959554ff2a89736cc3f
MISC metadata.xml 243 BLAKE2B 3c6936b8f9745e6fb81fda204eada4f73210288cdb19a90b1cf913ed01d6ee9155d4a69bc5dcaf8c69a21123339626610d7b57729981a9d10800b85501baa120 SHA512 50af947c4f1de2f27e6bd29010dda35e92d2e0477bfafcd4d44ab218d2a47788324aabad58b603ef5c30e69b382084e7dc3cecc581cc0ffbbdd71ed566772a44
diff --git a/dev-python/tzdata/tzdata-10001.ebuild b/dev-python/tzdata/tzdata-10001.ebuild
index ed50d90cd7ab..5f246c03e97a 100644
--- a/dev-python/tzdata/tzdata-10001.ebuild
+++ b/dev-python/tzdata/tzdata-10001.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 2097cd40295d..26741a1b3ef6 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,5 +1,5 @@
DIST uvicorn-0.31.1.gh.tar.gz 728604 BLAKE2B 4f8f4e34bc6b13f6f0866a6890855a5b3bf9aad179de2fdeab40fdb017f76acfaa1cb7c9bd97d55d2ea5cd513afc3b6857ae0613912f6be55dc1d17cf810b213 SHA512 2ceab852cd7819fee592cf2507fa9ce8cc80f19dec0492fec621e6eded4a47edecbe4fe559a8474dacff260546ba146e33af9cab964e121356797fdc9a2dae28
DIST uvicorn-0.34.2.gh.tar.gz 709898 BLAKE2B 8316b0f51f0a833ae42eaf235839761019e20e80e1bf9a81d79f90c814fc214b0a346b81d98b6734f2b132c8641e96b1ef43c137906b55fcd8d4c825d607626e SHA512 e8d4dbf182a47431ab9485a8f1072b327c2adb97e4489dcad08835d2759241539971192781cffe4cbb12ff68e70b040e07ad60fe274aa1d62320ad0d63278e64
EBUILD uvicorn-0.31.1.ebuild 1794 BLAKE2B c68b0774aa02f20a704eb865c0eefa51684fdaca2ef62856e64342186a99eddfc9419d73d2cf49d954387624be3e2669e2fde67da2cfe5532ff8480fb626a39b SHA512 71123f9d9e61042d9669cb2bab95685aa13f4c5ecbbac72c74ea80bd92a6cdd462b5c539a8115223fb31813e4c720f13f8d3a6d789a65e195485b3119bcde0e7
-EBUILD uvicorn-0.34.2.ebuild 2439 BLAKE2B f8c330cc63a4c3ca09e9a02e52197ccd1fa36f8f53b6219fa1d6d9a649664d185f6f8ca125db7098a2cf741a366ef111b93da1cd7613c384dcc8b0669bda2e1c SHA512 a82ede93582192b66ffc194be8ff1ae89d98a019b46b4274a774fb6b184a1b33d7b38b01b0d501b735bbcd8acc0a39609966b7c617bc7042c832a4f61e7e8ad9
+EBUILD uvicorn-0.34.2.ebuild 2542 BLAKE2B 1c67d5223bd4864455bbf74c554608868c56e8e5e9cbdc22ed6750619227d8812384634c771e3c735014e705ba73f8e963d243c0a8c06cffd5e3a8f0f0a98341 SHA512 20d7f3f305a9a2f8ec7d1cd2ed084caafc747cb98eea2a286a3eac996a2a9672dc8a11f2315a116ba5db9dbd2b6eb9ab27a6070ccaa985eb20adec2ca15a2de0
MISC metadata.xml 451 BLAKE2B af9be617c95128297e3455b503e198e13c373244094f6aa9c80837945c3f9f023f1874efa28d4ffa8b241feb9a4e8c7f3d3534e96966733bd5593bffb90904a5 SHA512 4d76bab5c20f7cad81fa56a28c9be07bf2c2ebc412fc647f073215d437a2550eca247b8419df71d04200d0fdf545520684db0b6f4953e73848f69a4f4ad6931e
diff --git a/dev-python/uvicorn/uvicorn-0.34.2.ebuild b/dev-python/uvicorn/uvicorn-0.34.2.ebuild
index 09c8433bb013..a2f468a29cb6 100644
--- a/dev-python/uvicorn/uvicorn-0.34.2.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.34.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 optfeature
@@ -73,6 +73,12 @@ python_test() {
tests/middleware/test_logging.py::test_running_log_using_fd
)
;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/test_auto_detection.py::test_loop_auto
+ )
+ ;;
esac
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
diff --git a/dev-python/watchfiles/Manifest b/dev-python/watchfiles/Manifest
index f1c1d3616242..049fc6b6c0d7 100644
--- a/dev-python/watchfiles/Manifest
+++ b/dev-python/watchfiles/Manifest
@@ -62,5 +62,5 @@ DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc
DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
EBUILD watchfiles-1.0.4.ebuild 2625 BLAKE2B 1734dba8dc5888cf54b6cd6d4230757b4c4aefa5a7d3e994a1cb1d998ec7e0d3b458865dec218360e9ac2ccf75efdfdd30bdb8ed51f6c6ff5d989f3c4b6cdd19 SHA512 3a781375a3ef3a874930945eac2fe5981ef4f441557cf89ce4167a7db1001522ebca91eb521636f9ae04c7873d42ce4233bc2d2000cf1bb90e96e5bbb7547529
-EBUILD watchfiles-1.0.5.ebuild 2337 BLAKE2B 1bac599694d00c2320977923af7bcab090bdf15e50cc436aae39171a3bd7c58626f0a465826daad245073e95d4f4128aa444afeea3d0dc207cd0d3cb7e3e6f3e SHA512 6c5f8d8f63c07f454c8889d180b971f7863f1b1165a52ea1d9605b7e50933d2440b6213e2458bb95dd19bd7e93d847fc4b5632c0c9226bde7616f2ec265c82c4
+EBUILD watchfiles-1.0.5.ebuild 2377 BLAKE2B 43418734ac151b3ed8b8aab0c478e80908b92e7db3d98a8eee611c56912bc9016c37449a1fc67293fa416b1a1f731ebb3722ef8800262c4b3e069c868db069d1 SHA512 a36d5f6fbd5c0d4821dd52b72f5fb9cb8ddecf4d22d4d819b07abf34fae44db311ef4550bd03538e27e2844dc5eb3da05a650772997d043cf8cd1f4e828d3b47
MISC metadata.xml 355 BLAKE2B 95253406e11c30a7a3b5462d3c835010313bed3122f9d16ff73d6959a5c1f4c8922e324c839fcae9f541c7b1d84544cd38718ffcaba039b8c61292eaefa37447 SHA512 e1c11224e0129eb696e4e92a41ec0e35819febee2eb967982e016f7a0d02d95df8465867e0202d8e7ac59cc579f73c79d9ed6b87eebd44b3b64d63a5642ac458
diff --git a/dev-python/watchfiles/watchfiles-1.0.5.ebuild b/dev-python/watchfiles/watchfiles-1.0.5.ebuild
index 53355bbdb51e..2a2a4d0596ae 100644
--- a/dev-python/watchfiles/watchfiles-1.0.5.ebuild
+++ b/dev-python/watchfiles/watchfiles-1.0.5.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..13} pypy3_11 pypy3 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
CRATES="
autocfg@1.3.0
@@ -99,6 +99,8 @@ BDEPEND="
# enjoy Rust
QA_FLAGS_IGNORED=".*/_rust_notify.*"
+export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/websocket-client/Manifest b/dev-python/websocket-client/Manifest
index 53af62c9e563..bafe0516937a 100644
--- a/dev-python/websocket-client/Manifest
+++ b/dev-python/websocket-client/Manifest
@@ -1,3 +1,3 @@
DIST websocket_client-1.8.0.tar.gz 54648 BLAKE2B 8fb21148f7d5dfc9e16704560dbcd64c96f4d28ed8382dc0b3427c3b472bb2e1b386d9026ce4c1b91b50d8e7828f8d4ca34e1537797b20f63150d86337db97c6 SHA512 d41dbd4695adcad14142db048b291eed9367153101853e3e17ee8448aa4be9d20bd91b62707291e2b093ce969d51aeef16ceae7330734b5a1556023d773c5a85
-EBUILD websocket-client-1.8.0.ebuild 804 BLAKE2B 3fe7cc252513c5da14b073bd8b8322e3e959a956783fba2497cb0be615769b1a29bf444adeac60332cb9b64ba35f0ea59147a6f02036e5e280b1320466ab1726 SHA512 f82e4e0a867fc029154b7f86ff76ec5a1eff2b1971463695992fe21570ea1606feae6b954d3d6e57da4536cd275f406e60c357fc7eeb226894945bbc4827a585
+EBUILD websocket-client-1.8.0.ebuild 798 BLAKE2B bbcccadf7e8b1dae613808b91ca9c28e669c1f43c4e914f93bc6d6bdcdf51754f86c42824d30d6548366159c2a2ce1220a89dbe1627755c6f56cef4939cbde97 SHA512 e13962c91b4cde48458e567327fb1efce57ab7eea3ad2aa6b6642c07f8b93d680337fb38342c89812363ea5c2de5ccf29804b618775620ff7fc06efb65881faf
MISC metadata.xml 498 BLAKE2B de7c287e513c7e64b4bec29693e6eb9104ff963e0d4d942ed37402bf341739fb17b2ebdb1bf0aaa0081934bae34e16f025d0549f94c1a863be95d64a338eede4 SHA512 13dd8cf0f3e363a3fbf2b246bcc1ccd78a898d5ca830e30fb1606947ce129d99f2d8065c3668dc2c7749bbd4e24e39e5a7c483065737a580246a89dd4d41eaa7
diff --git a/dev-python/websocket-client/websocket-client-1.8.0.ebuild b/dev-python/websocket-client/websocket-client-1.8.0.ebuild
index c3d9a3ebb308..905a6e65f23e 100644
--- a/dev-python/websocket-client/websocket-client-1.8.0.ebuild
+++ b/dev-python/websocket-client/websocket-client-1.8.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/wsproto/Manifest b/dev-python/wsproto/Manifest
index 2586edfb0021..d99e21e80710 100644
--- a/dev-python/wsproto/Manifest
+++ b/dev-python/wsproto/Manifest
@@ -1,3 +1,3 @@
DIST wsproto-1.2.0.tar.gz 53425 BLAKE2B 0b6bafb5d67be54a9b9c77a9682caf1071e82321fb9112ff977b643956ef5d2d5dcc7e523c6e3038c4548adb7b4f022fe2664112b7a10ab0e183d578158b0711 SHA512 43270687a1cfb5f35423c527de5b9db7ee2ddf27d416f47358386c1c94dc3f836a601f300bf66441c4b90130e6e6f502fb29dfeb2374dd76aefa19cfbb70a372
-EBUILD wsproto-1.2.0.ebuild 575 BLAKE2B 507a0f5d0e9e30b3398fbc3a230940d3d743cc78a7ec2ab2665ef2b71887305793d68cbb0c93d08f64c51ada244c678dd664862f2f7380049706f4ce5ed7e3ef SHA512 18c5096a57c9a7b1a819edaa733ebe4b4d0cd6dee25ee72e9bc7de05826bd7e4ac5192d68d9e292d0b435f1406e04a083815c6b3ca3a09144dbf06e8eb1ce5fb
+EBUILD wsproto-1.2.0.ebuild 569 BLAKE2B c6c1f173d31d7afe26a6112a30c8595ed886fa06c830597a78368d5b02318fda094cd0d89d6ad694109d2b9585115f9d0d5d290517fc35c67029d27f523532e3 SHA512 f8eb75111c05feaa62147ce1460df7267e8f29dc0e455a3e43e65e64fb90a07002d1d8af9bba55aa3b175bb99ea7fef3a0bf3d7258555526b4e4fee53d427137
MISC metadata.xml 494 BLAKE2B 144d8a2efbedf70327d0f862e9e1b9d70d8ec72939cea4239e877f183485c9d4075cbadb9423f74b08e8c0ae806b8786467363ff0aae0845be227059e33304ba SHA512 c5818f8c26a0aa8b88b54259ed81c570bee27ca44a20a2f487109477608724f857a306c2b9b82a2a8a03d5852edbfe4ec27f81b60ccf743e58dade14ab992da0
diff --git a/dev-python/wsproto/wsproto-1.2.0.ebuild b/dev-python/wsproto/wsproto-1.2.0.ebuild
index 09ab8c91c52d..1ddd6687110a 100644
--- a/dev-python/wsproto/wsproto-1.2.0.ebuild
+++ b/dev-python/wsproto/wsproto-1.2.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/xcffib/Manifest b/dev-python/xcffib/Manifest
index 865e44aa28e1..8edfd5eae2f1 100644
--- a/dev-python/xcffib/Manifest
+++ b/dev-python/xcffib/Manifest
@@ -2,6 +2,6 @@ DIST xcffib-1.7.1.tar.gz 101487 BLAKE2B e489e96305cc8b277ebc02389514c23522c54444
DIST xcffib-1.8.0.tar.gz 110248 BLAKE2B 70f6a6733ef3e0c26a8e90cd204fccc69709c6242637fb4514eafcec4a259903c5dba8bbc45ade62ad81c7a77825c3a09bc7d546a70833e358f7250da51e1f62 SHA512 ce857c37d0f2222b340735cef0dfcdfa167cdaddfc7b6077a0c2ae9016cb56090f0770773d937278500922d16b5cc3ba15016c73c436f34800fa198960433f4b
DIST xcffib-1.9.0.tar.gz 110472 BLAKE2B 040adb746726a10d6149e8f914a60fad1e4eca2b52711ff261de040bff35c64a748c5781ddd70a756f1c41cfbfc785fff62a86f65e3fa99243eef5e474809e0c SHA512 c0b1c3606c8430e83fb980d4c006b6be1eee91aaf6f40b8159dbdad50b2e596dc85372a83eae85e34a702cbdde98eb7219a260fb520b0ddfb16d897722b64fe0
EBUILD xcffib-1.7.1.ebuild 791 BLAKE2B c2994a92d71ecfb001d3c4d266bb76ffdb89b70b01f90a24aea498f283fa8ab8659e0d3f0dd4491f18608b0d0b23ba2bd2b35a334da3361950fb2b88a7f0d12d SHA512 41478564d9415b4a133b46ac786bc575cf66fa9b8679268c91d8289f8605a6857495f17e744f9029af779a7886b991231157f33887039eceb3757d4993301281
-EBUILD xcffib-1.8.0.ebuild 793 BLAKE2B 00638a0ecc541c50f530d122b6b8ca175f778eb9a316695c8173a66c562560bb6f0bc22fee0304c3718a9643e3fd8d841cb2223fc08490b4f9537a39e3f4b20a SHA512 dfbf7f275fd1cacd1884f06b4e7bd2a0431df80a3ca0dd227ab055aabf809b49b9aa607ea580ae8aabf1e0fb0d39464f91920e4d957d132c3f5b2886913b86a3
+EBUILD xcffib-1.8.0.ebuild 792 BLAKE2B d7f1d78decbc1ee5fcac6cd5eb5633d197e6a8e7e350bfa91fa131cdb4794377d0d4fb1965b3c809f8e9600cbfd06dc367ca77b7239c0bd90f0fae221417aa5b SHA512 2bbfd18d86c95ca0350762369f996343d3000a62d00b4856f65f922248974f8466d81bb969a185bee5ecab78f09f8582699ab740f6a03ccace34122703e4458f
EBUILD xcffib-1.9.0.ebuild 792 BLAKE2B b143ea382eda64744cda12b42064d82d6f061c900ce3bb89f90083ee6a43ddad093c086e27ba6fe8d4b2503283e51ec312d565e02beca93cb993d5cae4ab245c SHA512 eb4ba86b55d17227655c6a61b12cfad7339543a80107ba694ae606d77fbda2640d8b7ee69d122625fe38831e247e258b1712164b630de46af149fe7b0b620466
MISC metadata.xml 374 BLAKE2B 7f2845d0839dff2568de08f86ce6b8387e76ff450467e14b5c291ad1f55256cb9eff1ff318973e54846ad394b56a3e1e6aa8574fcc0bc39a1c9f7d3b42a1109d SHA512 9403d3d706b5281d6abe2d2fca33b1a70983c7c205f8a5899ad0469fe9a1cd0ceb6c9b27916e1e152467d029d86fc9e6dc28f967bc108499ed901582ad1bbd00
diff --git a/dev-python/xcffib/xcffib-1.8.0.ebuild b/dev-python/xcffib/xcffib-1.8.0.ebuild
index 6a7b69e23444..cec9d69dde5b 100644
--- a/dev-python/xcffib/xcffib-1.8.0.ebuild
+++ b/dev-python/xcffib/xcffib-1.8.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
x11-libs/libxcb
diff --git a/dev-python/yapf/Manifest b/dev-python/yapf/Manifest
index 307924e4fb27..f53e0138a8d8 100644
--- a/dev-python/yapf/Manifest
+++ b/dev-python/yapf/Manifest
@@ -1,3 +1,3 @@
DIST yapf-0.43.0.gh.tar.gz 231930 BLAKE2B 71a18e2c55505fe623230ab2426e62545d19ee2e945264332e4652694cb388d4b7c71252c10768be0a3b5e7234f3c72595b37addb526d2dccd32647ff1544b58 SHA512 a261d9e5205c783b1bc77ed29970b916296b151c8cf2c549fbe326e5853e20199244c17444c49432c2dc995dc5905c5b2a591bc6a74b95dc2faf3616851f867b
-EBUILD yapf-0.43.0-r1.ebuild 699 BLAKE2B 0f4ecebbff55361ca45bea4fce9f35dc0c08ccf79db590e21b9222c2a5c332f90b50175f56939265ab229f16424b924fcf4338a7f0564532812f9af383f45d26 SHA512 70d87441f8bee5dc6cd3384af16e86a9b34f25b14f43f9294ed40bbc38e6af383d0d68623b22a2429c9f589b203c06593f261315be3d65ef91f7bb43ca76839e
+EBUILD yapf-0.43.0-r1.ebuild 725 BLAKE2B cdbd1d52f09047027424e3bba8c75b37808c5f3188e4d8a8a6acf3a4ee845c73cf066b7a4b8b92ea9507b465a33e6981e44ccb14e4f35beb42191ee31f95d923 SHA512 f1fb17911a3993862c335a181073ec0cc9e2e1b82ed0b20ad58c4d82302db2bb057f2f6c699e461c43fb899d9ec9902e7590a6498cf493018b7a9a953b87774e
MISC metadata.xml 654 BLAKE2B 9b8696004f7b8613e02a2cdc79c74a79806b1e4278c7a6e8b8b82f953629ad1233f1a5d1b1212306c688edba57ed4933fc23ba251ec12baac5c93c67b51ec47c SHA512 ccea54dccfb6f336699e0078cb3cd238b3aff5e7c05c50d6fdaf60e9b717a064c7e0cf27e17b001d252b0b52f7fa48c48eec5789aecd81c8f2e53a6ebb4054b6
diff --git a/dev-python/yapf/yapf-0.43.0-r1.ebuild b/dev-python/yapf/yapf-0.43.0-r1.ebuild
index 7020eac1fff5..770afc0da40e 100644
--- a/dev-python/yapf/yapf-0.43.0-r1.ebuild
+++ b/dev-python/yapf/yapf-0.43.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} pypy3_11 )
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1
@@ -29,6 +29,7 @@ RDEPEND="
"
python_test() {
+ touch "${S}/.tox" || die
"${EPYTHON}" -m unittest discover -v -p '*_test.py' ||
die "Tests failed with ${EPYTHON}"
}