summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-10 07:05:24 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-10 07:05:24 +0000
commit94369dce76d1a92fe994b66518b3bbc960139a0a (patch)
tree177314f632de15c26bb809c8e0c4f9ef6894b7c8 /dev-python
parent05721e6f071556f729258b3f5096dcfaa938830c (diff)
downloadbaldeagleos-repo-94369dce76d1a92fe994b66518b3bbc960139a0a.tar.gz
baldeagleos-repo-94369dce76d1a92fe994b66518b3bbc960139a0a.tar.xz
baldeagleos-repo-94369dce76d1a92fe994b66518b3bbc960139a0a.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.37.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.37.ebuild67
-rw-r--r--dev-python/cbor2/Manifest1
-rw-r--r--dev-python/cbor2/cbor2-5.6.5.ebuild46
-rw-r--r--dev-python/charset-normalizer/Manifest1
-rw-r--r--dev-python/charset-normalizer/charset-normalizer-3.4.0.ebuild27
-rw-r--r--dev-python/coverage/Manifest1
-rw-r--r--dev-python/coverage/coverage-7.6.2.ebuild102
-rw-r--r--dev-python/distlib/Manifest1
-rw-r--r--dev-python/distlib/distlib-0.3.9.ebuild56
-rw-r--r--dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py25
-rw-r--r--dev-python/elastic-transport/Manifest1
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.15.1.ebuild67
-rw-r--r--dev-python/findimports/Manifest1
-rw-r--r--dev-python/findimports/findimports-2.5.1.ebuild27
-rw-r--r--dev-python/google-api-core/Manifest1
-rw-r--r--dev-python/google-api-core/google-api-core-2.21.0.ebuild64
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.149.0.ebuild50
-rw-r--r--dev-python/hcloud/Manifest1
-rw-r--r--dev-python/hcloud/hcloud-2.3.0.ebuild49
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.114.0.ebuild103
-rw-r--r--dev-python/immutables/Manifest1
-rw-r--r--dev-python/immutables/immutables-0.21.ebuild50
-rw-r--r--dev-python/lxml-html-clean/Manifest1
-rw-r--r--dev-python/lxml-html-clean/lxml-html-clean-0.3.1.ebuild31
-rw-r--r--dev-python/markdown2/Manifest1
-rw-r--r--dev-python/markdown2/markdown2-2.5.1.ebuild31
-rw-r--r--dev-python/moto/Manifest1
-rw-r--r--dev-python/moto/moto-5.0.13-r1.ebuild201
-rw-r--r--dev-python/nox/Manifest1
-rw-r--r--dev-python/nox/nox-2024.10.09.ebuild69
-rw-r--r--dev-python/sh/Manifest1
-rw-r--r--dev-python/sh/sh-2.1.0.ebuild26
-rw-r--r--dev-python/simsimd/Manifest2
-rw-r--r--dev-python/simsimd/simsimd-5.6.4.ebuild (renamed from dev-python/simsimd/simsimd-5.4.4.ebuild)0
-rw-r--r--dev-python/sphinx-gallery/Manifest1
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.18.0.ebuild51
-rw-r--r--dev-python/sphinx-rtd-theme/Manifest1
-rw-r--r--dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.1.ebuild42
-rw-r--r--dev-python/uvicorn/Manifest1
-rw-r--r--dev-python/uvicorn/uvicorn-0.31.1.ebuild75
-rw-r--r--dev-python/xmltodict/Manifest1
-rw-r--r--dev-python/xmltodict/xmltodict-0.14.1.ebuild21
47 files changed, 1154 insertions, 203 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 73be27de8782..8eed562e0349 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -7,3 +7,4 @@ DIST boto3-1.35.33.gh.tar.gz 869945 BLAKE2B dfff3fe81c88f6bb971ad832559974d54e2e
DIST boto3-1.35.34.gh.tar.gz 870029 BLAKE2B 5cd9cfa0a742b8d01a6229183c3545945bb5ac89aa5b469123fcfda8a1dc3c0b505bad00a28cd6f48d14526a069d6206151d5482529ce1e35fe16f5f8180753a SHA512 6488c9dd37886bd500d09c4eef51b50c70e4d8cb2e796caec0b5fd57bb67df0663845f0fbf8507ad0d133759d1a83ac720a0bcbd703624383d1cddeb7dd92d1a
DIST boto3-1.35.35.gh.tar.gz 870230 BLAKE2B 00f8272dc5f184ace7fd38921a1b131d2154452951a0fa5170a1eeb8aab0d0c61d69836053fefd19ac6808d2c50ac2505b76ec9088761aadf8ed9509115bfb13 SHA512 9f7bebc232754f21fe1fcc4d8536ce39ab00d0fd0cd5560d256250b8efc8d60f8183825b67f90db0a8dd31ea48073d84b508acddaaf03cb68c98c9ecb0a92b23
DIST boto3-1.35.36.gh.tar.gz 870548 BLAKE2B b61e5f2ebbce178584d1b7d8e185c13f4536ad4615fdc242fc8ec1faeeeff4b95594c14f89c1b1cb2047fcc25f8b31c84a70b2fe056d10968ceeaaca08109a41 SHA512 a7ed7f87a5963cc6c6a52329765925afc9a7270b7cabf6f5f5aacc7ee42e031dba835f5d4f4aad1a5c06055b714b5ec1965986715ddf0b75994941962e25d460
+DIST boto3-1.35.37.gh.tar.gz 870622 BLAKE2B 488022f367677230defe90cdef0716fc1a2dfd97f5a60a24dd86e6c02bd487f9bb4b6aa14f12add60393598e5804a2ad72a774e4b6460c28eee54cf227c235f6 SHA512 77919ac52f928473a64ad71c6467a2d976a4c276535e6ada9ce2cab0c1f2a87baec5516cb4a5777bb4b5a10b1cf4102a417ebbf32170127a5def638e2dc163ac
diff --git a/dev-python/boto3/boto3-1.35.37.ebuild b/dev-python/boto3/boto3-1.35.37.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.37.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_{9,10,11,12,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 17f64e177d63..6d7d9ded2af3 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -7,3 +7,4 @@ DIST botocore-1.35.33.gh.tar.gz 13432128 BLAKE2B 363eb3dd1f819294ff099a9af0a8dec
DIST botocore-1.35.34.gh.tar.gz 13432167 BLAKE2B b39c70faa7312fecc748286162c3b3f21ed56ba705d0f8385a157c25d3d25ceb2d3ca7fb8234372600e5738bc7dd562e67368a863b4853da890009af6fff75ae SHA512 116a5698b1a9e60ea47adb1fe51148c0a5025e8ce940bf5b5c8009e77ea0cc850febc45df9581dda0e2238f2d42f6b8afd674d80e11d88047719874b5cb63198
DIST botocore-1.35.35.gh.tar.gz 13440561 BLAKE2B 7dedca0fa7e492279f1bc138c7cd4d71a302853d311441f57520bde7643c3f47d7c6952d69f0ac9591f6e639cb22986414a01df626c022dc2c8a84d98804160a SHA512 670301f0a56b6c610d9ace6d36b36f14b62aa74daab3087d2ce24370d27485de17928386a5319f4f4483f88096e2e1f8e71923918511649e20535fe88c1b5b42
DIST botocore-1.35.36.gh.tar.gz 13442036 BLAKE2B 44f999e07f8296295e0c9d90a268ef59ac2c3d5a0cf3049bc978a0000418908f876ece8f3ccc52c4b3826a305b76f932df227bbdee8cf144da5990f31afb8e16 SHA512 8c9894f32d26dbd38ddeee8b02ef5948404fcbf41601dd8c426940dade3a3ed6674778b1299a32e2a3c699676016de1d8df5aaa186452438d256256d38ae7286
+DIST botocore-1.35.37.gh.tar.gz 13441841 BLAKE2B 69b7f4981080b48632e44037988c90683e11d559ee9496a7f4930d7cb632ac6aedfdbcdca8ac56462ec19c65937c187ac6fa9a647d26c84ac09b3d79237cb294 SHA512 84a2240ca369060fa7837c95117bd91ce6c4914f8fd153da46a8c4f42bd7b5b837277624e22d350bc2bb476b57e355afb4545a46568ce3c6ad947592bcc55620
diff --git a/dev-python/botocore/botocore-1.35.37.ebuild b/dev-python/botocore/botocore-1.35.37.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.37.ebuild
@@ -0,0 +1,67 @@
+# 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_{9,10,11,12,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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cbor2/Manifest b/dev-python/cbor2/Manifest
index 016c6e760bbd..8391c43e3aa9 100644
--- a/dev-python/cbor2/Manifest
+++ b/dev-python/cbor2/Manifest
@@ -1 +1,2 @@
DIST cbor2-5.6.4.tar.gz 100865 BLAKE2B e15227a5ff802f41c488fc410ee495a7b1b986cdca42f84926b525ec9d7110aae851f0da8278d630360462793a15733662b19663aa04acc470b7a6b0ad1c2f4e SHA512 794a7b646d7672c8cae9b2fe14e817812dc2afef46664f9be810258fcd1cab132dd28f3d05a036bd188aa510ebf44972f8f175b9acb6eec7339aebe608544b2c
+DIST cbor2-5.6.5.tar.gz 100886 BLAKE2B cb929f7d5389e572008d0c494f3ca13c6c62638366286a64ef8432a683b58f8e92805cd1c68543ae14d9f8ce178542efae2884237d5d00ac12a86ffb598df5d6 SHA512 9c3fc14b579e8c687b3e955452fcf9056fcfcce8ebe72b89c7d6e74e0ba5a29e0a61a225bbb6040f73285dfcc9f3bb37758badbbf45bd723ead8ecdf7e64b685
diff --git a/dev-python/cbor2/cbor2-5.6.5.ebuild b/dev-python/cbor2/cbor2-5.6.5.ebuild
new file mode 100644
index 000000000000..0930e4339855
--- /dev/null
+++ b/dev-python/cbor2/cbor2-5.6.5.ebuild
@@ -0,0 +1,46 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python CBOR (de)serializer with extensive tag support"
+HOMEPAGE="
+ https://github.com/agronholm/cbor2/
+ https://pypi.org/project/cbor2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ >=dev-python/setuptools-61[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -i -e "s/--cov//" pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x CBOR2_BUILD_C_EXTENSION=1
+ # pypy3 not supported upstream
+ if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
+ CBOR2_BUILD_C_EXTENSION=0
+ fi
+ distutils-r1_python_compile
+}
diff --git a/dev-python/charset-normalizer/Manifest b/dev-python/charset-normalizer/Manifest
index 2daedf7adbb7..182fc3b591ef 100644
--- a/dev-python/charset-normalizer/Manifest
+++ b/dev-python/charset-normalizer/Manifest
@@ -1 +1,2 @@
DIST charset-normalizer-3.3.2.tar.gz 104809 BLAKE2B dbc3271794c7d73ee0d2ccbc5cdc3aa56181ac1331b69bd72928a20cb464f64fc190fd5f627b1deab4bba4a3c62144272e4b1368d2020707522bcae10c8a9607 SHA512 227dd9496e080310b3262fe0ffc32b5ebed16e5b3a294877555c0b04dee0cb073a2a0a4fa8dbad3029703ffaf1857acf24d9b87ca74d75fa2f0ba8fd3413e9c4
+DIST charset_normalizer-3.4.0.tar.gz 106620 BLAKE2B 52dc9a2db3d4aaf841cd464dbe95d1089fd8a8d37e3dcc518ade0a3efe7d26fee529f4f82e344971965ada09108e9b3647c9dfa3222f99cc9fc5fd6b9dd34e8e SHA512 7b7098d389bf4b181bd26037fa439abb44811ee68b01b78bfd399b4213cca7309d4878e90a0983d6aa2c550c3b9b355c8b5157fae731981f3e6e4028a911d143
diff --git a/dev-python/charset-normalizer/charset-normalizer-3.4.0.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.4.0.ebuild
new file mode 100644
index 000000000000..81568aed967f
--- /dev/null
+++ b/dev-python/charset-normalizer/charset-normalizer-3.4.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The Real First Universal Charset Detector"
+HOMEPAGE="
+ https://pypi.org/project/charset-normalizer/
+ https://github.com/jawah/charset_normalizer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index f03358207acd..6454c0c29913 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -2,3 +2,4 @@ DIST coverage-7.5.3.tar.gz 786184 BLAKE2B 014a21273bf302a7e10d3239edda1a95b99674
DIST coverage-7.5.4.tar.gz 793238 BLAKE2B a53967307ce9cbb72d89810575574a7a1358c988e5e02cfa2a982ba8e68e7efd477c2d902c2037c67f18309c54777f3422db845b7753da49ccb69855289c13de SHA512 363658864f9a5116e49bd10a45a8ceeb0bb62c70458e0c0ce7ae90f3ddea0659d67af1a35a44a47e673b256cdad8ea0963339110dabfd7031d6b98ba483f3606
DIST coverage-7.6.0.tar.gz 797590 BLAKE2B c63f022de8ace0e0ee420ecd12431104cafb9471272afd9ecb5ac0a356f065372955097c30c1128547da828ae7e20c8ea615db0fcc31c2ddb61d5377d7c284f7 SHA512 ed27f19a17d4f231a7d28af23045fb0144a8c192cc9b31f90353f558a99a9c4159d7fab6bb5c1231aa8229b8fd56e1163cc0880c4edb3d802e6d48af062468e9
DIST coverage-7.6.1.tar.gz 798791 BLAKE2B d4af7893e8b79703757ba14b1f01d998334f602901915b9380948bbfcaabaafee2754c803123441dd4fbbb5c0af89e2d90e0d5ae67ae0afcf160580e7acd201f SHA512 ff09783b3433ea72fc3cbc133a8c76236309c68ccd768cc3a849a5cc1215fe6db22d1e619a4062abc3c4f145ec93fd16ed5405b13960485628b1624e6b8adb16
+DIST coverage-7.6.2.tar.gz 797872 BLAKE2B dee18c9199169b74693377d937e720f26ec5c08e8036e1034d7a307e8b858c21abfa586dfaf651bb824ed9db2d97201048407920880e687151b53b46eb70eae8 SHA512 6f8a32b0ec034a24298b9c7ccebee5d9b1ef3659870ef27226cf5b8f687cb675ee2a6c94e12e8082e850af4357f44e690c717ea35360e0428bd2aaeb93866e36
diff --git a/dev-python/coverage/coverage-7.6.2.ebuild b/dev-python/coverage/coverage-7.6.2.ebuild
new file mode 100644
index 000000000000..5f3cb4e3c7fe
--- /dev/null
+++ b/dev-python/coverage/coverage-7.6.2.ebuild
@@ -0,0 +1,102 @@
+# 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_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # mismatch of expected concurrency in error message
+ # TODO: report upstream?
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index ce4b0127b663..30ffef483f54 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1 +1,2 @@
DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621 SHA512 98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457
+DIST distlib-0.3.9.gh.tar.gz 1244538 BLAKE2B 08f5257f5a1125c1c76a23b9a78ded6a08f26d2f1491be9b104ab1e02a9737ae49f3750a607d3c7c744397879aeb3cd1a94a355743c95c702eec8a3cfebd70cb SHA512 d89b3ae450a02f634db10baef8d2ff445afa99cd69377f40ef07d591b4bbb2e24fff43c92eeeb93628eaee292fa1e8324eb1a842cf9401feb1f309dbb6f20a25
diff --git a/dev-python/distlib/distlib-0.3.9.ebuild b/dev-python/distlib/distlib-0.3.9.ebuild
new file mode 100644
index 000000000000..0099058cc929
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.9.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="
+ https://pypi.org/project/distlib/
+ https://github.com/pypa/distlib
+"
+SRC_URI="
+ https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# pypiserver is called as external executable
+BDEPEND="
+ test? (
+ dev-python/pypiserver
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use system pypiserver instead of bundled one
+ "${FILESDIR}"/distlib-0.3.9-system-pypiserver.py
+ )
+
+ # make sure it's not used
+ rm tests/pypi-server-standalone.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x SKIP_ONLINE=1
+ local -x PYTHONHASHSEED=0
+
+ # disable system-site-packages -- distlib has no deps, and is very
+ # fragile to packages actually installed on the system
+ sed -i -e '/system-site-packages/s:true:false:' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/bin/pyvenv.cfg" || die
+
+ "${EPYTHON}" tests/test_all.py -v -x ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py b/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py
new file mode 100644
index 000000000000..42c3557a778c
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.9-system-pypiserver.py
@@ -0,0 +1,25 @@
+diff --git a/tests/test_index.py b/tests/test_index.py
+index 95b1f05..984e241 100644
+--- a/tests/test_index.py
++++ b/tests/test_index.py
+@@ -60,11 +60,6 @@ class PackageIndexTestCase(DistlibTestCase):
+ def setUpClass(cls):
+ if cls.run_test_server:
+ cls.server = None
+- server_script = os.path.join(HERE, 'pypi-server-standalone.py')
+- if not os.path.exists(server_script):
+- logger.debug('test server not available - some tests '
+- 'will be skipped.')
+- return
+ pwdfn = os.path.join(HERE, 'passwords')
+ if not os.path.exists(pwdfn): # pragma: no cover
+ with open(pwdfn, 'w') as f:
+@@ -76,7 +71,7 @@ class PackageIndexTestCase(DistlibTestCase):
+ os.close(fd)
+ cls.sink = sink = open(cls.sinkfile, 'w')
+ cmd = [
+- sys.executable, 'pypi-server-standalone.py', '--interface', '127.0.0.1', '--port', TEST_SERVER_PORT,
++ 'pypi-server', '--interface', '127.0.0.1', '--port', TEST_SERVER_PORT,
+ '-P', 'passwords', 'packages'
+ ]
+ cls.server = subprocess.Popen(cmd, stdout=sink, stderr=sink, cwd=HERE)
diff --git a/dev-python/elastic-transport/Manifest b/dev-python/elastic-transport/Manifest
index ae9379965592..5b9a4ef41cf0 100644
--- a/dev-python/elastic-transport/Manifest
+++ b/dev-python/elastic-transport/Manifest
@@ -1 +1,2 @@
DIST elastic-transport-python-8.15.0.gh.tar.gz 76595 BLAKE2B 93330c4e1e2de407c75d34074cd3e0406df80071abc60dee99ef0da8774229f2aeee58b5811aa362a2bee1268a3dea453fdb5bc942eb728af038f6c789cd1e98 SHA512 de1182713e212635bd8536403ffd51dae0c24eba857476dafcc0374b89bf06874068b8907ceeb513068066172ea55c1a27062329441bf624459d6ef188ff66bb
+DIST elastic-transport-python-8.15.1.gh.tar.gz 76741 BLAKE2B 83be377cda7cc39ffc8832b8dd07399842608b8350058a846abc753807779baf823642f0c5156b3c0249dfca5cea9b9d4cc613f944c34bdf917356c200222898 SHA512 642d145e7732282fc0a41987ea2b5addb049ae999ce60acbaa1c370430c54fe1f4b86aa642e6dec1bba4bbbc62b95b6ab65e4ccb878c7b6cf2d1ca242d740af0
diff --git a/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild b/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild
new file mode 100644
index 000000000000..addf83554a06
--- /dev/null
+++ b/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=elastic-transport-python-${PV}
+DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
+HOMEPAGE="
+ https://github.com/elastic/elastic-transport-python/
+ https://pypi.org/project/elastic-transport/
+"
+SRC_URI="
+ https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
+ dev-python/orjson[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/respx[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/furo \
+ dev-python/sphinx-autodoc-typehints
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails in upstream CI as well as of 8.13.1
+ # https://github.com/elastic/elastic-transport-python/commit/39488817cd5da824101322e40652d17938f0acac
+ tests/node/test_tls_versions.py::test_unsupported_tls_versions[https://tls-v1-2.badssl.com:1012-772-RequestsHttpNode]
+ # fragile to random warnings
+ tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
+ tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # https://github.com/encode/httpx/discussions/3214#discussioncomment-10830925
+ epytest -p asyncio -o addopts= -k "not (test_unsupported_tls_versions and HttpxAsyncHttpNode)"
+}
diff --git a/dev-python/findimports/Manifest b/dev-python/findimports/Manifest
index 89d5625bb736..8882f1921e29 100644
--- a/dev-python/findimports/Manifest
+++ b/dev-python/findimports/Manifest
@@ -1,2 +1,3 @@
DIST findimports-2.4.0.gh.tar.gz 26597 BLAKE2B 8dc176a551a07f38996ddbcf0df865ad7c7c1c7f86036be0939578a932155f30bdff17d2880063edd49ae1d169ebfb5bbade771a626859ad8306d54df743ee79 SHA512 90dfc39a5f73ea86a9d5c3ebec0f220f2f428f5768edc9688c47079f555b44abb80b4945b38550032289a3bff659f3857019a50882b1b2f2e83570f3e36530be
DIST findimports-2.5.0.gh.tar.gz 26899 BLAKE2B 0050f0f711c3deb449993f8a50f484076005d5956275ba62ea55150c40b04540c3a2d656188da3d02775de71fc2d29f24b0855e91f160d491e384880b0b39043 SHA512 f75c9312c888fb456fe73983a2790f6e6841fd76692f7bce6e6d2e7c85e7055ee9d982af1b7cc8490de47dd2957ba1f74234698a519c36982dcb92bea6894301
+DIST findimports-2.5.1.gh.tar.gz 26884 BLAKE2B f7dd101947813a77607d5e175be6d01b72f6cb7601905b5ae105ab36ae43f1f918faf59f317ba2fee1461e375a62354d3a083be7d77c537e71a7ee96563eb977 SHA512 5c746f1ec79eb4804b07550963589963debf8d2b5bfb7cc479062da925fe142548040cd63aa1df4394ad3c6ebd6430152e0f937c917a205389aaf92b0d778f64
diff --git a/dev-python/findimports/findimports-2.5.1.ebuild b/dev-python/findimports/findimports-2.5.1.ebuild
new file mode 100644
index 000000000000..9eb66f778f18
--- /dev/null
+++ b/dev-python/findimports/findimports-2.5.1.ebuild
@@ -0,0 +1,27 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module import analysis tool"
+HOMEPAGE="
+ https://github.com/mgedmin/findimports/
+ https://pypi.org/project/findimports/
+"
+SRC_URI="
+ https://github.com/mgedmin/findimports/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+python_test() {
+ "${EPYTHON}" testsuite.py -v || die
+}
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index 4a014246793f..e59ab1c16862 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1 +1,2 @@
DIST python-api-core-2.20.0.gh.tar.gz 216778 BLAKE2B a6873f5bb07928933ab5dc04bd3e02ffab06c38c70661ff2da7e6ca183e49a0a4995b4b672f188ede14e416a953d3385ac564dd02ef643bd9cc63d0c16063e23 SHA512 4dd369da408acc15e54a1b7fd13cc2747d5a3ae3812cf42a3c0ec4a93245cc0f7c7cbef456ff19655e8d2d22955aec7369a295faef81cc4ea268c419ca62ef03
+DIST python-api-core-2.21.0.gh.tar.gz 223405 BLAKE2B 696489182ece170ab955193e8940a2235cc07892b5bcc319abe482bf7b673545b95dadeb5c1b49624d772dc36c9bcf19d28a91ad6aae07ef3215002eabfe6d5e SHA512 f1517c2ed4027013bdd7c11c4dda0c5ee67450c78247907422b3bcdd8d2f83958fb3ee6c65749056b2eeb734b05d584f4e9a9d0d133e220e3779602ef22e5527
diff --git a/dev-python/google-api-core/google-api-core-2.21.0.ebuild b/dev-python/google-api-core/google-api-core-2.21.0.ebuild
new file mode 100644
index 000000000000..e8993759dae9
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.21.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_{9,10,11,12,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-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 04a2333e0ca5..6bd992a2debd 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,3 +1,4 @@
DIST google_api_python_client-2.146.0.tar.gz 11690645 BLAKE2B 850f8b5b383ab8485b4b8aef77e94a18971498b51e1689aa707997931ba908e97e590681900beec42fc0f50adcbe8488657fbf0be0d8d5c6a55dc424a49ed86c SHA512 5789e69f1d279f8e53d40348af770aa03738853ebf19cfd4e50f23dca3412ca7d360993e4e00c4f0e654c65b3dbddfc2ffca069ebb26cc13b674bd622e90ae2a
DIST google_api_python_client-2.147.0.tar.gz 11729279 BLAKE2B 319442376870b780cf9c42e6e9c7d25f5f2b4b1ecda33f3179773cb18c9c447748528e575dfd122cb5153870c7fc26900e092d24a9362deacb905fc6fa740205 SHA512 5a4abdfbaebfeee4c2ded84f19e1f5b4f888179964e76b7cc88c75b7dbe75c735d0a024f068a5fa8f0994b56671c94c60d9bd81648c123309e1c1087329b1a2f
DIST google_api_python_client-2.148.0.tar.gz 11762466 BLAKE2B b075c0379896460e0550dfee3fdc015f1a31dc3e30387a5c5e231c6f4b7ec3b922e0e4f6ad56da4c37773a03e791725679f8e29e200c4c9b08321d8dd39186e6 SHA512 3dcad3530a46095979fcdbbffa97a74e48d2fc4cff35863c65f6d0994a7e92ad884f533f41ce3744fdcb4a5fe5fd61ba04eabeeb40e9dd7a826ac9c4ccdb8a60
+DIST google_api_python_client-2.149.0.tar.gz 11791789 BLAKE2B b4397d1e0a6b064b9c7aa7b4ada816a76871de089776f6aab4cc1f962171a427ecd1e4c1ba9e43455becaddd31cfa50082aa498a1443d2116f0acb678d221549 SHA512 3602a9d5f9fd5e00605a2b12114a81770662ac1ad168c65160d6c64340d8ea3f3da2765a5cc5959ef09f5b72725baa493a0686d976e3d22add49bb86b21626e7
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.149.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.149.0.ebuild
new file mode 100644
index 000000000000..595a1e3cbd88
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.149.0.ebuild
@@ -0,0 +1,50 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index 1c1a296a8b13..790282b40d2e 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1 +1,2 @@
DIST hcloud-python-2.2.1.gh.tar.gz 119705 BLAKE2B 585602989a834696354257cd26ad135b78d9cb4fbb9362948c8349eabb5a8a78158ae5d750d0ecabfc2dadbcb7f23a49f3ac41a67a7c91a55f4a9495435be5c5 SHA512 32ac9da7e88817ee16bfa31eef51404c7e973511f00950c575a857722418a29641d852dffec9554185a39999dd3951c7c7fddc3f4df2d3f9b5b614426c9d7e78
+DIST hcloud-python-2.3.0.gh.tar.gz 119846 BLAKE2B eab64db78ee9e5f33539142a869663d7a12cc08f25581a82e1d87d620452d1ce4877ff65654724f30ac602a7513e371f1f59455dcff5cdc2b94ba6751136d7b3 SHA512 8591b5406d51c8f71fdcb16bb423cc2317310484d3ef6a784d63fdb2dca9ec10d33a9fd6347f3c37e7a7c4772869a15013f8c6a83b5a2b867da0c41184c88d45
diff --git a/dev-python/hcloud/hcloud-2.3.0.ebuild b/dev-python/hcloud/hcloud-2.3.0.ebuild
new file mode 100644
index 000000000000..b86df2f49d84
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.3.0.ebuild
@@ -0,0 +1,49 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 13fd5e7d5c5b..15a31134a34a 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,3 +3,4 @@ DIST hypothesis-6.112.2.gh.tar.gz 9476114 BLAKE2B 50b4dd0e7599732b78fea672738c20
DIST hypothesis-6.112.3.gh.tar.gz 9476186 BLAKE2B bd11e2b09c192943363a917b327c0d5d85dcb1e4161bbbaf63754353e784e4e909279084b6efd622144e97a88ad8ab64002264f2b512185f6af687303e5b19e5 SHA512 1a0a982dd3d006b6143479e7b6f4ee70c3a196eddd06ade54c53342f40cba5537d09f5da806604673096b17bf29515d93b325f306d8fbf4d7802b0fda1acd922
DIST hypothesis-6.112.4.gh.tar.gz 9477498 BLAKE2B ef27f97b419e0bb454ef63c03ecf871e58db9e3ae78c1db52a65de7155559f44ff5ff5f3c07f6d4adfaf3e67f0d30a39c06df1378d84b800ad1617e93f9e3cc4 SHA512 e057c8d40250debfec0532ab9e2ced7aaea690103c58a5a2018a968fc3631ada31033fafcb5a30825027736d10c339de8e4caa97b5d0fe6603a3a24f65661707
DIST hypothesis-6.113.0.gh.tar.gz 9479824 BLAKE2B e5a87d042d409757451db19bf8b7433e78140cbc6bc9ab6dab4a02cdf2b311734fa37c03aa3b3d51a652b823a3fa554205d4f0188c2e5f2e439609132b4e17d9 SHA512 c8e4711b3496811fd67a20545aa4abfa5b38289befbffa3eab7d9daf155b899124e62a2771b772b009a373308a32967e8804c99a70507ee7996ab3adf92d41e0
+DIST hypothesis-6.114.0.gh.tar.gz 9477661 BLAKE2B 26cc5cb5a4082b689f024963745f44cb0fbec169b6596145dafcabd7750887d3ecda15e22ef05ebebb0ea756629a51d86f7586f7eb0e2bcedd11380a86881c3f SHA512 e779047546b4f55a7085ee7b3bd05ea292d97cdfb5fe1b85a083a4d29120d3b8fdc50cb8651eee4ed391f6b1634c928b7e38f7956e595b856e9b53115d8a85af
diff --git a/dev-python/hypothesis/hypothesis-6.114.0.ebuild b/dev-python/hypothesis/hypothesis-6.114.0.ebuild
new file mode 100644
index 000000000000..902ce1505c8b
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.114.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/immutables/Manifest b/dev-python/immutables/Manifest
index aba8fbe43b0a..3bf6c91a9d18 100644
--- a/dev-python/immutables/Manifest
+++ b/dev-python/immutables/Manifest
@@ -1 +1,2 @@
DIST immutables-0.20.gh.tar.gz 88169 BLAKE2B fb76793d8d908ea35999a9d3d36cdb6cc2021fda07d0822b23bf1eb7fe02031ac26a7aa3e83e890af24b949eedf6d81089a3670e96f9873a60339d0da44d2484 SHA512 b20a661e4a9161a2fe3db674aac8e84a36dd3e56083e6f6d6b1261a00d38adc136c0a2dce67243a5a4cd5b0568aa48a9d4c758fb27cf74e055f378a501c0f725
+DIST immutables-0.21.gh.tar.gz 88188 BLAKE2B be5f5e247f16549b1ccf2fa4a95b81818795d04a0ed934509dc3dcac985be4779ea3c2634cd9e8b57321d58ebf63ce828df08f39f19819e6b537ea3195ae87e3 SHA512 ffd754cd5f13f0d961ec05b1c19df4f9a25c0804a402d0dee91e163531eb9f30b50d8abb1252df775cb83922c69b02baa51bef5d6aa17d80fca57442b93d5e94
diff --git a/dev-python/immutables/immutables-0.21.ebuild b/dev-python/immutables/immutables-0.21.ebuild
new file mode 100644
index 000000000000..2cc335713815
--- /dev/null
+++ b/dev-python/immutables/immutables-0.21.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2019-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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-performance immutable mapping type for Python"
+HOMEPAGE="
+ https://github.com/MagicStack/immutables/
+ https://pypi.org/project/immutables/
+"
+SRC_URI="
+ https://github.com/MagicStack/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/mypy/d' tests/conftest.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ # upstream controls NDEBUG explicitly
+ use debug && local -x DEBUG_IMMUTABLES=1
+ local -x IMMUTABLES_EXT=$(usex native-extensions 1 0)
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_mypy.py
+ )
+
+ rm -rf immutables || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/lxml-html-clean/Manifest b/dev-python/lxml-html-clean/Manifest
index ac94dcb4bff5..e770187627ea 100644
--- a/dev-python/lxml-html-clean/Manifest
+++ b/dev-python/lxml-html-clean/Manifest
@@ -1 +1,2 @@
DIST lxml_html_clean-0.2.2.tar.gz 19619 BLAKE2B 4317ba3e3ae05603f5e2e53561ea7bf2c2d291ac7c87eb2d4afeaca89ccb13b63dd4a85c9a9e4d5feb3bc6773d27618d2057983b933b3b17e26c319003b3bb7c SHA512 c40aac3453e822c5659252a271071b1e3b61622ce3af78e27763c771147a22a9894ef2512ca38f1d0e67be1d21ce5b860641a2a067e94837cfdcb318610720eb
+DIST lxml_html_clean-0.3.1.tar.gz 20851 BLAKE2B 476c73463341af064e7d32b4def1b3cbbc7287cb26308fed2362792ce9dfc3c20bdbb9dcc1174710bf694633789037ec4f1c2510c48fab98ba17fb506b091baa SHA512 cbbcbec337586024db9b622d5724adc1e645dfe7bb1958be8f8974c7858e9a6443b0e75f09cf0ca83d7331aae944648c6bd644aeedd56307a01269e82d866b36
diff --git a/dev-python/lxml-html-clean/lxml-html-clean-0.3.1.ebuild b/dev-python/lxml-html-clean/lxml-html-clean-0.3.1.ebuild
new file mode 100644
index 000000000000..5e1c6753ea49
--- /dev/null
+++ b/dev-python/lxml-html-clean/lxml-html-clean-0.3.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Separate project for HTML cleaning functionalities copied from lxml.html.clean"
+HOMEPAGE="
+ https://github.com/fedora-python/lxml_html_clean/
+ https://pypi.org/project/lxml-html-clean/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest
+ "${EPYTHON}" -m doctest -v tests/*.txt ||
+ die "Doctests failed on ${EPYTHON}"
+}
diff --git a/dev-python/markdown2/Manifest b/dev-python/markdown2/Manifest
index 5a90403511b4..25cc533ea602 100644
--- a/dev-python/markdown2/Manifest
+++ b/dev-python/markdown2/Manifest
@@ -1 +1,2 @@
DIST markdown2-2.5.0.tar.gz 138574 BLAKE2B 989a8c8c528ecc0feb4073f02119ee351f4c4ece2e23f03159d3cb76123838e55a5ece846c7bc66fb37760a171606312c3854726d6abeb3a258223500a139fbe SHA512 1fead06f1f1692908f6be3da8f11a010a541cf0c5e38db6744b84aa9b6e2b45ac7a0b3a06427d5dedf0c5bb5eae4636973e625ffbcf066febeb752965c594579
+DIST markdown2-2.5.1.tar.gz 140957 BLAKE2B 204ba7b388ff4c16db603761aceb1baf4b8b2dac3e4b1e85776c0a8a99223822a41b414535691be579c78f29e146713190fe80c1cf7d1303b7c3c80d5abbb1c5 SHA512 758d2f66c157cd709edc3bd4e67839eaae37db7a2c126451c840e32b150792cd11c1cd25ff8c4d46bff2bed290af8a3c7c87361e2d62009b16a00eb8f549af98
diff --git a/dev-python/markdown2/markdown2-2.5.1.ebuild b/dev-python/markdown2/markdown2-2.5.1.ebuild
new file mode 100644
index 000000000000..590afae8661a
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.5.1.ebuild
@@ -0,0 +1,31 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Markdown language reimplementation"
+HOMEPAGE="
+ https://github.com/trentm/python-markdown2/
+ https://pypi.org/project/markdown2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pygments-2.7.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ "${EPYTHON}" -m unittest test_markdown2.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index f3b1c774e22e..35e4f52d25fb 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -1,5 +1,4 @@
DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937
-DIST moto-5.0.13.tar.gz 5389183 BLAKE2B 9428f5857ccf9082a985c90281267cde65f15fc970cbc43e00d6a38663c6786d1d8cd5aede4f01a0bb69c65bfa156e7b12336f19e0e2ff9da44291a367583eb0 SHA512 5fd3fcf4404e61056170eb187c4f9acb42b4178ad56ee44a74fdf423c061aa7455fb1ce4f34e0517e7eadeb2ffb32ea9485c100772fd89d4c12bb8956b2797c0
DIST moto-5.0.14.tar.gz 5436824 BLAKE2B 9bcab90605a73c9b03c09285a00055c552437545b6d524377cec816ac569e4a1e399d84ccdd54ac0c1ac00ae253f8849bb5c3892e8d95021d31fa5c05705b3ba SHA512 063fe3b518263f0dfb9d0dc569d537bcbaba4a439e4945806c641cd7b0bc32e7431972ae800d4d581b1ae200122f5d22870faf8ce025377c174360cad2896aa5
DIST moto-5.0.15.tar.gz 5465282 BLAKE2B c043b0cf5ce42d0633f25ab874e787315367836d54c59ceedc3e85a161b01974671eb6dd42916e45ccaaaab9a48bfa217c0b8f22fbd817da3d2a9b4ee4522a03 SHA512 95c20146d6d5dcb6b49c3bb90e23bc6b656f6773267263bfd6a4f069a572311ef47cde3e1797dce78cfa38a28894b5deaf5e1bbe4bfcde3b49cfeea90cc63b25
DIST moto-5.0.16.tar.gz 5483357 BLAKE2B 7486a17627451494d09dcad8987da1ab456a9a8ad8fa6bca4650cf1c582e3babb39b502aec0b8c389415181af7e3c8f91ddde16715432a69ade0eb65c0e84ea2 SHA512 2201fe7b74eec9b2896afa5d7eba814c41ffae73b7becfc5e6c80523d51bf19d1de6713a5713758909c8d2343cc0ca1e0e238655153d91da161d043336c1e313
diff --git a/dev-python/moto/moto-5.0.13-r1.ebuild b/dev-python/moto/moto-5.0.13-r1.ebuild
deleted file mode 100644
index c54d967f54ee..000000000000
--- a/dev-python/moto/moto-5.0.13-r1.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# 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_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi toolchain-funcs
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/jsonpath-ng[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/getmoto/moto/pull/8095
- "${FILESDIR}/${P}-date-fmt.patch"
-)
-
-src_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_core/test_request_passthrough.py
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # require joserfc
- tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration
- tests/test_apigateway/test_apigateway.py::test_create_authorizer
- tests/test_apigateway/test_apigateway.py::test_delete_authorizer
- tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user
- No
- tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_
- -
- tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_
- -
- tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed
- No
- tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed
- tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication
- tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication
- # TODO
- tests/test_dynamodb/test_dynamodb_import_table.py
- # hangs
- tests/test_core/test_account_id_resolution.py::TestAccountIdResolution::test_environment_variable_takes_precedence
- )
- local EPYTEST_IGNORE=(
- # require joserfc
- tests/test_cognitoidp/test_cognitoidp.py
- # require antlr4 (which doesn't support py3.12)
- tests/test_stepfunctions/parser
- )
-
- # test for 32-bit time_t
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
- #include <sys/types.h>
- int test[sizeof(time_t) >= 8 ? 1 : -1];
- EOF
-
- if [[ ${?} -eq 0 ]]; then
- einfo "time_t is at least 64-bit long"
- else
- einfo "time_t is smaller than 64 bits, will skip broken tests"
- EPYTEST_DESELECT+=(
- tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
- tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
- tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
- )
- EPYTEST_IGNORE+=(
- tests/test_route53domains/test_route53domains_domain.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_awslambda_simple/test_lambda_simple.py::test_run_function{,_no_log}
- tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
- tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key
- tests/test_dynamodb/test_dynamodb_update_expressions.py::test_update_different_map_elements_in_single_request
- tests/test_events/test_events.py::test_start_replay_send_to_log_group
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args
- tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args__using_multipart
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_s3/test_s3_list_object_versions.py
- tests/test_s3/test_s3_tagging.py
- tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_is_reachable
- )
-
- distutils-r1_src_test
-}
-
-python_test() {
- EPYTEST_XDIST= epytest "${serial_tests[@]}"
-
- local EPYTEST_DESELECT+=(
- "${EPYTEST_DESELECT[@]}"
- "${serial_tests[@]}"
- )
- case ${EPYTHON} in
- python3.13)
- EPYTEST_DESELECT+=(
- tests/test_ses/test_ses_boto3.py::test_send_raw_email
- tests/test_ses/test_ses_boto3.py::test_send_raw_email_validate_domain
- tests/test_ses/test_ses_boto3.py::test_send_raw_email_without_source
- tests/test_sesv2/test_sesv2.py::test_send_raw_email
- tests/test_sesv2/test_sesv2.py::test_send_raw_email__with_specific_message
- tests/test_sesv2/test_sesv2.py::test_send_raw_email__with_to_address_display_name
- )
- ;;
- esac
-
- epytest -m 'not network and not requires_docker'
-}
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index 2b683a9536d3..6591608fdfe5 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1 +1,2 @@
DIST nox-2024.04.15.gh.tar.gz 4001096 BLAKE2B 22a332afe499811be23876760e33be60dac200b686aa19fb7fe7b92315e2681f874a4c175419e3b4dc9eb709bb98821a99d3a7bf2d7dfa756894e5d1265e46e7 SHA512 99143b4c372e40c5b436ef786e72582eae3182513e9763cb76eb123dcb4d16de8b0585a21119c3513fe9aae4bb6d9d19b16f3129a42f3addf2878e6e7f044ebb
+DIST nox-2024.10.09.gh.tar.gz 4003528 BLAKE2B 51bf42870eac462fdb87e897c225c8262703ccc222d5c463e45d91acf08e4211153f60f72450e3fb964d4ca386501bfa88559e8cff38d55aa2f22310a17d7911 SHA512 51d1f70ba94d01abd10ba3a12896facd13a7a2881496221b6fa9d0a43ff947303b0cc975a29169a3d9e0174277e23e0bc4b1137b2774c1abffa23a48c9d69a11
diff --git a/dev-python/nox/nox-2024.10.09.ebuild b/dev-python/nox/nox-2024.10.09.ebuild
new file mode 100644
index 000000000000..536ad0733ca4
--- /dev/null
+++ b/dev-python/nox/nox-2024.10.09.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Flexible test automation for Python"
+HOMEPAGE="
+ https://github.com/wntrblm/nox/
+ https://pypi.org/project/nox/
+"
+SRC_URI="
+ https://github.com/wntrblm/nox/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.14.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove upper bounds from dependencies
+ sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: conda?
+ 'tests/test_sessions.py::TestSessionRunner::test__create_venv_options[nox.virtualenv.CondaEnv.create-conda-CondaEnv]'
+ # Internet
+ tests/test_virtualenv.py::test_uv_install
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # hardcoded CPython assumption
+ tests/test_tox_to_nox.py::test_skipinstall
+ tests/test_tox_to_nox.py::test_trivial
+ tests/test_tox_to_nox.py::test_usedevelop
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
index af6bcb887e02..26b02d78585c 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1 +1,2 @@
DIST sh-2.0.7.tar.gz 345477 BLAKE2B a7eb24e5cdc4543b5a44a523b101b5b103ad1fc26664b659cf84921d50112bac1a49d7ea19889d2157b2df941b67840373a9a4bc63e2cb7f94bb4cdfac85819c SHA512 331a3bdc027eeac7100ae6318a579c85fb11ce0e1922d1078c2f09b0523733b146a9bd5b9f030a2da23e3d2bb2a6970bd451d53224259967efdcf99e949f7b9f
+DIST sh-2.1.0.tar.gz 345525 BLAKE2B 3d0f35ad8281e5dafb6fa7fab886bfd3b8b361e92ab4e5b382cd5341a279a8eb1a66e91351dba220a392f3f4679ce2e298bd92a704b5ba0efd59d6cd3c5e0e27 SHA512 14defeb52c15d6571fe71b97f9b720e3cf161e905f4e7cbea12a5f4c27e14b28c86a4614189176cde4cf05920b86f927605df7cfb4e71accc44b3d58debaaece
diff --git a/dev-python/sh/sh-2.1.0.ebuild b/dev-python/sh/sh-2.1.0.ebuild
new file mode 100644
index 000000000000..362234aba0a1
--- /dev/null
+++ b/dev-python/sh/sh-2.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="
+ https://github.com/amoffat/sh/
+ https://pypi.org/project/sh/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x SH_TESTS_RUNNING=1
+ eunittest -p "*_test.py"
+}
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index 96ab86b793d9..dc861bbd5c99 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1,3 +1,3 @@
-DIST SimSIMD-5.4.4.gh.tar.gz 160825 BLAKE2B b5c82ad45cb5400802d264df407584cc971e6617ab2cd77f503671ae57ee0fd0656e4ac9c881bd9d975591127512222e1fe9d67dda55ca557a32cc3559c28ce0 SHA512 abddc3522f28602c0bfbdcdf3f045b3ffbb88cc9182741333df7a7e6d8fcf523dbd876b30381cdc741b712c42665f65796477ec3c458cdd9ef4ac4e4038b9052
DIST SimSIMD-5.5.0.gh.tar.gz 161540 BLAKE2B 413f8c4f1a16f3658b553281f381ec736d998618197e5ce76cccb289a7ba73ffc0dafc28472b71c248677cb3a4c55d18c08b2261325b63afe1a8976eb172aafc SHA512 156a2d43f89d9add0f1dab431b028986ace197bb8bc468441cf549ebd7a473515bb14b3969a520709f12fc272f0001a411cf7952fce8c8580c37d5a9be0fcf94
DIST SimSIMD-5.6.0.gh.tar.gz 163863 BLAKE2B bcd13ac719f79cee05e29e9d18ed5d1064228c9dd68535df772fc04f9b2b25584003d47596df8d2bc9f69a860b0c686bda2bbc14ff6c6f70288c38ce7074c2fd SHA512 b924d7fb29437b612fb23d088a732c6af39616ce8a62ddeae44bcaf5501e7d08deba838eb6f1eb8bc9fd684852efce4c7f002c9a3eeac265bfd95d435297f5e2
+DIST SimSIMD-5.6.4.gh.tar.gz 164134 BLAKE2B 65f0aa8ef132ef9a05a3cac03e6773adfbca1b5860952563ca6e7f7ce322d71d3de137705f9c1fbd1cc53a23feade46fcb1f100e6489e03a1ff51ea5b571c5e9 SHA512 f20cd5bb3011e87ceed7f7a6b82b9805fa1b3fb2dc8aadda145d37580573f50bae44442202b5af19a5372e77ac5499ea0015f2e00011a1e8d0272ba991d46606
diff --git a/dev-python/simsimd/simsimd-5.4.4.ebuild b/dev-python/simsimd/simsimd-5.6.4.ebuild
index abb8c49c671f..abb8c49c671f 100644
--- a/dev-python/simsimd/simsimd-5.4.4.ebuild
+++ b/dev-python/simsimd/simsimd-5.6.4.ebuild
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 70844fb77ceb..49e59f547825 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1 +1,2 @@
DIST sphinx_gallery-0.17.1.tar.gz 464013 BLAKE2B 42a0d6e9fca934bfaf234710acc800229ee2dfc4844d17a5c1774ee5e36f6e2f1fe2a0f636035a58b4f2ea5bf0643abf9f018026a1d3b552093f1814c7f7cbe3 SHA512 7d580e3e603f6778dbf47e3f46ade2e612596337e432ee0ca5b603c7e002f43b65e0258dda04d427613b2a3331466b7c852287937c4706fe0bdafa1e7804f9fa
+DIST sphinx_gallery-0.18.0.tar.gz 466371 BLAKE2B 5d01bf19fa24d32ea667e7846dae03a85b470f430204a20d65efb988d54a8a6462e8cb6bed03de6f240c4945fbb1aa5e839d84feddd8093ab303d846773e4097 SHA512 59712e6a50d0a01e091b51e8532798ba4068a3a65472c25ea5a913dea599ac1afa54c44a057d332e6204930fa958d5b88dafe796af913566f504f0d9cf91e72a
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.18.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.18.0.ebuild
new file mode 100644
index 000000000000..e7bed0e6e2bb
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.18.0.ebuild
@@ -0,0 +1,51 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
+HOMEPAGE="
+ https://github.com/sphinx-gallery/sphinx-gallery/
+ https://sphinx-gallery.github.io/
+ https://pypi.org/project/sphinx-gallery/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
+ sphinx_gallery/tests/test_full.py::test_run_sphinx
+ sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
+ # require jupyterlite_sphinx
+ sphinx_gallery/tests/test_full.py
+ sphinx_gallery/tests/test_full_noexec.py
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/sphinx-rtd-theme/Manifest b/dev-python/sphinx-rtd-theme/Manifest
index 57871a1dd7b2..72ad04284afc 100644
--- a/dev-python/sphinx-rtd-theme/Manifest
+++ b/dev-python/sphinx-rtd-theme/Manifest
@@ -1,2 +1,3 @@
DIST sphinx_rtd_theme-2.0.0.tar.gz 2785005 BLAKE2B a9971cba0bf04d786e41144fc04c8450be3291f0f5c3164b793258a489d5c1348bded906f47071ebd9aa4fa022bca157a18f758d3e2f48765ae5c65655a8c25f SHA512 3de989e24f2c187058b19017a92cf2159af0fdb32e5c3bc46992797a3be0f23ad75e1fd9b758e7d672eb38524798b4800de2e1b405910ea043dbd7d6f32a05da
DIST sphinx_rtd_theme-3.0.0.tar.gz 7620317 BLAKE2B e604f6eed7752070a2ab3fab4d55db83f21afe12a257ea2a4852c707c1ee580fe880a32e14c6b1ffa50091d71a26850e960d166e578be5027e13b267d9787c8d SHA512 34d88e49cb00e30bcdb7f1082224f28dbe02dc757558c54869cfbb2fe7ecb664a8c87c79596c044062bd62ac3d078af9619a5420df60a47e60b2f7e3c27984a0
+DIST sphinx_rtd_theme-3.0.1.tar.gz 7620352 BLAKE2B 80f8ee14364dde84423ea1fff2a33216d72e878b911d9c28e6fdb2a032fa7b17161fa0e4f6b1e7b9db6b3ac015949fb357cfb546b1f3fc38eacc88c81f4e084e SHA512 38fddf75ec2ee9622427fa88b868241f0da05214783e69af042137d892c9289960f75a10e35bf3a304c1ba9023f1a18d0b82257449febeb5b41c06e7482a02b3
diff --git a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.1.ebuild b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.1.ebuild
new file mode 100644
index 000000000000..26d1c51b5832
--- /dev/null
+++ b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-3.0.1.ebuild
@@ -0,0 +1,42 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ReadTheDocs.org theme for Sphinx"
+HOMEPAGE="
+ https://github.com/readthedocs/sphinx_rtd_theme/
+ https://pypi.org/project/sphinx-rtd-theme/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-jquery-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/readthedocs-sphinx-ext[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove upper bounds
+ sed -i -e 's:,\?<[0-9.]*::' setup.cfg || die
+ distutils-r1_src_prepare
+
+ # CI=1 disables rebuilding webpack that requires npm use
+ # yes, that surely makes sense
+ export CI=1
+}
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index f28ac7d5fec0..ba767fc1f389 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,2 +1,3 @@
DIST uvicorn-0.30.6.gh.tar.gz 724296 BLAKE2B c95ee6764947e51958da2e62627d20bfbef48f065832f6214c7c05b9daf344b76eb6b0ec4ccbc3ebc2502b9f2cc77157dcf90e824cec0a8adc62601ceb4abf0c SHA512 d4c4410648509b14e18c3c86a33df4152e951703d287153a26ad35f4dce35eb594b940d3773cb444119b9bfa72ae3885c54d84b1a09c0c6069b80941f453c2e8
DIST uvicorn-0.31.0.gh.tar.gz 728288 BLAKE2B 8cdc15895be8689cb38c402beac415463b185d2402484e16cac28d51e4ef7359a23e084163761abe62483a02d987555dda628938c5b93cdf19e5759372598557 SHA512 d1d8875681ecb81febac2eb1d00d245f421bfb3d06c91be831daf11411c94368707afde8781147752bcd327fa3eb83cff1635f24b9d57107675e69c12885950d
+DIST uvicorn-0.31.1.gh.tar.gz 728604 BLAKE2B 4f8f4e34bc6b13f6f0866a6890855a5b3bf9aad179de2fdeab40fdb017f76acfaa1cb7c9bd97d55d2ea5cd513afc3b6857ae0613912f6be55dc1d17cf810b213 SHA512 2ceab852cd7819fee592cf2507fa9ce8cc80f19dec0492fec621e6eded4a47edecbe4fe559a8474dacff260546ba146e33af9cab964e121356797fdc9a2dae28
diff --git a/dev-python/uvicorn/uvicorn-0.31.1.ebuild b/dev-python/uvicorn/uvicorn-0.31.1.ebuild
new file mode 100644
index 000000000000..d90b0e9c0dba
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.31.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Lightning-fast ASGI server implementation"
+HOMEPAGE="
+ https://www.uvicorn.org/
+ https://github.com/encode/uvicorn/
+ https://pypi.org/project/uvicorn/
+"
+# as of 0.28.0, no tests in sdist
+SRC_URI="
+ https://github.com/encode/uvicorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
+ dev-python/wsproto[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/watchfiles[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # too long path for unix socket
+ tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
+ )
+ case ${EPYTHON} in
+ pypy3)
+ # TODO
+ EPYTEST_DESELECT+=(
+ tests/middleware/test_logging.py::test_running_log_using_fd
+ )
+ ;;
+ esac
+
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "auto reload on file changes" dev-python/watchfiles
+}
diff --git a/dev-python/xmltodict/Manifest b/dev-python/xmltodict/Manifest
index aa36dbc8dda2..12ddd703a7fb 100644
--- a/dev-python/xmltodict/Manifest
+++ b/dev-python/xmltodict/Manifest
@@ -1,2 +1,3 @@
DIST xmltodict-0.13.0.tar.gz 33813 BLAKE2B 54fd4532323d8682e81e8db9ec811c772aa1b772ee5a9fa2debb93030a44a165e282901a445f76c8a477626b151ec9ed210f1e790bd9426b5f071c9a4ad60bdf SHA512 fea256017e9806074f0b1dbece393a6e90cdb045842970015daeef2c035d210b3333196a57635192f889b1d2e570731707f7725e020c678db34f590f8c9ad400
DIST xmltodict-0.14.0.tar.gz 51945 BLAKE2B c4c81ce0515a372872d555986b67c4ff0c34b07d1e1e91ad694f6a08fea6080a55286fc2edb53aca1d26323f60cde50edd4207c7602366bf37dfffd081975e27 SHA512 03fa4c0f40357eab2ab87ad7cf732927b5469ad52301d06792d79e6baaddc7a0fd33b2bb85a08f6ca937588fb8f0a2856c3b83ed1dd74f79f4479d92e2913b0d
+DIST xmltodict-0.14.1.tar.gz 51919 BLAKE2B aad287cf3dbba14e46ec86cf8fcd000719e18b0918ba12fd958db08d04125bbcbccab1380394a04f01243694f0438577579baef8bdc170627df8008ffec5dc31 SHA512 802c1861202433dd0f1cdbbf76cbd9d1418228e994909de4711d450258ca9c7764ce5adb174b8c97437b2d52d797dd8b8014ee83ce86023860a828d7881e9923
diff --git a/dev-python/xmltodict/xmltodict-0.14.1.ebuild b/dev-python/xmltodict/xmltodict-0.14.1.ebuild
new file mode 100644
index 000000000000..f06c1f15f6e1
--- /dev/null
+++ b/dev-python/xmltodict/xmltodict-0.14.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Makes working with XML feel like you are working with JSON"
+HOMEPAGE="
+ https://github.com/martinblech/xmltodict/
+ https://pypi.org/project/xmltodict/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest