summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-20 12:12:03 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-20 12:12:03 +0100
commitd60aa36cd97fb2193f756b45820d7c073a49229d (patch)
treeb5ae46dda53baf2afda4cd6b637f36cd3ac809e2 /dev-python
parentfe0961fc9674dd24a017f474a34c1edbbd005965 (diff)
gentoo auto-resync : 20:09:2024 - 12:12:03
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-29.0.0.ebuild41
-rw-r--r--dev-python/Faker/Manifest2
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.26.0.ebuild45
-rw-r--r--dev-python/Levenshtein/Manifest2
-rw-r--r--dev-python/Manifest.gzbin271473 -> 271473 bytes
-rw-r--r--dev-python/anyio/Manifest2
-rw-r--r--dev-python/anyio/anyio-4.5.0.ebuild74
-rw-r--r--dev-python/beartype/Manifest2
-rw-r--r--dev-python/beartype/beartype-0.19.0_rc2.ebuild40
-rw-r--r--dev-python/boto3/Manifest2
-rw-r--r--dev-python/boto3/boto3-1.35.23.ebuild53
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.35.23.ebuild76
-rw-r--r--dev-python/cfn-lint/Manifest2
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.14.2.ebuild70
-rw-r--r--dev-python/emoji/Manifest2
-rw-r--r--dev-python/emoji/emoji-2.13.0.ebuild29
-rw-r--r--dev-python/google-api-core/Manifest2
-rw-r--r--dev-python/google-api-core/google-api-core-2.20.0.ebuild64
-rw-r--r--dev-python/google-auth/Manifest2
-rw-r--r--dev-python/google-auth/google-auth-2.35.0.ebuild59
-rw-r--r--dev-python/jaraco-collections/Manifest2
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild2
-rw-r--r--dev-python/kombu/Manifest4
-rw-r--r--dev-python/kombu/kombu-5.4.2.ebuild (renamed from dev-python/kombu/kombu-5.4.0.ebuild)1
-rw-r--r--dev-python/looseversion/Manifest2
-rw-r--r--dev-python/looseversion/looseversion-1.3.0.ebuild2
-rw-r--r--dev-python/nbxmpp/Manifest2
-rw-r--r--dev-python/nbxmpp/nbxmpp-5.0.4.ebuild35
-rw-r--r--dev-python/pymongo/Manifest2
-rw-r--r--dev-python/pymongo/pymongo-4.9.1.ebuild228
-rw-r--r--dev-python/pytest-custom-exit-code/Manifest2
-rw-r--r--dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild2
-rw-r--r--dev-python/pytest-salt-factories/Manifest2
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild2
-rw-r--r--dev-python/python-neutronclient/Manifest2
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild2
-rw-r--r--dev-python/python-openstackclient/Manifest2
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-7.1.2.ebuild61
-rw-r--r--dev-python/python-tests/Manifest6
-rw-r--r--dev-python/python-tests/python-tests-3.10.15_p1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.11.10_p1.ebuild74
-rw-r--r--dev-python/python-tests/python-tests-3.12.6_p2.ebuild69
-rw-r--r--dev-python/simsimd/Manifest2
-rw-r--r--dev-python/simsimd/simsimd-5.4.1.ebuild64
-rw-r--r--dev-python/sqlglot/Manifest10
-rw-r--r--dev-python/sqlglot/sqlglot-25.21.0.ebuild129
-rw-r--r--dev-python/sqlglot/sqlglot-25.21.1.ebuild129
-rw-r--r--dev-python/sqlglot/sqlglot-25.21.2.ebuild129
-rw-r--r--dev-python/sqlglot/sqlglot-25.22.0.ebuild (renamed from dev-python/sqlglot/sqlglot-25.20.1.ebuild)0
-rw-r--r--dev-python/tox/Manifest2
-rw-r--r--dev-python/tox/tox-4.20.0.ebuild97
-rw-r--r--dev-python/treq/Manifest2
-rw-r--r--dev-python/treq/treq-24.9.1.ebuild48
-rw-r--r--dev-python/uvloop/Manifest2
-rw-r--r--dev-python/uvloop/uvloop-0.21.0_beta1.ebuild83
56 files changed, 1439 insertions, 407 deletions
diff --git a/dev-python/Faker/Faker-29.0.0.ebuild b/dev-python/Faker/Faker-29.0.0.ebuild
new file mode 100644
index 000000000000..7dd2e7763f07
--- /dev/null
+++ b/dev-python/Faker/Faker-29.0.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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/python-dateutil-2.4.2[${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/Manifest b/dev-python/Faker/Manifest
index 6d9a505a0026..08ea45c115ee 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,5 +1,7 @@
DIST faker-28.1.0.tar.gz 1781898 BLAKE2B 4c18e70992e89b4638815afcd2be4a409e9caeb7e32f8903964491e4f687f25b0184dd3e4e9cd605e3fd0cdc33bd3b9be6573e60f98efaf18b0ddecdbf9355b1 SHA512 a312ccce960ee01452329bdf47289f8b4fc9362b1a10a445d93583eefae7c8aa94af363733babe56dd3c7df4a1e585c8a4f84e86d811fa2e1a6d050924c9ae95
DIST faker-28.4.1.tar.gz 1794640 BLAKE2B 96a2f16b1d1906c1ae5263f8a2e782417fa6fb8062881d3700bf31b25892f27c612ebb64be925548c848e75e2e90d5761cc20a7b7bdb74119c95dfe3e5b871e5 SHA512 376b8e97ef654477ba549f0de50ef02979bf2595051f1a41b353a44bb734aa75171afa633ea76d3f02cf72f84dd12d268e28a4baba55fcb728fb4cd988b57e6a
+DIST faker-29.0.0.tar.gz 1795098 BLAKE2B 96f6ee6166cc4dde4c6c8e1be2ac9cc1f529c5afe371cbb75c264777fdb390aa6dfaf199e6671b9f3e4658937c7fc0953aa31e548d3ea2e7ae948d8e2ced8e7c SHA512 09f46d2693b611277312cd39a5a6b7a40271c7136fd42c8a02c6d55ab10caeddb8d614db81ea76bc37879b21c6bb53297b04b7169410da7d6d183cb1406f60d9
EBUILD Faker-28.1.0.ebuild 939 BLAKE2B 05106a1df3b685656321e5d4b69f8df457306cfcf6aa90c72913491dd9c92150824757aa4dfc8f93a73e63f9849b060078399c4965f65db7d8495703d66fa37c SHA512 26a175124e82c368b4acfb5d20ed044890e8e09b40a031dc33f4f8c17e0245fbf30adc6185c9bc64791d383396e19679e751b1317cd0a702054654fd282a3b00
EBUILD Faker-28.4.1.ebuild 952 BLAKE2B d916f38dead48afe6a35c9055acdd8a4061901973f8b4bb587d2b6403ecae168880479fa7232cf6140909952b647ca6b298663f84a8f11ab4a52f6c857a1425b SHA512 edeac7681eed700656317e357ebb2f44a4671ef1d523dc101be73c96bdb6978d7656e40fe61ae6a085b584fe55a03d38a41fbef9f63aeec766233e7a4845c324
+EBUILD Faker-29.0.0.ebuild 952 BLAKE2B d916f38dead48afe6a35c9055acdd8a4061901973f8b4bb587d2b6403ecae168880479fa7232cf6140909952b647ca6b298663f84a8f11ab4a52f6c857a1425b SHA512 edeac7681eed700656317e357ebb2f44a4671ef1d523dc101be73c96bdb6978d7656e40fe61ae6a085b584fe55a03d38a41fbef9f63aeec766233e7a4845c324
MISC metadata.xml 498 BLAKE2B c9b7885dc7d34f2263068624a6b07ac6f1ec8078cc11abb6137612ba57edffefc48dae2708284aa83ecc941ebb2d3b8a87a143648e404a0683e75bb6c078f4e2 SHA512 0b385bbbfbb026803526e43c6c43965ff75f42d3ab133603708b187686aac29de508856e5e8ae7622a66b99032efa97f95c21625e10d074c858d8aff7446a312
diff --git a/dev-python/Levenshtein/Levenshtein-0.26.0.ebuild b/dev-python/Levenshtein/Levenshtein-0.26.0.ebuild
new file mode 100644
index 000000000000..20b556469ade
--- /dev/null
+++ b/dev-python/Levenshtein/Levenshtein-0.26.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
+HOMEPAGE="
+ https://pypi.org/project/Levenshtein/
+ https://github.com/rapidfuzz/Levenshtein/
+"
+SRC_URI="
+ https://github.com/rapidfuzz/Levenshtein/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+DEPEND="
+ <dev-cpp/rapidfuzz-cpp-4
+ >=dev-cpp/rapidfuzz-cpp-3.0.0
+"
+RDEPEND="
+ <dev-python/rapidfuzz-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rapidfuzz-3.9.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3.0.11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/Levenshtein/Manifest b/dev-python/Levenshtein/Manifest
index 0ba361a56cd0..07cc1024804a 100644
--- a/dev-python/Levenshtein/Manifest
+++ b/dev-python/Levenshtein/Manifest
@@ -1,3 +1,5 @@
DIST Levenshtein-0.25.1.gh.tar.gz 39060 BLAKE2B 9d058d910be7c6c3e668cca631a7da5bed678e219c96e4255dbf69c46cb3c55002928fcd90f39916b6c1a57845e9cf1a2327701ae21c662b81f909b9ea1f4bff SHA512 936dab36b15df6f2ee5425efb1fdb1490fb8f618ba453f464a6dd615bcc427e55ceee7474f06b34392871d9f38470b853602a11d8f9776eee66ec34156511ca4
+DIST Levenshtein-0.26.0.gh.tar.gz 38404 BLAKE2B c78a53ba9d5c10968f000264cd20e9d5bc155135765088d4cb7f3f937c6cb5c30f01c09c977e9c8a50d4d0bafab0ad89848102d6f28c57cd471b5901f652d175 SHA512 cf48aa9e81a90c6a9a4cc7033f5035dc89f45db9c7e35929c4b11e2b9af180a018d455a56b8c1f5c748db263401155950e1985a195613a5bb914050f5d68e998
EBUILD Levenshtein-0.25.1.ebuild 1128 BLAKE2B 7605ff16bb4ec666e69b1925452693f331133ad359ec1843849ade7f19dbae5666aae822d5e42c7fb6a49d1bdbadda987ba28fb7f7bbd7b909f7d55f0fc87e6f SHA512 31ff71e7ccd0230396fcca3de7104527de508558a6a458b59f29edd65779ac51817d525f19eb42e0fa5616a484886649071f0a468891b1120bf19f39f461970d
+EBUILD Levenshtein-0.26.0.ebuild 1017 BLAKE2B 223aeccfb9a9a3297a1fcffbf7e226678d16d0e2ed3547ad320be5f413fd9d1e5cf8445d63dea507591527dd5c53a05c50924c4a689dc71352371443edcea332 SHA512 b3da37caee02843fd47928fb066ced113a7dc291e368db5d4e80f7a7108d3dcfdc8a069001a3bfbb7b492fab7d2a0b5cb0f965877c9b7086ad4c840a353f2404
MISC metadata.xml 376 BLAKE2B def9cd056f31bd8ef5f0903f302a00ed361fef19a7df2494fc0ebb34f61c098e50288d98d30a292b0614ae2930082bf919fc37612cdc1bef9f5c5d07cdc080d3 SHA512 4b4766b2894b28a2d199a4d98d4accffe4a5197b41b08443d7d57d9363f96ae42400dd717e516aded73197233d779f5cbdf58670244ef162ebf4177f47cffa4c
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 34d3fa31faf8..c815edf7fc31 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index afa88865ef36..7673f5f695a2 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1,4 +1,6 @@
AUX anyio-4.4.0-py313.patch 3403 BLAKE2B d58254482e73351f19bdc63dbb0aac98e472a780e5e646caed3ded574a17346ed9f9a25e792d4877b85f13282bb0e0f2159ec561fc0be936f1fc07bcabfa3c54 SHA512 37d248f1a4aa9b1644c0c6568789852aeba062b3c80aeb7f6b06a0e6d4b1c92b6f289f0d23d5479a59b9329a8b7e9587a79e440e381dae2ed99b66ff3fae4637
DIST anyio-4.4.0.tar.gz 163930 BLAKE2B a37b8bc05e43cf1a4bc3f15ab399c78c7a76235942d776848307b189898973e46ddfb553bd20da154dc740d8b8bb93050ac460e56607b686bc2936c5a1e09332 SHA512 db8ad7a4faf257269de9975c3a6325023a95255a8bfe1a9642221080f44a2487160f3c0e8b220d637816e9eb3641550393a3c80b23bddafc33fd9ebe9a23b33d
+DIST anyio-4.5.0.tar.gz 169376 BLAKE2B be8b68729b9ad3c6ff39844617ebabf2b36facee5b1e4cbc9933fb6315a70daec785d2aebab9dc29d387987bee20bc6bf56f3befa9a997a4caa2ef9d7dffcc23 SHA512 12dbcc59888c555381589a820713c636f0f1a09d7999746ce5fbbdaa9a4cad5644510d036287d202db617ee16d59231a8edc824b003056bad22a189b5863c6f5
EBUILD anyio-4.4.0-r1.ebuild 2337 BLAKE2B f82fef9559b6d3354e4b5596219844ee051b155a52daac734691f02052661410cc8caa6054ec88d5543d09f51dd19dc597d2d869e0cb9d368e13422bf0287856 SHA512 e4eac2aa027aadba42c21eb495473bbcc50f810e7423685a89d35707e9c7a1ba5408a04c4503d76ba4bff5e666445a7b32cd685ee94e5fe8cba68374c1205d48
+EBUILD anyio-4.5.0.ebuild 2127 BLAKE2B 975acdb2b688cd60c79d633864a0b3df7af0f364145a46c6af397f37c983d0f7b91bdd1cdb813ec6e6ef776094f6b71ca38a995bea94e828bd69388c93c5eeea SHA512 bd5ebbc66b589cdb8685f96b8dc9e947001d95a9b1cd40174a6990611e032ad591b8b5a5496bd5edaa5fa594ed222d282d8174db2f4f8a82690b3446ca5e4fa3
MISC metadata.xml 1422 BLAKE2B 63acae587e7088e33ee5eb93a2a222899e54a5eb511118794f88e7c5a012d10983eb925427688a0b509b094e30a9cc9acc5f0c1765ea73e569161e0c30722000 SHA512 e0b540d5d739b7673a5a8682477f209f8b3648aad06a1c0610543a2e9dcbeca1cb1e52212d8088a5987a1c3bc3152cc5984ad5b5d0706fcdb5866b22de07b1eb
diff --git a/dev-python/anyio/anyio-4.5.0.ebuild b/dev-python/anyio/anyio-4.5.0.ebuild
new file mode 100644
index 000000000000..15e58ff7d1b4
--- /dev/null
+++ b/dev-python/anyio/anyio-4.5.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# 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/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/trio-0.26.1[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.21.0_beta1[${PYTHON_USEDEP}]
+ ' python3_{10..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
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ 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/beartype/Manifest b/dev-python/beartype/Manifest
index 80f87ad4f8bd..07a7e2dc26f3 100644
--- a/dev-python/beartype/Manifest
+++ b/dev-python/beartype/Manifest
@@ -1,5 +1,7 @@
DIST beartype-0.18.5.tar.gz 1193506 BLAKE2B 497de6f326a3b600992748db8b74ba80d4a14003a0cc484b3eeaf48f0f808864fe64462ef3315d421dc4b5fe5d7060b48585ee00eb822c9f124612f394ab93bb SHA512 114b256619c6c7fc48fbe28db00ae5a8ddea4ce11c5394a06fa026f0317a34907ff12ef0c0009cff7a7b83742e6b66bc8b503b4c0e382c0b6cf79d43780bda5b
DIST beartype-0.19.0rc1.tar.gz 1281359 BLAKE2B df124c838891e5bbce62ac8116968631887dc5e5918a1b6a7c46c1705d05fcacf5f4cc4034b39a6d8565a78e2edd99686643a0d1d8c22586cfd797ceb8085b29 SHA512 630fd68a55ab379aca7b49b72161b732e0790835d7f62568239fb53f719fc8295bbe3c942058ab6dfad3226060a5a11820bc87080a2dcfb46c482e1877f775b7
+DIST beartype-0.19.0rc2.tar.gz 1294713 BLAKE2B 7197c8203cd9d1a750df3946a19ad9d0be893b649f89254462edadbabb49adfda3e098b35b21fcc92156c5ea488b2e7760cf6bf18f418530533495be9694b71c SHA512 ea9bd08f9b294382826201e4bded03fb7337e5fd5ed3d63fa741703b49164ad7dd3075ccaf3256011005c31cce4258efb9070f876009eece49bbfd2bffb5196a
EBUILD beartype-0.18.5.ebuild 855 BLAKE2B 780c2859946cee302ba87d63141000d6934f01b7013b0e91ff7198e31ebf204c7568464dbc46f796dac6d718a6ff5ed6c6880139ad0be1c1feac688bd9ef511c SHA512 d3f5d208b4ae7946d7e3d729cb401abfaf024b19c499da02647c0777e2a4693a45731c2bfea174bac51efcc43f8ebc2c5416188b31a01480c4e5a6964c1e4cb7
EBUILD beartype-0.19.0_rc1.ebuild 856 BLAKE2B 32f851b0ca1ddac04e704c77ebdc93f5cd062f4d4b63096d7782bd3b69275e227d5036936329711471131e1d968cf36cae2fb1423b071a479540e890edebb3fd SHA512 fef336dd428c18d9cc83777a8619ce8e6210774ac9fba91df8238d1e32f83f86a29a284628fa5e75bb3403aede0635b19d32729e192d25d722421aa874aa7b42
+EBUILD beartype-0.19.0_rc2.ebuild 856 BLAKE2B 32f851b0ca1ddac04e704c77ebdc93f5cd062f4d4b63096d7782bd3b69275e227d5036936329711471131e1d968cf36cae2fb1423b071a479540e890edebb3fd SHA512 fef336dd428c18d9cc83777a8619ce8e6210774ac9fba91df8238d1e32f83f86a29a284628fa5e75bb3403aede0635b19d32729e192d25d722421aa874aa7b42
MISC metadata.xml 393 BLAKE2B f22040a947a67160c9b4c2d41db713ea69ae7a272aba75c04b1620e3f813d62718425acbc8c18716981e4176ebeabc5b60e9376d9927552ea5a36b51b7baccdd SHA512 dea8caeb6e9091672994cee213be075819d593d1034cbc7e2b076f3fc32bd2afde13b6af094956885c9ddaa72f272c6a198f4f92e7b095606fdf900a4cec47ec
diff --git a/dev-python/beartype/beartype-0.19.0_rc2.ebuild b/dev-python/beartype/beartype-0.19.0_rc2.ebuild
new file mode 100644
index 000000000000..000466fffd5b
--- /dev/null
+++ b/dev-python/beartype/beartype-0.19.0_rc2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..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"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+BDEPEND="
+ test? (
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/numpy[${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 6d9b64587c02..a9114642b4ae 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,10 +4,12 @@ DIST boto3-1.35.19.gh.tar.gz 861578 BLAKE2B 5011df66763e646768232a65022080ffbe3d
DIST boto3-1.35.20.gh.tar.gz 862207 BLAKE2B 06a45feaba2a8afdd213a6c059e3a3dce2608ab5f55bdccd17478be8b865ad3dddef2459481f4565bbb44736bf6ae2a68bbd26dcd1e3f0e12afc03290dc8433f SHA512 59854e97f957b58c391111aae2538771003414c04d46d50006306b84b3566dd7b1d369e68ecc658e66c04fdf89541184063aebec7859387503fbea2cfd40ea08
DIST boto3-1.35.21.gh.tar.gz 862801 BLAKE2B 44f322177603bad3de23dc47d95dc8b80b442762986a4402ec441c96cbbaa4708a3a9532c477983c0e0d857975f42ee980e61328ac72dc8bd68151980014dba1 SHA512 67bf2a8051bb08c1b761f1a13df41806356c67826e7cc6bd3c38f82ff709e6baac43430ed720f8d1f31a7e6c1fb7e4bf14bf67e8fd66db3f133ba8b8c93384c3
DIST boto3-1.35.22.gh.tar.gz 863521 BLAKE2B 758d3b7ad49d147278e5a3cbe222fdc1b21f925343c491b4f1708762e70e7b5cc89eb3003e3b8fd1430b8b04f8d9a59c7002c404597a03321a4a57c8827a5a5d SHA512 ad7524fd5850fd77d4f3f5ca5a94c3674639c3b4e7b6d65881cf2e546f8c5f9217d2513b43435b1a9ab97a63c9d94c20f00a3791a5fba52590b2eb4c5453bf22
+DIST boto3-1.35.23.gh.tar.gz 864231 BLAKE2B 53c7a4aa10e0676983e1909fee7264106ad10526848ff122c74125fc26ff49eda0571aeecf7d914050c0d55a47b63de85f493333d0774daa2006ea57f899e95d SHA512 ccd5c2654f5f355a77fa0b562e5e1603948ae2146b2600a01e17fac2540deb86adcc82d3d5c493385361f0473820c7b7eaf7057566cd33ca50e7f18b8f8e6579
EBUILD boto3-1.35.10.ebuild 1198 BLAKE2B 99a7fa08055cee13f14557124398df39119bae2e4b684265d4647ad0ec83a502bb422365e3797ff5c0440c4b1c9866ede4c62b1876510178dc2e6a0b05ed8781 SHA512 c020cc5535d63c948dd456d9f4af4e97339cb36dc0bb2b2c53d3da0c8c62737e0846ff71d9f85ca9b2936a8a7bfc43b67c3114f91440e75c9870beaa8997107a
EBUILD boto3-1.35.14.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.19.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.20.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.21.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
EBUILD boto3-1.35.22.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
+EBUILD boto3-1.35.23.ebuild 1205 BLAKE2B f1dce08bbfa9b103deaf3f8fcc34e0ff6e7aaa8a7be0ea69727c268ff7da0a1ddfcddc24bde5c654fc3f0f09d3c5a801a23e19c37ae05c3ebcf3bf26ec909b73 SHA512 94863e2208e36b66149792688378242b66b5546735fde1c3ccea6ad4883ab08046a9fd566d9016d5fd9612c035a7af4d5af599b0c18bad7137bdd1db5e6848af
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd
diff --git a/dev-python/boto3/boto3-1.35.23.ebuild b/dev-python/boto3/boto3-1.35.23.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.23.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 ~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.10.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 0b7b5d6d652a..7880472bf7e7 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,10 +4,12 @@ DIST botocore-1.35.19.gh.tar.gz 13376459 BLAKE2B ba64ff0dc221782ce23592a6d6a146a
DIST botocore-1.35.20.gh.tar.gz 13379086 BLAKE2B ea90039d3dd8848052e45e967d5a4598ca7eee3cfdad492660861b63eebba2fb1b012ac146a457d5ac4f299b5c3cbf81b5c002b6f9c88d8aa37eb32a4decfb8b SHA512 35e532c49a20a098d0694be93243eca285e311899d52eae9bbc99823d65464709ae7ad03f5a82e9dacba392b83be74fc84ede549d5dd33a875888346fff6d26f
DIST botocore-1.35.21.gh.tar.gz 13382479 BLAKE2B 6f63f736fd4bba93829dd4243bbc2ee46ee9e75f86c294cf8c2f0cb89f981f4b38146532fcb7a77184fb795d1d53d40791c6e7595b9db9ac340180cb18664dbd SHA512 c2341709b2b52fe9ee2512edab44721b00612b4f489f8dd67361c69ddc702a094aeb7dfd6fb6c15598a43c6ee4e6c530ead9525e4f5e4b59829b5ecfc18945cc
DIST botocore-1.35.22.gh.tar.gz 13397669 BLAKE2B 644cdd48d54a92fc8c2a1f024ee0e20662431f90f45340cf4ca50f2378c4cb8c0f322c2c86a1546ce0bac5b837295643a622816a2498fb643494a94b16f034c2 SHA512 5035a36bb8af933b871bb16ea617368058b3f4c6517f9bcc95291dcfe3cc479934aa70e5d746fc5fb7936d917f9e286cd5aefac271b27bbe25c49f267e87c9e6
+DIST botocore-1.35.23.gh.tar.gz 13404025 BLAKE2B d31ff73b019ba2c02a4a8d9014550b39470a821b18aa4219dea4124dd75017030c0ce54a7c8c35419c7bdc743a6c7fced5d3678eca6a0c8434098af1beea51f2 SHA512 9d45182a6dfffd9d99cf2bee4640680ef969084f86179d34b570028322b9e02d1f671285e84e3ed954df89f0467becf8ead7b37249d7365e0ffeb7e39358107e
EBUILD botocore-1.35.10.ebuild 1665 BLAKE2B 1171f3bdcbe2eada97adf58c2011691cb51300028737903ec51e9fea4d80943dc3e199f4a1671be350ca2cf921e5dbdd4e7c8ca4658261143646cf9c0c82f522 SHA512 db8027472dcb87b167d63ed89910783e104513361b9191f5e2e2928a2904493c22d9629aa206f61206c4f29c6a9c43e8208c57a9b9bf99b031101b915d326674
EBUILD botocore-1.35.14.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.19.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.20.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.21.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
EBUILD botocore-1.35.22.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
+EBUILD botocore-1.35.23.ebuild 1672 BLAKE2B 8e30dae387821aea270f5db3ece49d58df6706d6e4ced17b2a595e1bc3f40dc49f79811cc9a82ad935b34ab5a053d802ac6afce166fb4cca168affe6b47a6c23 SHA512 23b6b04cba2a0afccc82805c78853bec7ea4568c0c01122edc83e3fea544ce14841a41fb469acb6f5a7b8fc462060bda2e4cba19cd82a799b7261f61df880a5d
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0
diff --git a/dev-python/botocore/botocore-1.35.23.ebuild b/dev-python/botocore/botocore-1.35.23.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.23.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 ~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
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index fdbbfc309585..54677e0f4764 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -3,9 +3,11 @@ DIST cfn_lint-1.12.4.tar.gz 2870663 BLAKE2B 90b1c2682a143108f077b1239171cb410657
DIST cfn_lint-1.13.0.tar.gz 2378100 BLAKE2B a1fa12fe13df1f3f8c5e533c138036df7e2eae325641e7fd66a050a3bb81718caf353d867bf7bbc765942a93bb9025a97bd9691a5759f59118296c23daf7466e SHA512 eeec69657907cc145e533c390987f25374e9019a4c493d3a8ad98123f8db9445bac4890cbaef59b15af752d5a3437f75ea1687bc167198aec81ebb0a3c1ab097
DIST cfn_lint-1.14.0.tar.gz 2380297 BLAKE2B 27c72256f5ca353e40adb22c90754e37624962529a07e5f7b2af06a3c270d9a6b6e9721b1906de8992363dd42b66cba1b11f9e3c0f09e02cbd8c6f202f24eda8 SHA512 708d7776bc45bd5da722fda30b028f9ce403384ff584b0ea0aca47e1a002ddbb53845dc33db23ddb91e1b2984aee2a3c992c47357622c80a2954a9327c17ebae
DIST cfn_lint-1.14.1.tar.gz 2432006 BLAKE2B c59b5767dec67dd16a31878e2d9684b2aed77e20a7b6218c4fe4905667c2f031bfdd37e9a4e91090831bcf52891508d7b19bccc65cfdb3979e556f1a6b126408 SHA512 6277700dd6e7855bb555d920ce99085463495a8dae4d23d2310033ac3261edc7f134ef09ea170cbae7d6a1c321ab90e4fd397bdff3fadc5eef0ec3da065ad787
+DIST cfn_lint-1.14.2.tar.gz 2426350 BLAKE2B 65000d9201e66159d66e374a48cee6bfb330503ecdd72ecf325a3254a31f7fd9d78714b75b69b2e3a763eb4a2cf7eabad1e459dbb2ed4a46a3a21ba8551830b6 SHA512 ea7e558b4cd6ff844f25c88cfa46daefaee34ab10a209f4adc8ccc079bc4c361d917227aa60f747e9e821336ad21a9cdde114a0ce900fdf4f4c49eb7b83635c8
EBUILD cfn-lint-1.11.1.ebuild 2173 BLAKE2B 5e4c47efdb2519007e70bb5a736e25ef396631a967b23f6057e450a31358b2bf16fc3d85a30259dd2414e85a185784504b6d330a6568edccb8880d230fb81327 SHA512 da3c99f559c87c3b50c75a2055b1ca0fecc2eaf12f9601460efb853a31569aa081668ae2f300b4f0f1bb551dccba1c1b65bed2aa1cb60bbfbc09295d75cec3fb
EBUILD cfn-lint-1.12.4.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
EBUILD cfn-lint-1.13.0.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
EBUILD cfn-lint-1.14.0.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
EBUILD cfn-lint-1.14.1.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
+EBUILD cfn-lint-1.14.2.ebuild 2176 BLAKE2B 0204895222e1591f9f275af74dcdac3435fa5a6cdf34c46242e63829e40b9f2fcd493db355f11454df539555da529321ebbfff2a7326c9f0a0f40beb8cbf6c43 SHA512 b82cada00e1b5238ed40b0ea35fc3a1f84f3deced456412abcd668b46aa99e29c3a88091cd0252188afdb6cf0fed38846124bf073ba3c794d934dce3a14ce46a
MISC metadata.xml 583 BLAKE2B 9f73e2b92e5cfa2ad59f5c8e5d91bdd3aa9eba3fa722b93b388cffea42020db7e7441bab5749432812934a4514d3e9104e6d897e1d115afa5ed237757bd48c03 SHA512 1866a349855ae4e248498b7aabd6ce4c4e10ea58731df4bfa13500f61dc041da6dbd7420e7d6a78fad46d5cf00bd7ef2d0c4c7d6819a21b3a5031b0d49588a19
diff --git a/dev-python/cfn-lint/cfn-lint-1.14.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.14.2.ebuild
new file mode 100644
index 000000000000..086f03ea08df
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.14.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.91.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/emoji/Manifest b/dev-python/emoji/Manifest
index bedfdfd2000a..ab6e23070dfa 100644
--- a/dev-python/emoji/Manifest
+++ b/dev-python/emoji/Manifest
@@ -1,3 +1,5 @@
DIST emoji-2.12.1.gh.tar.gz 503707 BLAKE2B 75d81d99cbb5c89b3f63ccee57f20e13cae4b3d1bda5257c2f5382a6595d62c1159ecd51862b96ff6a5d9c920dfece6346d1ed36c2a6567d7c50eed69c5ac373 SHA512 98c1ecf986c7623122c9d101c82f7667d30b58b6e45c834f2644bae1659c67755dd9a4f025111b74508267861ad155131d4aefb8f951566f6950e64e7d3a3d24
+DIST emoji-2.13.0.gh.tar.gz 630971 BLAKE2B b657c4ffd1a71ce7f278d000ab273d25149822959529036aadca67d19f4ebbcc4941ee7c0f973981b7ab7bd569e34a02867f016d1e7106a4f5f042b30afe4be7 SHA512 2eb41f157af1ea2bd98fcae2c3914dd5dde158ca5c2f3c5fb1353abcca51071e6ce29867921506e0c48d359056b38bf33988206e950361b83b9c92079d78e6bd
EBUILD emoji-2.12.1.ebuild 571 BLAKE2B 2813f58dd6006a142f947b556016ba24ec2fec3bbe94691bde74138d30532e96489ef22c949e5d577688c2efcbee6f430098e38db8a099342285603ddb71b202 SHA512 2e98af89266eed7eee269d94714dd1359cca126c2517ee66cda3ea8224f5ca2aa94ac1df4cc58fcadb9c9a290c1517749e64e470a94cae8ab5abfc90dd745612
+EBUILD emoji-2.13.0.ebuild 573 BLAKE2B 58f3575e897bac6b269ae73d7faaf4b1c5c8245d059458313d2addc7d275415559f81964a8c48013c6bd77b137967810b81666740dda09f6a8ab5d6e3897ad42 SHA512 66f1907f73e3bbc28bbeb8d75865bba0eeb5ab69a604f0ccb42d771d73d8db0b8ffdda5b4e0a400ddf162d80dd3ec5f5e5219115cc951d8aa1eac21c68ddc32d
MISC metadata.xml 497 BLAKE2B 9aed8cad26be7f372b19349aeae8e7916b75444e32f0d60e589ae27fb324d0cbab86cfb827ce6cfd1f9002338a7bed44f7ed297e64199af0a00c6d5e07fa992b SHA512 e938bbe18a83243acc1d2614100282b913115fa7f91ad30f05833fbe73f711ef80b14e974c8c0e0c03454c216145e8f7d10c4a952a609486a3da95cf72756208
diff --git a/dev-python/emoji/emoji-2.13.0.ebuild b/dev-python/emoji/emoji-2.13.0.ebuild
new file mode 100644
index 000000000000..fd9717dd678f
--- /dev/null
+++ b/dev-python/emoji/emoji-2.13.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index e3b5b3dbb7b0..1dee1650da3b 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1,3 +1,5 @@
DIST python-api-core-2.19.2.gh.tar.gz 212969 BLAKE2B 6ecb63085b9108cb0755dc3bdd31d328de948ede85e2f1e62dae92bd9c12d6d90d4ef24f57a7a953567e6f9e8d105ffbde8bd99d8a42081190f95f2a48b6504c SHA512 76a890ebaaecfd4d913e4e1d3d370e81e655eb5e8192a10292a7a792f6a9287dde7dea43f27a70edcc7430f71346e52f2719393b54cfd7c4223eeba3c28d37e4
+DIST python-api-core-2.20.0.gh.tar.gz 216778 BLAKE2B a6873f5bb07928933ab5dc04bd3e02ffab06c38c70661ff2da7e6ca183e49a0a4995b4b672f188ede14e416a953d3385ac564dd02ef643bd9cc63d0c16063e23 SHA512 4dd369da408acc15e54a1b7fd13cc2747d5a3ae3812cf42a3c0ec4a93245cc0f7c7cbef456ff19655e8d2d22955aec7369a295faef81cc4ea268c419ca62ef03
EBUILD google-api-core-2.19.2.ebuild 1946 BLAKE2B 2bc9751de68c1072642a7c834b7707d8456af3bb3f957eee8932576781202b49c089a5cb6902c42db23ad56680b850531fd341128bee19a71548d7c5f3754d19 SHA512 bfe5b327f67db8541b36c1ff60850654217559fee0704714dfc677e9c637e365e9c46fee8b20ed6ee034b4fbdadc6a1302c8b479b1cd44ff7b1cbe653158ad89
+EBUILD google-api-core-2.20.0.ebuild 1949 BLAKE2B 8bc8670d0f21412c241bfa0a73339f6d64f83f31c6e8bf2947d5726ab4a35b4af97c59e5e4de670c4d19b0bd5e0df3ac0b01e98fc38bc7564845bfc08d7ddec8 SHA512 bd8df0045557275174189a991cde0cd2f1d6bc5f5f041858e4131fee25cc5ff2051c4ac769437cefbc2a2caf846e3e13c0204a1849d119672dc8b2fdcd4e9cd9
MISC metadata.xml 519 BLAKE2B bf6ee9b3f0f7fe5fbfa5461aabf7872c803bd0483938da629ed6468017d82ac5b8736a52ef325374d7948a752ff1cfa6006aca2e833721f5a4a47f4adc5d8630 SHA512 d56b0312f5e5b5ba909c84af358bbfea98ea4098fbdd0ab562e0669a87a492facc05644d13fc38a196e1300f4cc1638b28cdcd10f412d753d71f8cf20a7fec62
diff --git a/dev-python/google-api-core/google-api-core-2.20.0.ebuild b/dev-python/google-api-core/google-api-core-2.20.0.ebuild
new file mode 100644
index 000000000000..61fa5cb4fa0b
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.20.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-api-core-${PV}
+DESCRIPTION="Core Library for Google Client Libraries"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-core/
+ https://pypi.org/project/google-api-core/
+ https://googleapis.dev/python/google-api-core/latest/index.html
+"
+SRC_URI="
+ https://github.com/googleapis/python-api-core/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/googleapis-common-protos-1.56.2[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/proto-plus-1.22.3[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # failing due to missing grpcio-status
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_unary_errors
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_raised
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_read
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_aiter
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_write
+ tests/unit/test_grpc_helpers.py::test_wrap_unary_errors
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_invocation
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_iterator_initialization
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_during_iteration
+)
+
+python_test() {
+ rm -rf google || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio tests
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 5ff7988325de..38f8481bca13 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,3 +1,5 @@
DIST google_auth-2.34.0.tar.gz 257875 BLAKE2B 3ebd19aff528673e2240769b606cc6c88cead7dad4beafd58966fe4534a7a5b016daac448658992d5210a69749968975bfb9de462fa8de5891f1412c141b2cad SHA512 fd023bb3d8803e267a7c50536a30e749cfe388e95bd580556e9a60c88c093eb70b93493c4d277dcc77588a43644d90a0c5b80cab946b29f37af99ee913571b8b
+DIST google_auth-2.35.0.tar.gz 267223 BLAKE2B d30c8ca15f0e8183c1d50c285d578d8373bf722dddbeb2d5e423b2e25b26f038d406a6dccacf2cebbb0741a2ef07e8b0c86d0362734db3a56054ff76b6d213d7 SHA512 5c359bb94f213812c57cc2c2942d1da3aa08f0e73dde6f5b6c2f563fb51056009f3b821ec0fc39571221da267011d850c242a5ab044d88648be44759f7337973
EBUILD google-auth-2.34.0.ebuild 1471 BLAKE2B 3668cb2042daa1cd03aef840c76585899f05df7a7629b8a2bd275d2fc7926ccbd35146ac6fce8f48b2a84ad24e5c067b124292874a259b310e3cf1f34438784f SHA512 0878e8af6a42199544b02b779563f6af9e0a4d285ede7750fdb3f99b7d0885687249b8a4e96dabaea55416213d930e1b74e20d5a624e5077061fcac9084934b8
+EBUILD google-auth-2.35.0.ebuild 1474 BLAKE2B 4a3e857ea3a00984e7708742978efc875a86333f0a212a4be41db07577d226933f7113d3d88c971b554b4ef3c5f3c72aba7f98a6e68400d8051f8559f6213512 SHA512 6562f6b387baae59127b5bf7522a3bde938fe929004896ef4f2a3251c2ccb8bc0b7ca5329dd3879d5cf943a950590a745c9dbb128e860bbaaf6c8aba3be8acb4
MISC metadata.xml 521 BLAKE2B 784282f6a173e7746a408556d77e1277f65a41eae545b6b26054c1e506642e683c1c7d91798f3b7b690bc4f9d2f642a51c1395593177eebf1770d2a0c0ba589e SHA512 c2624ebca3dc42961e61531db4724b2b354a722f71cd7f2c194680fee50125d2251f4b94cc7e31b008a2792e74b0f55f407a1230d3f59572df9cf32ee49d2fb7
diff --git a/dev-python/google-auth/google-auth-2.35.0.ebuild b/dev-python/google-auth/google-auth-2.35.0.ebuild
new file mode 100644
index 000000000000..5778ba5b4f5d
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.35.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/jaraco-collections/Manifest b/dev-python/jaraco-collections/Manifest
index a2465683e528..5111ae2e2da6 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1,5 +1,5 @@
DIST jaraco.collections-5.0.1.tar.gz 17990 BLAKE2B a78de1a3222492dde34271edd8032dc5b8737dc428c1aa6b55ebda799ef4ff986cb0cf495bdbc35f9c776e1d576c2970ae6736ba8d8aa7f2fcc2e6766aefbbc3 SHA512 88b0f261acd91d585e643b810818762af7165eaf505099701b99ee3be6955eebcfd1c95690faa3ecb56b25f6982a8cee242e687e50ead56a557a5b2b72ec6dfe
DIST jaraco_collections-5.1.0.tar.gz 19026 BLAKE2B b0ecae5ddfabe22aca0fb0cb4ef6c07dd0c6b56cfd6920787779eb47631c3b4001f35a97f040a71495975fce40d5ec509799d19e23b81ccbf4afbae461cf0624 SHA512 b03b247657ad25df0b86ad125728e37c8123fdd1834adfc16c7e41fb9c31b9d4c1b168ed40614b965caafc7dd55fd14bba8c355648c8b5cca13b50736bc32883
EBUILD jaraco-collections-5.0.1.ebuild 773 BLAKE2B 14539447e4d9db9717a32edf270b67819f1fc6ec6e9a058ef29ad84a225576be8993a588b1a8df041c8d176759940b74055ee0d76b757b584cb640cdb59b2da8 SHA512 ac18f05b8cc619859962b8a084234477c1c00e3c1bba39dfb9d0382f73371f3bae2014508946a42dbc4cecbdc191ee7b0b122be1bff536f8cd5d645faa7be59c
-EBUILD jaraco-collections-5.1.0.ebuild 1049 BLAKE2B b9a924a051bc9c83877de2395c0454e9e47c4c3396e1a59fa73f484fac62a8381434abe011d19d86ae874e9abf19fdbc36bf84c26c499fc6c84b6afb72c67738 SHA512 c5e2923f83c077408eb33c62479a0ce78c7387c6017f0cec40b6767cab67c9a1079672d18e51ae7b9f493781cd5acdf4f0325455a3ab113e5e4392c293688df8
+EBUILD jaraco-collections-5.1.0.ebuild 1097 BLAKE2B 316ae9c5c3e39bced13db176fde07c16fbe2ab271e7716263ae656ffb708b96fe46b71490b7603318fc725d4b747cebc8050d13da3ee55c9502fa40ecfb6f62c SHA512 0f55a953bf29b20e1db0640688197944ca72ec0188b136fa63c03573f58b9fcadbd7c8e71a869118fba01381c8fc3f03729da28d5fe359372de21650fa6f5de4
MISC metadata.xml 484 BLAKE2B 4914c8b3242714bea9e288990484336d645e7a20c7cdc3d6f8018c5bf4771e29a1dadc96e08cb4df6e421273ddd24111c0eaf367209d6dec504589ccb6da0bfd SHA512 f4b097fd1d2d25f31d102c38894ac0e083af00bfcaae986bfc5c93cf634229bcf8015a556b6eb8401b0c1e7f5e0cac619f0b75ef19195cbbf3b8d2128743202f
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
index 6b2e5a0f229c..c83c120b90c0 100644
--- a/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
+++ b/dev-python/jaraco-collections/jaraco-collections-5.1.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
dev-python/jaraco-text[${PYTHON_USEDEP}]
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
index e883c3120577..fbf3867caf51 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1,5 +1,5 @@
-DIST kombu-5.4.0.tar.gz 442120 BLAKE2B 138fc4287f98179166973da019cb5d2536ec2daeb995e1ec94972c95dd3d42c33d97e4e0ed79eedda75e5668c789f463bc115638d8774bcee7018821de9ca3a5 SHA512 fd9b47018a6bb95067486858ee90c052dc497ae4625884521c37b0b18a226de52bee84599b7f7e4aa9ee956e1c648a2672e8c6dda4deaf493b20ffe30fca13bb
DIST kombu-5.4.1.tar.gz 442786 BLAKE2B b9772bd3a2ebabc4424b029ef72b7378dc2c4f4b0f6002732e5466910589d2c056317bc49ee7c9b3bc8dd02a820614eaf75dfcdebdade84d58fe919b5d11126a SHA512 e0ccab1037e840f11bbdd1f7055df4b25e09c5a00716b1b6b1d754fe7e73b21cc1f85062cb544321eb87bf3eb294837373496e1dca6266c9bc27ed68f7e2c1d8
-EBUILD kombu-5.4.0.ebuild 2224 BLAKE2B b7e33215b29cd5c505f5bd6a922eedfd08802cc5042c32280ea6fe644a2ba6579657d027bddc9505c125d68a941cd4c94744a52873ec32e9891da2559bb9f9f1 SHA512 86fa56bf08d9d5e010ba6d5aa575417b8de77ecaee7f4ffb6b9ecc3edb8fe849c6bd7c21531855dc220f1a73abf12b426a8b40785136acbad5889eabab277407
+DIST kombu-5.4.2.tar.gz 442858 BLAKE2B a613f3a5656c87826345d7e96b4ccf15336afdcd79a77db04140628f8522cb6f348fa31d3ccba66b6d01c423971ae013f157a812e12662bf4639fd4f4dbfc750 SHA512 4224412b8d3ee867af03a1771326681f78d112f31ab7ecd7c0f648bd28e834b296c1b36b7720351ec8e0ba871153caaa6aa06961394c5a9e99cd68291ad20b9b
EBUILD kombu-5.4.1.ebuild 2224 BLAKE2B b7e33215b29cd5c505f5bd6a922eedfd08802cc5042c32280ea6fe644a2ba6579657d027bddc9505c125d68a941cd4c94744a52873ec32e9891da2559bb9f9f1 SHA512 86fa56bf08d9d5e010ba6d5aa575417b8de77ecaee7f4ffb6b9ecc3edb8fe849c6bd7c21531855dc220f1a73abf12b426a8b40785136acbad5889eabab277407
+EBUILD kombu-5.4.2.ebuild 2261 BLAKE2B 534cec971b89b62188fcd048cfc36e55741513ae69618d52545534f93b55cbd3db76e75383454f2cf94a860cbce90cc3cb52cd912b79813ba83416b83e2e2407 SHA512 5395b4ae0d461cf96b3ceb8b110e14f5fb5ffcf80110df28a1f436dab0d206151a0ad3438a86bdada5d56f2ca077e87b4b6622875dc2c73ba23da0b04c7d8b1e
MISC metadata.xml 385 BLAKE2B 174062695338558e56601db5b6ced5eff3f6e22c1b840f1fe3d9046d6bc5f810fe1d3c73a3e7f009dae9129050dcb6824aca48ca86c006ecbd53f069884e60ef SHA512 eba10417212f73894b7bf749962c055c44ca10afbbff80f57e36f74edd016097c4854625a94e5a3522b3adf638c2c150e357f163f1617a79dd7fb54c234a1435
diff --git a/dev-python/kombu/kombu-5.4.0.ebuild b/dev-python/kombu/kombu-5.4.2.ebuild
index 5b95ce34649e..7ff12e4b2201 100644
--- a/dev-python/kombu/kombu-5.4.0.ebuild
+++ b/dev-python/kombu/kombu-5.4.2.ebuild
@@ -22,6 +22,7 @@ IUSE="examples"
RDEPEND="
>=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
<dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
dev-python/vine[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/looseversion/Manifest b/dev-python/looseversion/Manifest
index e3b269530aeb..be54a19b1ffe 100644
--- a/dev-python/looseversion/Manifest
+++ b/dev-python/looseversion/Manifest
@@ -1,3 +1,3 @@
DIST looseversion-1.3.0.tar.gz 8799 BLAKE2B 75664c31164062178986a14ff2fcc1a4c3c2c8e5bab9728477c33c73076833b5fdc8d55ebf7444f809a9a3e6152eb9c51888b8227efd4ac5f865890da8ec0472 SHA512 a54c788ba698b07308cfc75b5afba2cda59451d72d178be92b43c433deac9b24bffafa26f121af79a3d42eca8f83e7f50477498e1a17aec47cc213d39aa47eb2
-EBUILD looseversion-1.3.0.ebuild 517 BLAKE2B b3920d3377586f8a73809710c36c3dedd1279b064f7b82cc0f7fcb17387941e0aafe5fd86a6c56e4bb9ceb52ab399b975147bd858325d27a792813bd6b7f7491 SHA512 7fa9ba3925d8e60848f9bfedeb077201be08db8ab78d0dd6088e70f9d1af8c8e437ab667f9d515e37c221ee9aba0d48eef66336533e987d115803d26f6af7260
+EBUILD looseversion-1.3.0.ebuild 516 BLAKE2B 90eb559728211de91056c58b2db1f8405cca7e31c5222d8dff7d0ea58a0d1232d55e6cb370c120e61349ce271879d4f5194620886e10d0ebeef06cf23ee6a868 SHA512 ce2b72a411688116cb421f790a26c7291a59b805cea863fde3c39f0afc0b0ab82929738e60caf5a10d0ebb194ff12bf66695f06d809a8adf6fc84fb2a36f8581
MISC metadata.xml 511 BLAKE2B 154fecf652c355f4364c9795b5ca16d6b930a8ce986bb529558b43067385986bc6572e5e7f9edea65688cb43fdc243c842ccd3f6421d1bac8d4d4cfb461a2766 SHA512 ea63b1e0cf84ae6b244d209ec288e01b13a2f1815710755bc699f9fcbb965c2e34e83f44eb2873241d0f0c9221d03a9bbc1c51d08a8c5ba0c243ead8f2a2e80b
diff --git a/dev-python/looseversion/looseversion-1.3.0.ebuild b/dev-python/looseversion/looseversion-1.3.0.ebuild
index 60a6c58d6f8e..2156acc24a6e 100644
--- a/dev-python/looseversion/looseversion-1.3.0.ebuild
+++ b/dev-python/looseversion/looseversion-1.3.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
distutils_enable_tests pytest
diff --git a/dev-python/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
index 3b9ab8885cdf..27cef80b5ab1 100644
--- a/dev-python/nbxmpp/Manifest
+++ b/dev-python/nbxmpp/Manifest
@@ -1,5 +1,7 @@
DIST python-nbxmpp-4.5.4.tar.bz2 138170 BLAKE2B 00a4919032dd29828dc735695afe9c0814a8fe2ec765a534257768896d9f27bc3a395275d546ad717bdd16c97161e8f0a8acaf43cdb7bd9404e40bc72f2c3da5 SHA512 fcaedae519d8cd2d52cc65721ab1e743569ba1cf7c29f2db41ed5671ba0f2c5b47f1f6d9521e1614e89e21512a4575c6788316cdb86936f0c4886d54c3831bb3
DIST python-nbxmpp-5.0.3.tar.bz2 142891 BLAKE2B 5a73660357e0ce5056f34290e6b1148a4e36af82c88ace89a562b0a5675422d364047d16604856c5ac81a87a3f262651b65c97cff79fd95dad508a4a2977c15f SHA512 ae433fe943dcc996bf10cb5c0cda70bd15b825fa40d7cb49a16e86476074dffa3b0f6a2286a03ef9bde11f572be447fc615ca157895de0dcba598ab74262b48a
+DIST python-nbxmpp-5.0.4.tar.bz2 143198 BLAKE2B ac27204205ded7e0d20237ee7f70e5f84f8f4ada54951e209a30c59390fe166ef296875e45dd74216a04ba78d35968667d4f126967d97c57dd1533ce4d9edd0e SHA512 a6672b4046c2de596ca92129782574528d14ee75a7982bb32db398628e3901c8e780b8a33fac2710d13367a0990ba21ef148c255fa77dee219c6bbd0c453d935
EBUILD nbxmpp-4.5.4.ebuild 860 BLAKE2B 66011d80e092e0791d4d429de037a6cdddc1a5bafb93f46569a0229de24429cfd5167bc08f5ce03a25681a2cf0629a35e9be10fc763adc4c3dd43e5810fc06c8 SHA512 483cc19f8f725dc18b07440c33ae8086623ec4549b1b8a6fc4f27cea4b9578f42f117359a92ff23619908192eb698189ce87ddd4e4e06e29847ff8702811f2e5
EBUILD nbxmpp-5.0.3.ebuild 860 BLAKE2B e7e3e29137399fe23f9f7e5aed956808f257690c3187dc6e310bd7082dc672b3f29a566dc684984017a5a04822785f8ae5d6296acc23191622677fd448b03c9b SHA512 21eb6cf49f93e707151162fdb07daeb6e798f7b6f6b1d5bc8372f704e765d225a4e5fbdfc081b86399066c5040098a7b8215a4fd637b3512ecf18b419a4bdd54
+EBUILD nbxmpp-5.0.4.ebuild 863 BLAKE2B e20967a16416de2b0de57a45736e19661fa62c47ecc283d85c5b7cf8b2eb298ec31130ba33d86216fc987e500d03d940c5c3ab7a371d453b0438ea9b4f9965f8 SHA512 1e00966d9557a23dc08c118f17f1e564db56d1954b0a4c7712ffbedeb40fd36e0d3ce65e1f621f2d241228793251a8f0ff532e1e17c51444dd4b9f0987ab7f58
MISC metadata.xml 345 BLAKE2B 05dc6872e0de2ce54b1c3c32bd2252f082de10b6947d106714e7d34d8c4ce532b96d4480427798cbe01e8771623813b475a0e27df65389ddd98a9a28eb1682b4 SHA512 531aae88d0de86eb9f81918292aaa4570f28db09408506464d7710daf434b4be1a6a4b3b04a3cdf2a2c01596baddc93622c127ee1e4b371cd3c126a4093a3bd2
diff --git a/dev-python/nbxmpp/nbxmpp-5.0.4.ebuild b/dev-python/nbxmpp/nbxmpp-5.0.4.ebuild
new file mode 100644
index 000000000000..0299ed984918
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-5.0.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index ec873d0b8342..be6ba31915b5 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,5 +1,7 @@
DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
+DIST mongo-python-driver-4.9.1.gh.tar.gz 1937311 BLAKE2B 9312c7df50f86dad7dd713b34aba0a87dd9f878b115b3c00ae9e0825c883c869f57e0d55d552b1b4bf9715930840a540572b451d296e185085c4c0c707855811 SHA512 e616418c90088bfc328505dea315a225bfcc942fa29dcc348d3b80d0fb329b7e8fe9d6164c0e13a0562e6126535cc7d04c2cf497a39a04071f6db8af3c8ed1f1
EBUILD pymongo-4.7.2.ebuild 5267 BLAKE2B 1045523964d4f0482bb1fd5c57841684479dae05b9135f873008d41de4163834bbc1d6d0249e183aec0e5f7751ea7740d2dc05ae0ec69048f1b24e5d1f215675 SHA512 3e19264bd6944e334d673ac0303e738dccd61b68e9b9d7e9cdd06eeea811d52cc5206d4e8ff57e88cf928ac5b47cc69a77bd5dc18aab801b2db8dcbe894f4456
EBUILD pymongo-4.8.0.ebuild 5839 BLAKE2B add017703bd0be4c70abe7791ed3cf19453ab63f04d61e0b8139e6f59677ebaf002118b0e055ac23cb4e56c67033326abb16c73d76827698719e10900cebb90e SHA512 6e4ec05b25bfafd953d8254b6ceaf28fa5784cda21af76a9b27329af2a909aca7d43d242514b1b2dfb7db294e43eee17c15ad26bd73ed0c4fcc382e9cc7205c2
+EBUILD pymongo-4.9.1.ebuild 6846 BLAKE2B 7a900423de97c4feb570cfdd50161b928003106553e1b6d2d5cc823289cae460aafafff670feda2b1e1a9b6560fa4ac72b9b39df5794a7eae756aa336e68b9c8 SHA512 07b51abcb80d70a92e68d8970a1fc92655ee37b3efc0a2a1a28c9f17491bea2cf79d3a8dedd7bd84e914390ead2da4fb2a9f37dd2d485fdc6d985111a6b05e5d
MISC metadata.xml 880 BLAKE2B 024d83cdf3d8cf94cdc98153a6b429550579d494b053becfe5cda0a7a7f3852632d7155e71116a9ab751e6542fe63985755f4eeb147914bc8dbb1e9fac560434 SHA512 c6110fd18fa7f7819299b5de919bfc0ce407d653115d34d297513ce3a4acd2e16399d6f327c61bc5d4ef8aa6776f84750cff37798415ca4bd59c6fd19961d891
diff --git a/dev-python/pymongo/pymongo-4.9.1.ebuild b/dev-python/pymongo/pymongo-4.9.1.ebuild
new file mode 100644
index 000000000000..45c60a630e6e
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.9.1.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2024 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 python3_{10..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 ~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}]
+ 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
+}
+
+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/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
+ )
+
+ local run_separately=(
+ # need to run some tests separately and then restart mongodb
+ # to prevent it from crashing
+ # https://bugs.gentoo.org/934389
+ # note that this list must not overlap with EPYTEST_DESELECT
+ test/test_bulk.py
+ test/test_change_stream.py
+ test/test_collection.py
+ test/test_crud_unified.py
+ test/test_gridfs.py
+ test/test_gridfs_bucket.py
+ )
+ local run_separately2=(
+ test/test_command_monitoring.py
+ test/test_connection_monitoring.py
+ test/test_cursor.py
+ test/test_database.py
+ test/test_grid_file.py
+ test/test_monitoring.py
+ )
+ local run_separately_async=(
+ test/asynchronous/test_database.py
+ test/asynchronous/test_grid_file.py
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ 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 stage failed=
+ for stage in {1..5}; do
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && 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
+
+ local async=( -p asyncio -m default_async )
+ local def=( -p asyncio -m "default or encryption" )
+ case ${stage} in
+ 1)
+ nonfatal epytest "${def[@]}" "${run_separately[@]}" || failed=1
+ ;;
+ 2)
+ nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
+ ;;
+ 3)
+ EPYTEST_DESELECT+=(
+ "${run_separately[@]}"
+ "${run_separately2[@]}"
+ )
+ nonfatal epytest "${def[@]}" || failed=1
+ ;;
+ 4)
+ nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
+ ;;
+ 5)
+ EPYTEST_DESELECT+=(
+ "${run_separately_async[@]}"
+ )
+ nonfatal epytest "${async[@]}" || failed=1
+ ;;
+ esac
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+ done
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pytest-custom-exit-code/Manifest b/dev-python/pytest-custom-exit-code/Manifest
index ec9b93d2daf2..0677d8b5d889 100644
--- a/dev-python/pytest-custom-exit-code/Manifest
+++ b/dev-python/pytest-custom-exit-code/Manifest
@@ -1,3 +1,3 @@
DIST pytest-custom-exit-code-0.3.0.gh.tar.gz 11147 BLAKE2B 1ffbd021f9b637de19bccc7f6fe41048b6fc600236a29faa2e9729c814ce42c8d08ec19f29de4852ec3f82f6ec850740f5bb2c7119e047c2498edbed2c8bb6dd SHA512 6b412866d60580908d6e53829ca7c5661a7a7ff4927f014e8765315da6152c1e459b5076874a11c54f7b90e7a0480011d80d883d51f437a1780ad8442366e3a5
-EBUILD pytest-custom-exit-code-0.3.0.ebuild 790 BLAKE2B 10a00f2e49c1896e8df7d7cb471987c58af1fd5033137d6f2148599854e5ef1cec50ba0aefd30eac3cde3289e2dd5a5e8d16a82194d7adfcd11482da0e4e335e SHA512 ec3b55c1dc84d905b84342a195f918803d598834b5f866b3546887ca4fcfe5b979b014ed0b494f1cc6b20fd7b8449e0d9b1889a2275561a5e3d473015d6c1a07
+EBUILD pytest-custom-exit-code-0.3.0.ebuild 789 BLAKE2B ab72a870bb7a03499128f812a4e1a135007246c9b7a56e7efd37992b60627a0e1589f03a6ff3048e99fa1c4de0a68c4ac25c8d18f1d9f03ebf6b4dc6ba8b6264 SHA512 7b497af20d1dfd50c2abaf08fb8c64b9aa88b412af2b346ae8d646b2dbf98e272be35533b00e8ef30fc5186a5948dff59bd9d1943c6857c44a61311f6e07456b
MISC metadata.xml 410 BLAKE2B 14ad3097a9be8542b398b87faf38a55ba8a601d0f86257bf3505cc855a3aa6e22d401a1df4603649ef6bd77dc381499175cca5a58864a6d6aa396538420470e1 SHA512 3d81563cfaed1ef43d27540922dbbab9d4b1cd606eb8754534a25e6c80c23af2ee5aff5d495518d92fce86a299ed3523ddb2ef8e2b62ac76709adaa5d91e0056
diff --git a/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
index 585a544ad31c..bf810444e716 100644
--- a/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
+++ b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
RDEPEND="
>=dev-python/pytest-7.0.2[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-salt-factories/Manifest b/dev-python/pytest-salt-factories/Manifest
index 95d14faf6dd9..9cb909138357 100644
--- a/dev-python/pytest-salt-factories/Manifest
+++ b/dev-python/pytest-salt-factories/Manifest
@@ -8,5 +8,5 @@ EBUILD pytest-salt-factories-1.0.0_rc20-r1.ebuild 2093 BLAKE2B c115786a36e765845
EBUILD pytest-salt-factories-1.0.0_rc23.ebuild 2152 BLAKE2B a9ff67a19c39e5abb9f3ce39bde8fefbdb61ea53061d0113c7d004360e0d5c2d38002d9fa66bd2b13b6e51ee8364b57e9d98e60819d6f187548e7a030c287078 SHA512 e681e260a22df3fdd956513ade49bbe372952e805e278254bb11f99fd171c09af7208cd8104106a799f5d2cbcb85650f3e57ca4e22ea2b7d5442c33b5d1f9d8b
EBUILD pytest-salt-factories-1.0.0_rc28.ebuild 2434 BLAKE2B fa5f53ba85342458c15b20168177c4f882d2edb59b2a783d714ceb0721b770dc2f137388ba223c25140359c97079a8ead5df991c27cb8ca87eabefbab11b25bb SHA512 6ce9d9fba127e87b7cbb19fb1d5415a450fdbd6ea0b1c2b242e6923ae521deac1b29f07a3473289711933f4f8c620eb52b6ff409d20dce0c93c81a3320b39cf3
EBUILD pytest-salt-factories-1.0.0_rc29.ebuild 2613 BLAKE2B e6d6b1cc9dc64b3aa92db54616e4428cccd2cbddf5f88fb515d4a39fe161032ca435343d061a0c8999966aea218fa6625763bcb9c912498c703f483f4499d60b SHA512 8c2c71fc866b224c19c457af942625dc916ae5a606d6c35afa4eff099bba8c3dca70b2a914659b7229f25abc7b9ffb7ecaa6202c68b8a8e7f9c34a42cff47450
-EBUILD pytest-salt-factories-1.0.1.ebuild 2612 BLAKE2B 4ce76dd1f65564e7db0fef843b12b53712f811e1708a7f7277b7e79dd357bf07d6314e66a486cb904ca545e42af7d1f8d1aeb3ddce341257e3f422888782ba03 SHA512 ecf009b74b77fbce3c8b636745672174a9ce2936faf872347599dbc38fb9cfd2a553bcc807ef9d88cbd13f3b022612c605f3fe4d4a4c098b7866f3dd223fe859
+EBUILD pytest-salt-factories-1.0.1.ebuild 2611 BLAKE2B 55ba933d7b9c1a0d3472ffcc4e587fc3f83a0cefe62b7434666392c5251ad96e9a9a65297c49eb457a88b487bfbf75ed43b6767ab633116b2f27e79435edb3c9 SHA512 b9011f669b3ca4047d9e71fffc57471e75e5a2dce27210a185aea44f53aa7f287dba62551fbd3f3a560c8fa29c28ff43bc56210cf511ccca4b08bca31d135215
MISC metadata.xml 429 BLAKE2B 84a4af391d2a8bee687c8499a7642117ee99483439c044695d5d68a546fad02f1e6e96d88a56c2eaaac0bfcb8f7df97313723fe562885c72c952f052334fe825 SHA512 f561d42e196c7d9bcfe656149ba40e94a52c84f3fe518b6039dc9c7c1d213c22bba8817bc35563049526efb59cfc6eeb1ca9c1021f635a099e81e72fbb5d3c52
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild
index 4827179cb1b1..cfd379fd0212 100644
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild
@@ -21,7 +21,7 @@ S=${WORKDIR}/${P//_/}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest
index cbdf8f00cd70..3e7aefec507c 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,5 +1,5 @@
DIST python-neutronclient-11.3.0.tar.gz 211322 BLAKE2B 495e2f8db5d85cc92d1990239999c920341cc18e2d519da4e458eb8e50b803aa77d838dc06f2a248ead2ee156a763103c5376b786fa99d97a0c6dff5659374ba SHA512 4115326f2a40957f1db94ee4e65f7399019fa135774fa9ed5f2ffc6d20f65f326fedc724639decb730ce9de0a0e82239e1ffe6ec4df59382adb16d9c3cfb64d5
DIST python-neutronclient-11.3.1.tar.gz 211410 BLAKE2B db1bed173ca546529502dc2ce564e950c6908f4fa3dc81eb78bc59dfa4ba3e608a058c2b143db111afba153eef9e62f3a7f3bb588faed9d306e3bc960fc33e94 SHA512 76e17bf2f0bce6bad939029beb3a75b840675582fcef766f61ac139d29d7f0632dae3a7ee3aea596c60e3b86b9e5cf24c8070f75a03a9c8066b92437fcdd03be
EBUILD python-neutronclient-11.3.0.ebuild 2380 BLAKE2B 341264cdc93a97de86128422fc4b3ebad6ed0b0e0c4920c70461a52cec44a2e4a6f8b8827b2727699f13d7f03c412f82408695485f6e773bd4666b3ff319873a SHA512 d09b16d964ef7101e52f3f949d2996752736c6e5027b0c6a0eedaf8fff7a93513679eeca6c93f95f1c5f9d1dd027c8670f4bd5ade2b4e6da1c699270bc3a9c2e
-EBUILD python-neutronclient-11.3.1.ebuild 2383 BLAKE2B ea9be4671c91b906c9a96b4190088b0d17a1ab58869e7419623785b49872576d4f3630929d829bc3c466c0d53bfd740b8bb6558da0c6b4c43a4ebafbe574c3f9 SHA512 68f52412c51bc4221bbe5f21d3be19f0d37c53a304ca434cd196a142d5c7e9dab853267b322cbc6070e27866db50f84a507cf10857b1891be65843ee26b62e37
+EBUILD python-neutronclient-11.3.1.ebuild 2380 BLAKE2B 341264cdc93a97de86128422fc4b3ebad6ed0b0e0c4920c70461a52cec44a2e4a6f8b8827b2727699f13d7f03c412f82408695485f6e773bd4666b3ff319873a SHA512 d09b16d964ef7101e52f3f949d2996752736c6e5027b0c6a0eedaf8fff7a93513679eeca6c93f95f1c5f9d1dd027c8670f4bd5ade2b4e6da1c699270bc3a9c2e
MISC metadata.xml 717 BLAKE2B 75f33edaa71a10416b2b714a8cf11293977a15c6f2480b1606836d2dff0a5833e0ae10080acc5da0d665b466b6487f01e9bb911b4099f68c45bd0509eec811ed SHA512 39e07805e8c08291ddee7b569f092bfd2c2b7bad520bb076d724427e939b3e33b0a83007fce2f43a075fb53606bb611bdf2dd56cb5ddf0dcc7a26ad71f086cea
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild
index 621717e09572..5f3b9670d1e2 100644
--- a/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild
+++ b/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index c9e53fd3635e..63e6a948cda4 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -3,9 +3,11 @@ DIST python-openstackclient-6.6.1.tar.gz 917516 BLAKE2B da771630628444d02b6937d6
DIST python-openstackclient-7.0.0.tar.gz 946254 BLAKE2B 4120797686453671ae47a0ce57856ec8424da7a38df3f478b1fb455a4af9dbdee6365dc9efbe750e8062f87f9a8fa218ed04de75bdc97af5cee763e31338199f SHA512 9e541b33abf5b3fad6f05782f1c16377b497b099a227490d9405da5140f11a73abba75c9a7021df7d129a4653316b742e16b4c049ef1f26b961d35a281618ebc
DIST python-openstackclient-7.1.0.tar.gz 946758 BLAKE2B 459a926d27fbbe7a9ffd72e49721559bee537afa44ba032ab0c9ed3875036dbff621d028c29449ef93708da40bfc09829ed0528b08a3f6c080201f31c5d95192 SHA512 7d1b006756446dbf96bf2cdcb17a46dffac1c27fd3cb73168c731f6e90f5ef157e36448ce6d788c37472b0d335989318ec64864f700250d5a0468f3d116b5055
DIST python-openstackclient-7.1.1.tar.gz 947016 BLAKE2B c8becc500b01a63783d2304e69f35c54cd1b5a56b3e0e69b6f280f8fd6c9bdadbc103c99c3ae7d3ebd764c59c0b564bf22b468e3cb26904259d4473d815fa093 SHA512 cbcb90cc4f861dde2ef6f70f92f797989a2d2aa4ac65fdccbe31ebe02c43a7c3b2efc77ffc48f51ccc37e9850b46e9be261cc458149e72b1d7293266d7b96235
+DIST python-openstackclient-7.1.2.tar.gz 946854 BLAKE2B ce6eedb2c9154facde4b70332526d7d83451cd437274c3a25f343ee13fcb09fc4a77f7e82e3f00f17e8fa89b0877eed4f826d345e96e0eaf51e02c9e0a675ae2 SHA512 58b7c87fd60dcbfb559cbbdb41d9a48b97de19dde1117f7277b331d5947b62df4a2806070a7da28d6d00b6ce73d7b4fe2b5c6b2965605fb7fd9c6507e978bc80
EBUILD python-openstackclient-6.6.0.ebuild 1801 BLAKE2B 5b97380e67028971626952aea40f013c9a954192f6b74287215dd9764805f765e7c0bcdf7c0d31a8f3b016798c5d00ed0e94b106c2a1a0e2793a7bdef9ce0394 SHA512 1bfdab91d8c5e0f9be325d63235e5e7c409c6f5c2a1f2d9d7de0708344fa2dca7ab90f1b8a74b4a49e18b80cfeeb54beccf44de0f4d617e3551e78eb25f95193
EBUILD python-openstackclient-6.6.1.ebuild 1803 BLAKE2B a2e175500c852a9db65cacbb31fb39c65d9e0f20fc0653f82018d3c1f750314550962298194e34d7c0816eb537fcf5d8f37438de163eefbee2f13b30fd934de2 SHA512 da2a818c3edbe251ba7274610515ce9638d5febcea823d4a65d4b3eadc2771be2d1155292915384532d5a304086866d6011ddef44a39b67eb99ed2241dd9301e
EBUILD python-openstackclient-7.0.0.ebuild 1746 BLAKE2B 489f9a340cea0b7bb36d47134dd6c665c97b1a3950b43354d0c353b4e7a068c485343aa18866cd1d768bb6052063e82e9d33e32a83ecb8e8b23a4bc9c4100f9d SHA512 a45ead6bbccf9ac06a820f02f7c6f87007d320418ca64a6286f80875d0ff2f5e0fcf8870d69099fa3bd6406681a5a13850e776b111773b595d574a7b68890042
EBUILD python-openstackclient-7.1.0.ebuild 1746 BLAKE2B 3b5746db07e27c682d809ff81ff1245aa54d9ae1232f84015e951440e624d621f4a5cba2152868ce6837b163d8ccbfc97f40a8705067a4b9569ddc13cc2b2e51 SHA512 6cbfdb84868249fe492a8b3af4cd11cb98ec5fb3fcae1e8f9718f04476ac3ed6a29556fc9b527a2958fa0f2b6be064d42662ce3f418e9f174e74076f780fd7d4
EBUILD python-openstackclient-7.1.1.ebuild 1746 BLAKE2B 3b5746db07e27c682d809ff81ff1245aa54d9ae1232f84015e951440e624d621f4a5cba2152868ce6837b163d8ccbfc97f40a8705067a4b9569ddc13cc2b2e51 SHA512 6cbfdb84868249fe492a8b3af4cd11cb98ec5fb3fcae1e8f9718f04476ac3ed6a29556fc9b527a2958fa0f2b6be064d42662ce3f418e9f174e74076f780fd7d4
+EBUILD python-openstackclient-7.1.2.ebuild 1746 BLAKE2B 3b5746db07e27c682d809ff81ff1245aa54d9ae1232f84015e951440e624d621f4a5cba2152868ce6837b163d8ccbfc97f40a8705067a4b9569ddc13cc2b2e51 SHA512 6cbfdb84868249fe492a8b3af4cd11cb98ec5fb3fcae1e8f9718f04476ac3ed6a29556fc9b527a2958fa0f2b6be064d42662ce3f418e9f174e74076f780fd7d4
MISC metadata.xml 562 BLAKE2B e4f7a3fccc9c2c798962efb6dda973ad71c19e5db8efd57869b6a8cd565784d5f4a6c581bf11a28eed826bb8c3451b5938e43974b91291609d177050fc654603 SHA512 3fdb3a9300dcaa310ec02266127a998ac4587fa9fde5e381342a5c18d0435442dfdafd0b326730e1cee26f72b43fccb6a15df7d5d1fd8f5a9bb3783983b0dcca
diff --git a/dev-python/python-openstackclient/python-openstackclient-7.1.2.ebuild b/dev-python/python-openstackclient/python-openstackclient-7.1.2.ebuild
new file mode 100644
index 000000000000..5b00c3719889
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-7.1.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 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..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index 51a7545fd602..c4868521ecdf 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -16,19 +16,25 @@ DIST Python-3.13.0rc2.tar.xz 21055084 BLAKE2B 017ac82c1938d1fea0a501efb9d1848115
DIST Python-3.13.0rc2.tar.xz.asc 963 BLAKE2B bb75db12c424b7a05c8c0082f79c1ab6e2ad04440a27d2c964edc073fbdc1c0ac442b0b2a0719a33f8058bc7bc9097eb22e031299f8de5b6d88b74e4e5ece8a8 SHA512 6d80d089b55910628744d21b0382b6441d0550c139dbee71d68a7cd9e494bff1c8235a2a894f3c7a52f9af312480a4001f333e04c9054f32db7eefd2a7d39263
DIST python-gentoo-patches-3.10.14_p3.tar.xz 22080 BLAKE2B f45ebe4df3dc39a842c93d741ef66fd0f9f7d1c6453d499d59b62eda41f01bc17e109205fedc506963d1f21eb3fbf9478564ff5e1a11c10336f855069a642ceb SHA512 db268f1482e5c46a71ce3aef2c2ab6d458cc5263aec360e61c6aff97f119f4f100becefbb575156b1b0239e591a496cb62a136597fadae8a5b630c7233c0040a
DIST python-gentoo-patches-3.10.15.tar.xz 15896 BLAKE2B f908b409dbcedeb4e2fa7255d9dedfb8f86f39b9b12612d45662d2305012692753874befa5377e1bcb2e8fc04b54bf206948e12eb7bc357a764c1b1e496e5997 SHA512 a647882ede8d7b97e301e472e91f4573dce9f8bf4e408449444625fdf79859a54fd828daa60c7960721f34c3d6d82e2e45db2c55f2fc093097a0db42f7363b8c
+DIST python-gentoo-patches-3.10.15_p1.tar.xz 24048 BLAKE2B 191c28ad9bc781d6f3077870e8d40ff98a47a64009ecfbbd10fe2b3c5330692181837fd3e9b336fd01f936a39160fc12761b2ef9bc00843248ab978cda2e2767 SHA512 4461e351c991694415e2812e558d6c3d3f79295358623dc955bc0839691a170d95a3efd31c0bf9f0d6191e4184d7b55fdb485b948d591782fef5b060d7660cce
DIST python-gentoo-patches-3.11.10.tar.xz 8484 BLAKE2B 844aa7a855e3ab5a6307c6bfac9d58faad249ce550d21e8526125dc56b9665dc6fa00530a60efe8f851397d368057400851906e59fec10f6325bd83a51e39317 SHA512 bb602b80eed62ca8477b05665267ec3729fd9a85d9b709f844ad729f496d008a529d05d2ebfe8acb5db5ccb99005260bfe458f6ce0d9d358530670e0970e415e
+DIST python-gentoo-patches-3.11.10_p1.tar.xz 10592 BLAKE2B 1cc02d22b55cb76beba133c37e6db3b9ba12b11cd8776acb064f14431842405cbc9efb5a06319cff1c73d9178ddbbe2e340829d4628c88a9589aa2fc1d308f80 SHA512 7ddb08e4d8a9173a26fa18de687a4c85c3d460e2bc595da6f4b15cfe3be264ccdc7d61d5fed1e7a82f256d21caf3ea7de87f774fde61a9d37bed15f86f546adb
DIST python-gentoo-patches-3.11.9_p2.tar.xz 14916 BLAKE2B a910eae412fc1ce3657272c3c2ea9ef95b8d5711ed4c85b93a35f4ab757b1134bff0f8c8a0071e8e06aac784d0b51e36cd9271f892098cba272da4a4e73317d1 SHA512 5c055186b3a8376f4f602ec5d1f8e7bf0f067bc67295c1cdaa68ce1fb6fb21cda75e22705b8a5a2a6525af67f3b36a82fde5ba6ae9b097a5914ab79a2f1a0fad
DIST python-gentoo-patches-3.12.5_p1.tar.xz 8632 BLAKE2B 13570bb465002cea3590b06d055b936ac0fcc68f6f258aca99a67f02f0b1cd28396424b686c5e080f593a74a744ff449e7220f51f167a858b2313be4c8b64b19 SHA512 eb9fb2d48236a9f7941fb8938310cc32d216eb01e19277175223b8b1fe1bfd606bde9a3c8bc66ad2e494fb87ce23b0d1acd359c375e4a11a5caae25450c11360
DIST python-gentoo-patches-3.12.6.tar.xz 6048 BLAKE2B 577032d7aa4bab423781bffad8e64f56b492dc31fbd20acd91f3d28356bd697603dfd47a3a9051538dde2af942ae513727ecea415d82f5082a992bd22b8cb2dd SHA512 6f1037e97bb362a3d04c3ec080dc062c5de6e4b779cda0d88f684422d757acd6fc6f971c7004a3f50bbc0161dd28c3146672f74e0e598066f9a8ba4e0eb2627e
+DIST python-gentoo-patches-3.12.6_p2.tar.xz 8144 BLAKE2B 2f36ce972e0b3e2884c9df629e3aeb1af05e4c77dffb866ff28e08a0a7df3c7cf36a9de250d148d909c07fd5bad483c95b3267818657c04e7d0d6fe512e21f9a SHA512 caa86c6cf693f9293b3aa8944452d117b78c1c3f8d6a6aa658cb5c2d2ffb0cecc6cf14b293872bd2101766ee7167ba88183904b2814090f8cbc64c1fa3b771be
DIST python-gentoo-patches-3.13.0rc1_p3.tar.xz 15148 BLAKE2B 668060644372e8ddf2d9686796ec304ae7689f5c10ecbc6862f054f96504c418b0e4df28675e4fbb610889f9a665a7a54f23633036b0df35f19f40ef8e6bab32 SHA512 c0cbdf9e0fe2ad29175302e548ebfda1d2af42af0ffeb363eb8b0dc53e1059f5abd7dcd02fd8e9eb9ba7bef2b34b7693633f0a62dc1ab933f43077feacf00fbc
DIST python-gentoo-patches-3.13.0rc2.tar.xz 5696 BLAKE2B 4e716d1d6225e811b598d029ef1dbdc413df614ef00ab8051ea697e633477a0114a3660cae037bdf4142f76c9f2efdefc25b604af11c31eb77d6d98d8f932cff SHA512 c20b53772bd7d305562657722aec70de78fffbf8ab7939f59d496e06c21b31fcd7b4a92573b1000d3bee4d90fd8b7422543f9cfdad15d60bc9a7ecf2a2259599
DIST python-gentoo-patches-3.13.0rc2_p1.tar.xz 7360 BLAKE2B be41dfc96c333ca19a4a21f0931287503094676d1eba1e9e5ae86bf07be571fb7ddaf75eab87dc2ce9364ea1861ca5307ae1b8cdbe2c6f9a1a0e351f42f0fb97 SHA512 38b8b5f5ec21d3cf02a4db43929f4dd870200bde655b9b3acd0f398ed0468f9e43996821510cebb5e01b5633afc7e6fc254b0c80062bb577a044d85e25d28ff2
EBUILD python-tests-3.10.14_p3.ebuild 1523 BLAKE2B a64635f4a2e078134c5d216b258e058d1af2af55e8817cb0eadcee7325e31df5e59208eb4158db4a6e99244fbfed6c9ae72fbd4836e7b4891092d131f09f4af0 SHA512 acb8dfd3c41f97fdaaa3cfa24c5f6a63ee44f9c19d2ee140c87d1e63643bb20c9daecd921a127425f2b33482df01a4060ec7ac49b8f49f18f883abe86cb67f84
EBUILD python-tests-3.10.15.ebuild 1607 BLAKE2B 3cb2c3ac135119c565a24e38ea96279971bacbded4eab6e96ebd7ff37fa37b2496dcf351f5482d4148d582ada4526ad7cbc42dc2cae744240c7d656217f09ee6 SHA512 04afb123f0cb96fede9ed0c898c6abe116aed2553f017b452fccd641e83c55c9518c625cee004c135d1e8d7b1c5d4ca0a8fece4731e82e4ed84ac1bea226d1e2
+EBUILD python-tests-3.10.15_p1.ebuild 1608 BLAKE2B 4aa161cbe4e4d4f28da7a2f84a1f24f0d4895975fd8ff2c5414d1c763ba5db68e1d35afc2b9b9f21a46e5417701241802407217c1e3feab3d736d4edff83f47d SHA512 a03ce88a8c4d52ecb769b146d3b293d4ac968b070692c382a7faa6561d18c1be94084fab777805a38ab3a37d516222b4b63a47b4292d3574eb1755a7db08ba26
EBUILD python-tests-3.11.10.ebuild 1593 BLAKE2B e86178d617789b795d0c71def51d5ee66e35aea915a59f89fdb0f1dcd89ab559d4ee2dd602edb5d6539c039ad741c6172eb4d6ccf6b00184abc05d50b41d8901 SHA512 a6536bfc1c0d2a2d55d4ce2aa09726cab27bc158e9ca51aef6a0522d856941f89e09ec7e39cc795b4d9ffa4b228dddf432e19212d657ae44b6e2e937059c5918
+EBUILD python-tests-3.11.10_p1.ebuild 1596 BLAKE2B 89cf396dbea15e23290d550a72aae044c5c53f48dd81526285acdb6ad423bfa2beabdde28d9ec8b69794b19c0a48b324df4052fa0741ee7bd686f12092b91a36 SHA512 92253f426abbbaa0a0fa0eedf51a51e2c18b17e40150d60a25db9fa457dcb5951cab330d4bad812341ce5be9664ecbc9688e8014b9be1d652cd88d976f29bb97
EBUILD python-tests-3.11.9_p2.ebuild 1509 BLAKE2B ac4167b1c09ce7ad912359ada649fb21a6a2c0c03142d339a93cb4626f9c12013d2b010458f25a4b92367d2c33b5baf004cb83cfa0935ae7769cb5cab7c2d9ec SHA512 41ae12386d9c6bd4a7bffcc6738319d3a390fbe1921c45746a5fc6ab25c43498f4df588d4c5a1258cb8725158ea78298fa2d2d7a1b6f5e0e492592f41279d64a
EBUILD python-tests-3.12.5_p1.ebuild 1420 BLAKE2B 92704f1963320d757fd1e753cc85069cdef4b504fc4e5a275ebd055a1da559470d12fe14645aa41cca03f89a7efc6f67a8fe1b39f9e53f0229c324f0d8582ee2 SHA512 92c37c9053cf161001f26501454888d6b608a6a47e1a5f0a1f1c6fd4e4f7bf88594e712bef7fbc30999df852741a4dcec9fca5cbbb584c71d32fecdf5792dfea
EBUILD python-tests-3.12.6.ebuild 1505 BLAKE2B 0e7889822f8a821bcba5347ba8d1a32ca9b794c1ae547a3a449ba19b4464d744656b5ab872f01d51e2413208cf4e1f5f119f50f36c67eea9b069fff3c2675a3f SHA512 0f9168bdc7ea148a49d20e0514ad469506e051cdfdaf1fe2ea1109d9ffff68a91a400191b807b71b0b30a16b0ed38d617af037c4ba402890e9f532735bad7e4e
+EBUILD python-tests-3.12.6_p2.ebuild 1506 BLAKE2B 303f4aeec330d08e1a08ffc961b19c782e90ce76877c41d76c7f5848d357a7511ae02b9ff1ba5b1f5d1d81e4b7d4e5f1379e6c4fca4bdd0df45d092ecbcb6c70 SHA512 91b522e6ae42b1dccb7f5da2225961e5bb3d591b8e0465a01fb52f0fc8a77b87faa183e63501ae8a90a8b2e80d424b306325d9118fcd4c0a4219e21d599fc9a8
EBUILD python-tests-3.13.0_rc1_p3.ebuild 1426 BLAKE2B c30aea2c2cd004f6fac36aff8cb6a328c37565f0125c1034b8050189764f26201238651d4cc9af3dec8716084cceff0014ebe72b4a22d7a5a26bb252c4b7b2de SHA512 6f7f79d82f030459a75bbaeb92ec5d1b55e7b6617450b02db1ef6f51fb7468a9a9bb449d8e70f8efc6cb5a4f34d4aabd4d1191030adf67e4478341a0307ca632
EBUILD python-tests-3.13.0_rc2.ebuild 1516 BLAKE2B ef7ae9677e2d4d56e2f6dfcd57d7f3cc35882a53bddb994a80ae294de92c206a96599e15e558f7dfe304a3e50138625d9212a2b185935f8dc774b775120cc770 SHA512 e420d4e082fa6e907bf01d38710f256621865ea331781733760a43a04b9714c5a2460767586dfed1fb034f55931fbbb87bdb3439d9b47cc1b455b016395f0bff
EBUILD python-tests-3.13.0_rc2_p1.ebuild 1516 BLAKE2B ef7ae9677e2d4d56e2f6dfcd57d7f3cc35882a53bddb994a80ae294de92c206a96599e15e558f7dfe304a3e50138625d9212a2b185935f8dc774b775120cc770 SHA512 e420d4e082fa6e907bf01d38710f256621865ea331781733760a43a04b9714c5a2460767586dfed1fb034f55931fbbb87bdb3439d9b47cc1b455b016395f0bff
diff --git a/dev-python/python-tests/python-tests-3.10.15_p1.ebuild b/dev-python/python-tests/python-tests-3.10.15_p1.ebuild
new file mode 100644
index 000000000000..362bba74680a
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.10.15_p1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_10 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.10.14_p3-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ sqlite3/test ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.11.10_p1.ebuild b/dev-python/python-tests/python-tests-3.11.10_p1.ebuild
new file mode 100644
index 000000000000..4b31192c8045
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.11.10_p1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_11 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.11.9_p2-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ local dirs=(
+ ctypes/test distutils/tests idlelib/idle_test lib2to3/tests
+ ./test tkinter/test unittest/test
+ )
+ local dir
+ for dir in "${dirs[@]}"; do
+ python_moduleinto "/usr/lib/python${PYVER}/${dir%/*}"
+ python_domodule "${dir}"
+ done
+}
diff --git a/dev-python/python-tests/python-tests-3.12.6_p2.ebuild b/dev-python/python-tests/python-tests-3.12.6_p2.ebuild
new file mode 100644
index 000000000000..54ef97b1b85b
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.12.6_p2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_12 )
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+ !<dev-lang/python-3.12.5_p1-r1:${PYVER}
+"
+BDEPEND="
+ ${RDEPEND}
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index a2c8e5c3bccf..ecc4f3349d5e 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1,5 +1,7 @@
DIST SimSIMD-5.3.0.gh.tar.gz 158052 BLAKE2B 31ef8c66812a53ddeac612dc990ae2181a339369522eb459c9e792641aef3484521352c514fa90795608595ce73b3f7bfe160cf86f318d6910e9544b75d94df4 SHA512 2e8e3e3f00897b3866bc9ee649c060ac3c891365a76be22d6f4c2a9e40755f37be93d713598d18019acf0f5129fab6dadfa68b7b1cbef90c77a9cd60ec18ec4d
DIST SimSIMD-5.4.0.gh.tar.gz 160232 BLAKE2B 06b3af449a6992d5203f15be1a3edf67e1d6299012d399a09a5e2e3cdf82a4e20706f5d5eebfc2450eb415f9d1bf20550fe2c6a54da1bac33e7d5e22f199893d SHA512 cb1d190218dc86cc39f6343ebd7d396006d5d97eeba3f6eabac8c17bbbe9903e8e215d9968e9c3be35af475dc14579e746183216e56fa94118dc4d6e6adc17a1
+DIST SimSIMD-5.4.1.gh.tar.gz 161087 BLAKE2B 83a413ba7a938ada5a50706bef4c211c4d5cdd160962dd55d8ffd9861144ec7844639a9343a368e83e987906618cde15f8850fa314408dc0db5acf77d961a933 SHA512 b4c0150d0a679f6ff5eb7d0a8816f713f9d72a4cbc5e230d9553584283deba2090d13ececddda22a8242d1923ca4f3771b3bea60e3dc40b77c546197d0d1ce6a
EBUILD simsimd-5.3.0.ebuild 1263 BLAKE2B 2de5583814fbddc5e4837b331ca03296e0d960b997ef03c63cd99174db3863642384fd7c0f1dcd32036c292026bf51947c2de186f67b2775986168e094565d89 SHA512 3da85a757c8e542dbdbae0d46f6aea998a975be97b510849226dfe7004282b7391487178827a941ad24cb3d22499539fc88eae4324a95df0dd69be19a3cf12e9
EBUILD simsimd-5.4.0.ebuild 1263 BLAKE2B 2de5583814fbddc5e4837b331ca03296e0d960b997ef03c63cd99174db3863642384fd7c0f1dcd32036c292026bf51947c2de186f67b2775986168e094565d89 SHA512 3da85a757c8e542dbdbae0d46f6aea998a975be97b510849226dfe7004282b7391487178827a941ad24cb3d22499539fc88eae4324a95df0dd69be19a3cf12e9
+EBUILD simsimd-5.4.1.ebuild 1263 BLAKE2B 2de5583814fbddc5e4837b331ca03296e0d960b997ef03c63cd99174db3863642384fd7c0f1dcd32036c292026bf51947c2de186f67b2775986168e094565d89 SHA512 3da85a757c8e542dbdbae0d46f6aea998a975be97b510849226dfe7004282b7391487178827a941ad24cb3d22499539fc88eae4324a95df0dd69be19a3cf12e9
MISC metadata.xml 349 BLAKE2B 363881beeefbf65de7e0ab30fe5da642deefc0bbe2aeef0b4c3395a3c570f1043cb3d5e08927536a48597a44d447ff4853a5b15fffa65bbea5533377b0d6e413 SHA512 75756bd2cfb9adbdc59a2f4e3ed29c7d5daf53f427da661a9dbe6b3746ccb8ca031f650a7e505ef817b13c231cb725ca1e6eeb490be39b29e2883ca7d52f0368
diff --git a/dev-python/simsimd/simsimd-5.4.1.ebuild b/dev-python/simsimd/simsimd-5.4.1.ebuild
new file mode 100644
index 000000000000..633192d3f2c5
--- /dev/null
+++ b/dev-python/simsimd/simsimd-5.4.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 toolchain-funcs
+
+MY_P=SimSIMD-${PV}
+DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
+HOMEPAGE="
+ https://github.com/ashvardanian/SimSIMD/
+ https://pypi.org/project/simsimd/
+"
+# no sdist, as of 4.3.1
+# https://github.com/ashvardanian/SimSIMD/issues/113
+SRC_URI="
+ https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-repeat[${PYTHON_USEDEP}]
+ dev-python/tabulate[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+src_prepare() {
+ sed -i -e '/-O3/d' setup.py || die
+ if ! use openmp; then
+ sed -i -e '/-fopenmp/d' setup.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p repeat python/test.py
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 69fe28746b12..cba855ae03ca 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -19,11 +19,8 @@ DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d7
DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
-DIST sqlglot-25.20.1.tar.gz 19429085 BLAKE2B 65162c038fc19fe28e6cbd278d963477f5726967290d832e4e3bfad3ed2e2a38fa99aa08a0d6da31e924aa194473e5528b9566f6a34ac680d2e4483d69004f3f SHA512 9be8eae145a62723e83b2d2143578589d97ead26ccfd2e339f1de18d44fb808e6a9dca86bca5804f2d721bec586c0a7a31c56342a35c28cfd679990afd1f4e54
-DIST sqlglot-25.21.0.tar.gz 19431993 BLAKE2B 43fb5883e12f223d7d62d61b79b101baeba6449187463fa09fa18ed1a54d24cfdcb7684a0d8182c74ea632a6b6e6bcb1ac3037115a1309687b5f6970c649b72f SHA512 2a6e785eb6f0e5aca7fb09988156eda2681ea233094df4d9a99af900a53ebb26ef804c4de59f7f7a7cbb1ed12afb6d7123fb228690cf41937baa509317ba15c3
-DIST sqlglot-25.21.1.tar.gz 19444895 BLAKE2B 74e8ee2945e5bd113be3f16146893f9a00b07c62256cb2795044be157570620e229690eb5cab72404d485b7cbf281309a6aa60e45491f6e333ca47d0900e4471 SHA512 fa9eb6280fabce96fe40945ed89df3414ba203540f71083952afa6a53ee26c90eefd4a29d9a026a2fe96edcfa7f5fcb7d570815c02d2d21161598838b1d7ff6f
-DIST sqlglot-25.21.2.tar.gz 19443387 BLAKE2B 664f6d2a6d45a1313a6f047d4f86c69e265c3071a49fe4e6d8a19df4ecc8698491737c5d24ddb336064c6c6ba0bee7839a698f15584730881c206eeef9393f48 SHA512 e0b7d28ebf7504d066258ea14dd150961c7f415a1835f45b9606710839a6ebb710c74638af55ee51ba9ff7316ae9eef9447edd6bd07afc480af29c469ca119b8
DIST sqlglot-25.21.3.tar.gz 19444383 BLAKE2B accc37e7fc817e94b33a5bf3139637c8df132259375b42fcafce051ff9aa85631a0e5d677ce21e439d38ee90425187da45bdf4641a3d80a300d8743827b85180 SHA512 87d96a29c266f81c2a114a1ba4d8bfe221cc406c8994c77f0a3e49a91351e4ce97882d625a55cef891aa5786342a255c13ca5fddf9d613bd9f0d3516c3f65b8a
+DIST sqlglot-25.22.0.tar.gz 19446848 BLAKE2B 08aa7131eae11d87df55957744b771a2f8d6529cd8cc246207a919ce044beb7fa7f49f0d51747209da57f6f703465d0b447dc74a13c6ebf6591c13b654ea25f6 SHA512 27d87e1222092139b3c4c2c3d0a28c6ad1addec743ac4aba9ae8554ece3ed56c82e6a912b1fd804f730eb67d08eeff194e7b081b12b69c69ac23ddc9129ef9c4
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
@@ -36,9 +33,6 @@ DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1d
DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
-EBUILD sqlglot-25.20.1.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
-EBUILD sqlglot-25.21.0.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
-EBUILD sqlglot-25.21.1.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
-EBUILD sqlglot-25.21.2.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
EBUILD sqlglot-25.21.3.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
+EBUILD sqlglot-25.22.0.ebuild 2817 BLAKE2B cf3d2e32dc5f98fbba79487c4d6c8d31ea7f611b3226c0f3ef4cd415b6e0d425ac9cd7e6b92df12f9640b8983bb419f399b1f766a90a15183659a5a572517a04 SHA512 1ba127adea3b9d677c02fbc559dab225a8f6d37f065d61420bc89fbc74a163603360c5198f0fdc3ee319ced2bb878e7ecd24b442169f3a14cd95921475201342
MISC metadata.xml 611 BLAKE2B 10bf684677182565c9932d51ed9b3b9c80d376d6db945bd7b0dd0d9a19a85dc0d10cb169ff2048ae5f7f73d0f438d259b6231c13c525b5374ec99377f4ffdd10 SHA512 2b26d0f77962807052b94ad78addcfdce9859042af3be34df267dc6e70b6231dd779563935fd21955cd8646fd0cce3fee8c939387ac8056194a0b777743dd2ae
diff --git a/dev-python/sqlglot/sqlglot-25.21.0.ebuild b/dev-python/sqlglot/sqlglot-25.21.0.ebuild
deleted file mode 100644
index 456b6e98cfce..000000000000
--- a/dev-python/sqlglot/sqlglot-25.21.0.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # timing, sigh
- # https://github.com/tobymao/sqlglot/issues/3961
- tests/test_generator.py::TestGenerator::test_generate_nested_binary
- )
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-25.21.1.ebuild b/dev-python/sqlglot/sqlglot-25.21.1.ebuild
deleted file mode 100644
index 456b6e98cfce..000000000000
--- a/dev-python/sqlglot/sqlglot-25.21.1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # timing, sigh
- # https://github.com/tobymao/sqlglot/issues/3961
- tests/test_generator.py::TestGenerator::test_generate_nested_binary
- )
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-25.21.2.ebuild b/dev-python/sqlglot/sqlglot-25.21.2.ebuild
deleted file mode 100644
index 456b6e98cfce..000000000000
--- a/dev-python/sqlglot/sqlglot-25.21.2.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # timing, sigh
- # https://github.com/tobymao/sqlglot/issues/3961
- tests/test_generator.py::TestGenerator::test_generate_nested_binary
- )
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-25.20.1.ebuild b/dev-python/sqlglot/sqlglot-25.22.0.ebuild
index 456b6e98cfce..456b6e98cfce 100644
--- a/dev-python/sqlglot/sqlglot-25.20.1.ebuild
+++ b/dev-python/sqlglot/sqlglot-25.22.0.ebuild
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 94d17f9facd2..5b4cc21f0b2c 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1,7 +1,9 @@
DIST tox-4.18.0.tar.gz 180782 BLAKE2B dc9832ad75c3e8564317bd618fa644ff2f393e507d7ff03292f65f0b10884d010708820768b6acd403783fd78868eddedb1ce931280d1e06e8d83214d85d4879 SHA512 4934b6d9406cc4500e75da76157ceb2dd9d7d0fd5e803fcd2c2bc9b5d2837678eead5af21dd6eb82ae7fe04c90aef78cc3db445daeed194a444ad88687ec1eeb
DIST tox-4.18.1.tar.gz 181159 BLAKE2B db9b2233363b6214b1c0bae2c0319b72a7ef4a7f833628833fecb7a8d04eef0594f1a93e17f8273d45873c2130e96b7adad8afe69662cb8fe37251028ba1581f SHA512 289ee3e8b7c941dbeb94adea24442169b33cfe3ae2c4d6eadd12974ee01488325d05beb92cc3b3d5aa1f795f9d3ffe65ed3da81bc62b0527edf56f5ddb9ceb32
DIST tox-4.19.0.tar.gz 181219 BLAKE2B fd20fcce2b0cf59b572feb1c206b1d8188dcd8eafcb2c31b6c48d982badddb20bd4afa7eb0647e2dc4f2fec47da95e27b1cd870ec14e12e513da0202755ae722 SHA512 46b34524c48ac4e1d906633c8f1fb6da81d26a110638b24e95b97973ef7a17a0412dad584f4e8e9dbd01c5fde3ebd48053caad9bdbc07c1a5a4d17a0c16a34be
+DIST tox-4.20.0.tar.gz 181364 BLAKE2B 2651bb2a7eff09764b7288c0640d44031f2074f8c1c41aaf18989cdc3b8828d6b91f90b131a11b31ed01c4819524aedd4acedb56da2716eb5e3e607a8d5f1bf2 SHA512 c4b9a03a62c7d1993a8b027cd2f8f22fc033fa802176f20b0daeda84d528c5e8618ae9781f04c3d8820d9f49c5786d56b96dd596e95e489ac372631d61425616
EBUILD tox-4.18.0.ebuild 3011 BLAKE2B f291424f9c1e8963f127abc830d7fb316f3c785f85c0e08faf784c40e98f84e1a73712ed90a8847e698d916cc4fe872069bc12492b1ea36bb68c6080de0c9b07 SHA512 daa45e28c520a0b9bccedb1f86f642169042911a68e47ed1f8c835121932c68f159aacd768a11df4da0783d348162b848d5949f433942250548d79730468c87f
EBUILD tox-4.18.1.ebuild 3019 BLAKE2B 2ddcfa08fce2dcaa4a3473a159d1d509be5589a2ddd79bdd6a330c820c959019728d7845e0ca46dcc89c0e3dcb96f5ec4791ef27f541f82ee27e747034dc4815 SHA512 c9294e85a911f25222863fbd240839780222b77e0442bb29be977fd35c4685d3e086151cae339df55a967812609e63fa2d86d241d15c8dbb885e83221d8c9998
EBUILD tox-4.19.0.ebuild 3019 BLAKE2B 2ddcfa08fce2dcaa4a3473a159d1d509be5589a2ddd79bdd6a330c820c959019728d7845e0ca46dcc89c0e3dcb96f5ec4791ef27f541f82ee27e747034dc4815 SHA512 c9294e85a911f25222863fbd240839780222b77e0442bb29be977fd35c4685d3e086151cae339df55a967812609e63fa2d86d241d15c8dbb885e83221d8c9998
+EBUILD tox-4.20.0.ebuild 3019 BLAKE2B 2ddcfa08fce2dcaa4a3473a159d1d509be5589a2ddd79bdd6a330c820c959019728d7845e0ca46dcc89c0e3dcb96f5ec4791ef27f541f82ee27e747034dc4815 SHA512 c9294e85a911f25222863fbd240839780222b77e0442bb29be977fd35c4685d3e086151cae339df55a967812609e63fa2d86d241d15c8dbb885e83221d8c9998
MISC metadata.xml 382 BLAKE2B 7c0704c5c187ce4a7972fe0372b23c5537a81a8d62fd83436d9558a61761f10764adb5a4d5f6795f0dd1fe905afa604c0be77fe1d48d291847f6ae65dc1b032c SHA512 9d0ced4df9352a81034a50d5766a01534ae8fa889985d99cc9e2a8d0889e31c6c11550677d9a5a74e2aab57c320192ce3a42708a6d23b0419ee34a6054398344
diff --git a/dev-python/tox/tox-4.20.0.ebuild b/dev-python/tox/tox-4.20.0.ebuild
new file mode 100644
index 000000000000..9c69f24759e4
--- /dev/null
+++ b/dev-python/tox/tox-4.20.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/tox-dev/tox/issues/3290
+ 'tests/config/loader/test_str_convert.py::test_str_convert_ok_py39[1,2-value1-Optional]'
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/treq/Manifest b/dev-python/treq/Manifest
index 3e1a65e2f101..829711a34561 100644
--- a/dev-python/treq/Manifest
+++ b/dev-python/treq/Manifest
@@ -1,3 +1,5 @@
DIST treq-23.11.0.tar.gz 74450 BLAKE2B 0e10b070e1623b1aaaaf8ce53c98d29a44e9e5e76a84d6004e21cac74564cbb4b22c4015b4d999967ee519f6356016d3cb3fd8304df68967ec46dd2c1005d3ee SHA512 bf62373f51a0552e040a628c86fe0f8d136ab5dfefaa2fa46d9ab173a58c20c0211f94370561e07fafb7da87140e88c10cf336ff7a61e5b3fc1a47fd1193cc27
+DIST treq-24.9.1.tar.gz 85614 BLAKE2B cce700ae1f18b7e97953c45cb835786655caf47a0e425944e58f94c76a33c5948920c38f89283f50b51624f365326045d6ebb163c86644069f5bf548e137b9c0 SHA512 b8ed6ed5262073559babe8d0413a1f5369215a41ac7459441172a9086c654cf1dc7e51a0497d4c714726ae02d2163760cddde7008e360f37ebb4586b82409bb8
EBUILD treq-23.11.0.ebuild 1148 BLAKE2B 8b727594996a9b8763077710425b0a4a0912d7ee5b292a0ee47a54541ec3e927e048542af441f6e749b60c6679a8951689ef3c86a02a35b2157fc614937d8a7a SHA512 7f4f2704db2ce33388859b8779ccb52db47273dd56e5e80321532381c9d6a7b44e3a04f8f174311031b7db326a6e64dfd86f63e0a43e70dee64577d97afbd3c2
+EBUILD treq-24.9.1.ebuild 1130 BLAKE2B ca60ffa360032e2a93f64c21cc9fc6fea7ba953f19b6d212429cd78faa5447737707616658b33fdb3cf4f0f4eea3fb8627f285a6a7b5397360b4728292ace085 SHA512 36f54ea499a4ee79a0d1bae7b34178073151f9f8c77a92ee291318618f840b809041da3ec06541dc731181c1e762a00aa16f076c7bd09c54c29d71eda6424269
MISC metadata.xml 675 BLAKE2B 503b618157c565652f3fcd2a4fc7b2a6fe7e4208e965b956ee166f3d682f0b7e2865f88f7b9c3227a55cb67ca4f21d61b11e6194d4f1e336abc8a9e6471e99c2 SHA512 a09304f23b2934c596ba809a93146be20f493d3326b9ac54c846654f7439218caa04f7b138efc8002061611336aac8be3747e3407ef67d1af640a64e07ebeb4f
diff --git a/dev-python/treq/treq-24.9.1.ebuild b/dev-python/treq/treq-24.9.1.ebuild
new file mode 100644
index 000000000000..2d0bf675d2cf
--- /dev/null
+++ b/dev-python/treq/treq-24.9.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A requests-like API built on top of twisted.web's Agent"
+HOMEPAGE="
+ https://github.com/twisted/treq/
+ https://pypi.org/project/treq/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
+ dev-python/incremental[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18.7.0[ssl(-),${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/incremental[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httpbin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+src_prepare() {
+ # fix relative path for docs generation
+ sed -e 's@("..")@("../src")@' -i docs/conf.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial treq || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/uvloop/Manifest b/dev-python/uvloop/Manifest
index b34cf8b8a4b2..0ead19923c2e 100644
--- a/dev-python/uvloop/Manifest
+++ b/dev-python/uvloop/Manifest
@@ -1,4 +1,6 @@
DIST uvloop-0.19.0-cython3.patch.xz 6352 BLAKE2B 4a7056299d3d430ce5b6986d43ba4f20726ae4f9635042a43e2995ea373ed53ddce6af2eaa32202f81f80a27bd1d814e635a6be091b5f751bcf6825fd2c8e88a SHA512 aeda541f1327860d23b31ffda9923270a56a8311ec86b06f3bd653478bff591372106e8848af5229e3ad298e950b4c3a728ab4dd9056219b8afe55f5dd58ee3d
DIST uvloop-0.20.0.tar.gz 2329938 BLAKE2B c9f230b16227bc98c071e060c98b4920d919c732f20237aedb3af9eb0b21d224bcdd6bd10c77ad45d24c64c70fb7e0d3ccde6d1eb90c67c33c1671bacad2a3b0 SHA512 9597f66e735b039b3eb6ad9ae3a1e58e710e6ba38b9131384befde15795f2a5fde7d5724af0e6f4e6c335fa14605dde5d28256f05b1e36c706e851fbe3ccb46c
+DIST uvloop-0.21.0b1.tar.gz 2492824 BLAKE2B aa9b07ca6f95020e22384e848abc137e1b7fd95092b01e41471a620c4614a48f64fb1031b6f6842a62dcdf2c727c1849421bbfc862e1eb0bbb84173668cd2f07 SHA512 ae0caf4c79102ad12d0b1bedf4ec64929ad15a281908fbb336f806fa35194838ce14993e49d569b53e4aa8824e51a5a5a7156f938111ec4d2e0f1319db72b415
EBUILD uvloop-0.20.0.ebuild 2033 BLAKE2B 81c7a8df786a90ce2916de815784c30d39cc5f048efd339a76684a0e554034eb17bbb31e767a6ebc1d9ef1e3cda00986581bc32745624140e76b5eafb41072d8 SHA512 95318d636b597ea33f86f231239de13f44cf763e8260fdbfcc7a2486f08d35a3f9606e3f9e11e7d502ea89194c4368fa68fb210f714a1d7127f58a001b6a471c
+EBUILD uvloop-0.21.0_beta1.ebuild 1923 BLAKE2B 431c4591622138fad11b3c8763e9c883d6b8497a1bc8b0fc1e7f01b531d0d1934c7854584e8017907d43a9c11b8a27553f12694729dd20f9bc12cb6ad8d6c373 SHA512 44fc25b2bf36f30eccddc05998ae70368a6220ed5b90f493823e0cd79c43a4f3fcdde90f12035b273636105f1aa73becf73841dea0e2fa4ed8ba6ffa3c2d5e42
MISC metadata.xml 527 BLAKE2B 2db44bdfb681fcce35ef35f13155293ac3fdffa12a695b654ed8acc608cf1f769243136e66b6b2c1afd57caa7e59a66a60d34631c37a4b98a474bd0635fcbaa3 SHA512 02540835a23405c467293395fa7984741e02ca1aca75f527edd3b988d307b41db0f729d5cc0b3a826a652fb7104dec7be86a9a57f4d5646d2af87255cc2d90de
diff --git a/dev-python/uvloop/uvloop-0.21.0_beta1.ebuild b/dev-python/uvloop/uvloop-0.21.0_beta1.ebuild
new file mode 100644
index 000000000000..125f4a5d40c3
--- /dev/null
+++ b/dev-python/uvloop/uvloop-0.21.0_beta1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
+HOMEPAGE="
+ https://github.com/magicstack/uvloop/
+ https://pypi.org/project/uvloop/
+"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.19.0-cython3.patch.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 -riscv ~sparc ~x86"
+IUSE="examples"
+
+DEPEND="
+ >=dev-libs/libuv-1.11.0:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/aiohttp-3.10.5[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ rm -r vendor || die
+ cat <<-EOF >> setup.cfg || die
+ [build_ext]
+ use_system_libuv=True
+ cython_always=True
+ EOF
+
+ # force cythonization
+ rm uvloop/loop.c || die
+
+ distutils-r1_python_prepare_all
+
+ # don't append -O2... however, it's not splitting args correctly,
+ # so let's pass something safe
+ export UVLOOP_OPT_CFLAGS=-Wall
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_IGNORE=(
+ # linting
+ tests/test_sourcecode.py
+ )
+ local EPYTEST_DESELECT=(
+ # unhappy about sandbox injecting its envvars
+ tests/test_process.py::Test_UV_Process::test_process_env_2
+ tests/test_process.py::Test_AIO_Process::test_process_env_2
+ # crashes on assertion
+ # https://github.com/MagicStack/uvloop/issues/574
+ tests/test_cython.py::TestCythonIntegration::test_cython_coro_is_coroutine
+ # Internet
+ tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_{8,9}
+ )
+
+ rm -rf uvloop || die
+ epytest -s
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}