summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-22 20:04:12 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-22 20:04:12 +0000
commit603bf0a1dfd4cf571ac6da7bcb33911cf5259ab2 (patch)
tree650fa25b2e587e0e9a3b6176fa46fa5c9264ae27 /dev-python
parentb8b52fbed78baec4d9c61af3ef5884133f3911e3 (diff)
downloadbaldeagleos-repo-603bf0a1dfd4cf571ac6da7bcb33911cf5259ab2.tar.gz
baldeagleos-repo-603bf0a1dfd4cf571ac6da7bcb33911cf5259ab2.tar.xz
baldeagleos-repo-603bf0a1dfd4cf571ac6da7bcb33911cf5259ab2.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild2
-rw-r--r--dev-python/aiohttp/Manifest1
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.7.ebuild134
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.94.0.ebuild62
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.67.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.67.ebuild67
-rw-r--r--dev-python/keystoneauth1/Manifest1
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.9.0.ebuild61
-rw-r--r--dev-python/latexrestricted/Manifest2
-rw-r--r--dev-python/latexrestricted/latexrestricted-0.6.0.ebuild29
-rw-r--r--dev-python/latexrestricted/metadata.xml10
-rw-r--r--dev-python/pyarrow/Manifest2
-rw-r--r--dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch65
-rw-r--r--dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch60
-rw-r--r--dev-python/pyarrow/pyarrow-16.1.0.ebuild97
-rw-r--r--dev-python/pyarrow/pyarrow-17.0.0.ebuild102
-rw-r--r--dev-python/pyarrow/pyarrow-18.0.0.ebuild2
-rw-r--r--dev-python/pydantic-core/Manifest6
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.27.1.ebuild167
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.10.1.ebuild64
-rw-r--r--dev-python/pytools/Manifest1
-rw-r--r--dev-python/pytools/pytools-2024.1.16.ebuild31
-rw-r--r--dev-python/tornado/Manifest1
-rw-r--r--dev-python/tornado/tornado-6.4.2.ebuild61
-rw-r--r--dev-python/yarl/Manifest1
-rw-r--r--dev-python/yarl/yarl-1.18.0.ebuild66
-rw-r--r--dev-python/zeroconf/Manifest1
-rw-r--r--dev-python/zeroconf/zeroconf-0.136.2.ebuild56
32 files changed, 881 insertions, 328 deletions
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild
index db8ea31561c8..86094a933886 100644
--- a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild
+++ b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild
@@ -8,7 +8,7 @@ DISTUTILS_USE_PEP517=sip
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/_}
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+inherit distutils-r1 flag-o-matic multiprocessing qmake-utils # pypi
QT_PV=$(ver_cut 1-2):6
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 5f6dd21212dd..08db2810295b 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,3 +1,4 @@
DIST aiohttp-3.10.10.tar.gz 7542993 BLAKE2B edc9808937892e2915b591a3d5b9e2be8401a67e6421ada8c49e27cfa1ee67283465d17e3c3a77f7579d4ed45df39884a2f9e336429ef7d64adf351ce7507a85 SHA512 c6928d989c110c323347b6f5b0a90c42e17924b4121455a240f5a15d87f939580640ba0f8d576f8254e484e5b631ec4562a2fb4e6c86402924b1892a6d72aff8
DIST aiohttp-3.11.3.tar.gz 7665862 BLAKE2B a81b0b6fbc819e51d0a3bd0c7c96c403af8fe35530924ec47202ad350358ca037eebb8479bb4b6b29927c3cbea088021e4de971a392aea78dcafd2db49d24554 SHA512 4f65a4fd2191656c6e123a263557842bf91251cdb57be68e967bcee7e6678027bc1717c344e30f7c3dfe5f6fc1a75a8fccdf07056cab244fc98460ce5238d93a
DIST aiohttp-3.11.6.tar.gz 7666498 BLAKE2B 9dd46776a8af8c00e38524cdf1879f6c5fb8678cd83f0f263e56333f087666d649f0bae9f9aa8869abec0b8e787e42e87ebec2ec9ad9b88baa450344caaf04e3 SHA512 0216a7335ecfe335d26d9fe1aa9021f3baf4ac1dbaab69a924524c0daa2f67b1eb1f4021cc3bdfde063a64b0e8221f0c2e7a90888f4b88f72d805bb0abc7d2df
+DIST aiohttp-3.11.7.tar.gz 7666482 BLAKE2B 4cf32057fdf7da1cb77be0329dccb5060e2841021943ea6a30948a54b9e02ac578b236ab390bdee1723256505e4bc7dccddad192c3f83e4e88ab9d03cab4c6b1 SHA512 886149feca3de14e9433b5f877c0a7a6628d4333383ca762900209949bdf8c354460d21a673b7e195a1998eb4f8459972f5d85fed4cbeea5c52d6f449daba040
diff --git a/dev-python/aiohttp/aiohttp-3.11.7.ebuild b/dev-python/aiohttp/aiohttp-3.11.7.ebuild
new file mode 100644
index 000000000000..b3d43607d7e8
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.11.7.ebuild
@@ -0,0 +1,134 @@
+# 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="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions test-rust"
+
+RDEPEND="
+ >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/async-timeout-6[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ if [[ ! -d tools && ${EPYTHON} != pypy3 ]] && use native-extensions
+ then
+ # workaround missing files
+ mkdir tools || die
+ > requirements/cython.txt || die
+ > tools/gen.py || die
+ chmod +x tools/gen.py || die
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ # implicitly disabled for pypy3
+ if ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ tests/test_benchmarks_web_middleware.py
+ tests/test_benchmarks_web_response.py
+ tests/test_benchmarks_web_urldispatcher.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index f52d10ce2f1b..9325337a1dd7 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,2 +1,3 @@
DIST serverless-application-model-1.91.0.gh.tar.gz 5710886 BLAKE2B 29d5825610e8e3253cd9d5659a65659f39c3a423061eb0e6ac754fcf3a943aa87799653e26dd901ae94b71c7290f791f6a8b16d089fa43c9f0cd3f3bbf973a34 SHA512 04cb4f61673005928b2361a8c9d304c5d29719a32dd962da0c34d3685d8bc4c8282d7fb61f6d228e3de6a5a037405a8ecacdc020bc9ace229fcbdb22ad99902e
DIST serverless-application-model-1.92.0.gh.tar.gz 5761362 BLAKE2B 57546b2996795a8a53ef678b790bdd7fe313c5d012ba40be22529e133d15687b095d95ad905db66ca663d885a0d28b9be4d660f6227fc2fede13baf3a5951035 SHA512 a5ac0e4489f75ca0554d9a0d0a7a4f2439fd14224a2bcd1bb6e21717684a4c5e5e204c7b3eb67f9264aceaa30d47474affba7357e4006a2250a870392e67411c
+DIST serverless-application-model-1.94.0.gh.tar.gz 5784510 BLAKE2B 11e21c28253ede80e43730a3e885a0dc88f3020a9864c82e78b3daa1bfb57624bde911e4a66419e941c60394f467c094704d3c0eb365992c3fa53aaa2de5e285 SHA512 c1fa136bf96877db477dfed0a7024d77733cad3f7101b40a38f6386cfca8a9c25c0d4121fb1caa706b4bf879e2161c5009442e9391736e1d03777f20320f5bbb
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.94.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.94.0.ebuild
new file mode 100644
index 000000000000..4419fad76380
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.94.0.ebuild
@@ -0,0 +1,62 @@
+# 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 multiprocessing
+
+MY_P=serverless-application-model-${PV}
+DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
+HOMEPAGE="
+ https://github.com/aws/serverless-application-model/
+ https://pypi.org/project/aws-sam-translator/
+"
+SRC_URI="
+ https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
+ <dev-python/pydantic-3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # so much noise...
+ sed -i -e '/log_cli/d' pytest.ini || die
+
+ # deps are installed by ebuild, don't try to reinstall them via pip
+ truncate --size=0 requirements/*.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts= -o filterwarnings= \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 7cce0eb0e604..7057f7afbc22 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.35.63.gh.tar.gz 891481 BLAKE2B 092f4380aa31e57b3c8f6ef41ea8f0a4272e
DIST boto3-1.35.64.gh.tar.gz 892807 BLAKE2B bf2b899bfa3163efe20851079e764d99ccaf9c4a3555cc653363b42e018b9c5ce3bf3977d4fa0662de80c4163c4a97ff61842220d1cf21f6ff77c196fa6f6915 SHA512 3cb1f8ce15b2c7a977341c2f4338da6afa00ce359156bc48408d8f3c984a3ce8fc0da04c6897feb6e73bd4a5435d2b71a8f0e4d249880055ceda7b3e223a2889
DIST boto3-1.35.65.gh.tar.gz 894025 BLAKE2B 378eef8673f3ed9a6d1495d0c4182679edb7671bd358d6041cba955a7a59954a9f516dfe371080926da669c14a4d47179ed22ffb326fb60ac6782e4d4f6963f0 SHA512 ad2335b0b18915971f49d44249d87808ed7b70977b30894070df941e3a84d9acb215f95ed7176f97faf8a9065c039ac0919dd8500114f1cf2d55169fb989d5e0
DIST boto3-1.35.66.gh.tar.gz 896770 BLAKE2B 734980f82893d889fce0dadfd753f2be84390fef6d1d482c36b913ce02f5e189440c83eef8d94a34195289dc5246c244498f994b8be7ab439a66f32a97991c1e SHA512 a2fba42ba874fa829048f1579dcedba0eb8405a1d8474c90ebb941d44a575ac5c08f5830e2548fde37726dee279eea403ec8d894c28af1a67dab44af2ea4074e
+DIST boto3-1.35.67.gh.tar.gz 898885 BLAKE2B 2d9cdc0e78bca1ce3301c309d7f9db0dcce310300de2995101ad7a6200066a9e8a3313af96be0256832e01620329bf48182f244faf2558bad98d4217f81cd08a SHA512 e8f7b08391cb26b73faa3cf72b88a996774e8c18694784710481b4203cd8b75ec00ad8fe8bab724c42265514e18d77c4880b7e9a04a21e7d58be473b500962df
diff --git a/dev-python/boto3/boto3-1.35.67.ebuild b/dev-python/boto3/boto3-1.35.67.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.67.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 922e45fbc7d7..4cf702433ca3 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.35.63.gh.tar.gz 13692343 BLAKE2B 41ded808c412e9af8f938cf64db1632
DIST botocore-1.35.64.gh.tar.gz 13718535 BLAKE2B 6fb1e8f858b9b5ea0796df76bed1df5b66dcce9eedd7e82c736def7b8f515354e157f1892f2a8b0c7d26cc4cc0501c122c0c8002c4dec0e175adf5c37e26a861 SHA512 d822ed760c0abf04afd2929a634fed9bb52ab9829a16cf31777fc832c7ec58594fbdd17e66f113332d1c63f9beb3310565aabece069941750fa1a172fdbf9163
DIST botocore-1.35.65.gh.tar.gz 13727546 BLAKE2B a910934f226ca55c2cc55763f7a3eebdfe299410b9a99aadab3d938b864056063649984527f161969a3b0840bfad1e0bab07042c49de1efc8d25a3e17d33c496 SHA512 d7116f80522c3f5bafb29b7688800752539ee2ff06e53fd6b2a9c9cf3f37f9dcb3a731ec08d2cf735f737cabff3f5aa8314df697748135c56902c0ff4a3040ec
DIST botocore-1.35.66.gh.tar.gz 13752979 BLAKE2B cd8732c85c471c8360e6680e574a098e039020a22e4634f8c1f00df104e80b462f80be88db5b8f58e4d230acee8334ac8a5730fa63b8ced1f26e30922596f7d5 SHA512 29cd9ddbe8e51c5610ff1616c772da362721960eef72e95bf16559f175fa4ab908d54bf095154c6743f0fdcb057c966352beea693cc10b00ec7bf590da3e7e50
+DIST botocore-1.35.67.gh.tar.gz 13825419 BLAKE2B 3db50d138ff06df33dc5f5f42c409bfe70a8e5e8a8807d63049787a41f9dd81a3fa48dd26ac7510436dfee35ff6177e6ef04fa01da07057baea5afb7f53ab661 SHA512 61d829baea6a38bf005f85773789221190afd35eeb17d068e34d9aa425991cc29e2b896cca84e0ab29ff11911e69947d5b6aead574ed5b7498958ffb2e0443e5
diff --git a/dev-python/botocore/botocore-1.35.67.ebuild b/dev-python/botocore/botocore-1.35.67.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.67.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/keystoneauth1/Manifest b/dev-python/keystoneauth1/Manifest
index fe4bd8756c48..95f8bd3f7328 100644
--- a/dev-python/keystoneauth1/Manifest
+++ b/dev-python/keystoneauth1/Manifest
@@ -1 +1,2 @@
DIST keystoneauth1-5.8.0.tar.gz 278617 BLAKE2B 93437140316d1f353c42f3e8face97d9510c4a795f5c5c7c29b7dbd7c66887a819d71a66f35ebbda3851174cc9c738f53d8edc35a940e4c06a0b4cec19db36d8 SHA512 a427c9a6339cce57e53b78ee3e33276a87753e4cee44fe5dfbc85c7d54bc95bbc1e4536a26c8d1be1ef5a392e9095d529fd64df0ce61f1a4a4c0ba8078b2cddd
+DIST keystoneauth1-5.9.0.tar.gz 285336 BLAKE2B bfabd55f6048b78e03d4e65449357b3389842c292192e85a8c290070e0c349bf3e2d43168c2ac35bdd01222f65cd65676b7c3cb71a3b058e606778159e341d33 SHA512 bd16923a8819f9a097f414f3d0128aeb45733c7c3555dc21514c086322b30bb2d3e59ae9762888b78dce24480e6183e389f03041c7b3903d9456020d777fe866
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.9.0.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.9.0.ebuild
new file mode 100644
index 000000000000..8ceea74bcaec
--- /dev/null
+++ b/dev-python/keystoneauth1/keystoneauth1-5.9.0.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
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
+HOMEPAGE="
+ https://opendev.org/openstack/keystoneauth/
+ https://github.com/openstack/keystoneauth/
+ https://pypi.org/project/keystoneauth1/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to test runner name
+ keystoneauth1/tests/unit/test_session.py::SessionTests::test_user_agent
+ # broken betamax
+ keystoneauth1/tests/unit/test_betamax_fixture.py::TestBetamaxFixture::test_keystoneauth_betamax_fixture
+)
+
+EPYTEST_IGNORE=(
+ # require hacking
+ keystoneauth1/tests/unit/test_hacking_checks.py
+)
diff --git a/dev-python/latexrestricted/Manifest b/dev-python/latexrestricted/Manifest
new file mode 100644
index 000000000000..d80917ef4734
--- /dev/null
+++ b/dev-python/latexrestricted/Manifest
@@ -0,0 +1,2 @@
+DIST latexrestricted-0.6.0-explicitly-set-build-backend.patch 1161 BLAKE2B 7472a8b4ccec9dfdee6e994dcdbd2fa48c6dbd528444fd81769d7a8b997c1cf8dff86a66a7b1674bdcb3025022c41f954cc35740f0b8dab57dea0dc02d8e6db1 SHA512 bf1e50688c11a817a1f444f6e7a9dd90c413269fef68f7649b718d45ca458f38b712028f6b01777c65a016e17edd70cc609e605804cb6cec93b05ccbafad309b
+DIST latexrestricted-0.6.0.gh.tar.gz 21319 BLAKE2B f655861032ba38b87987a205def64d69e1602102c0d8e7b7fdb249e91cfd1a3bf506217a42829fb1a98387b0775db696c2d7ecb1e766cd1524766d866819f503 SHA512 99b4ff4818d24878e4eca0610a97b0a84e0f37f9432cf6e79cef352c67c9463d47049dd4b279d45b5869327dea9fae9c24d1a40e8d44d459c21a74b14ed68b68
diff --git a/dev-python/latexrestricted/latexrestricted-0.6.0.ebuild b/dev-python/latexrestricted/latexrestricted-0.6.0.ebuild
new file mode 100644
index 000000000000..b47f337ebd25
--- /dev/null
+++ b/dev-python/latexrestricted/latexrestricted-0.6.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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for creating executables compatible with LaTeX restricted shell escape"
+HOMEPAGE="
+ https://github.com/gpoore/latexrestricted
+ https://pypi.org/project/latexrestricted/
+"
+SRC_URI="
+ https://github.com/gpoore/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://github.com/gpoore/latexrestricted/commit/ebbb2280db83a859f26a2f2dc0252e4d6e316452.patch
+ -> ${PN}-0.6.0-explicitly-set-build-backend.patch
+"
+
+LICENSE="LPPL-1.3c"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=(
+ "${DISTDIR}"/${PN}-0.6.0-explicitly-set-build-backend.patch
+)
diff --git a/dev-python/latexrestricted/metadata.xml b/dev-python/latexrestricted/metadata.xml
new file mode 100644
index 000000000000..69f88f7aab77
--- /dev/null
+++ b/dev-python/latexrestricted/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>tex@gentoo.org</email>
+ <name>Gentoo TeX Project</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest
index e24747c7a77d..b72958532eff 100644
--- a/dev-python/pyarrow/Manifest
+++ b/dev-python/pyarrow/Manifest
@@ -1,5 +1,3 @@
-DIST apache-arrow-16.1.0.tar.gz 21707079 BLAKE2B 5541c364351e59e8164f2461546bce3ddc834d70b3a03b815b681187674bdd89ccfb7eb113bf9010c821845b0c1fa51f5321bfea5b20927e6364f6452ec980d2 SHA512 28975f59e1fdde2dba4afaf4a5ba934b63db3a7f27656e2aa0af0f0d2a046c9dbfa9a6082de94629c36d03809b296566a37ea65ec5a2fc17fedac7d21e272d31
-DIST apache-arrow-17.0.0.tar.gz 21822331 BLAKE2B 64f9321cbf13fafae5938f26840d3ef642d6f5b40386315030bc70fe8703786ee394c8483d2bde7961cf2b5c15470ffebd7c66029e116b05cfbf5524e9fe51f1 SHA512 4e2a617b8deeb9f94ee085653a721904a75696f0827bcba82b535cc7f4f723066a09914c7fa83c593e51a8a4031e8bf99e563cac1ebb1d89604cb406975d4864
DIST apache-arrow-18.0.0.tar.gz 19113236 BLAKE2B c358f8e61155432540a4002c6dfba7a3763d934a43eddae0a9a6f98bb26879df51e3cdcc64db6dd684ffde2ef8ef6dcff8906355b5769f71afae907aa1e920c5 SHA512 4df30ab5561da695eaa864422626b9898555d86ca56835c3b8a8ca93a1dbaf081582bb36e2440d1daf7e1dd48c76941f1152a4f25ce0dbcc1c2abe244a00c05e
DIST arrow-testing-4d209492d514c2d3cb2d392681b9aa00e6d8da1c.tar.gz 3572558 BLAKE2B fe5b6a46babbde8e2becefea09fecf090201a49faa7d4ee2f44b0bb4da42c344b37564999d32fdbd54a81a56c33fbde9b2d9d2fa664bf127cb5661e845fb6229 SHA512 6758ad936e1eeb2c5dd2b4b40fe90822a48a4ce67ee4d36657c168e1db5d9a17c092f4cf571b13d56b568a773515385441874d1ea36a1f6e5b15a99f67176fa3
DIST parquet-testing-cb7a9674142c137367bf75a01b79c6e214a73199.tar.gz 1068025 BLAKE2B 0fdd12d04108b27b17564c60ca36e751453f5d74cfbbe3a076e8befa1696aa0f093e2d1a5eacb99e69a98deda502930ba79b8329403af1e8b9d696e6617c6075 SHA512 dd221d9d59442cebb7158d7cf769d6e5323416bfcde2852eee37a26ff089bc04ea10b9ae7158a37d8694c10469d77c7d251d0dd2549596a7b3899d9c39b45997
diff --git a/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch b/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
deleted file mode 100644
index d43e15746408..000000000000
--- a/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/pyarrow/tests/parquet/common.py b/pyarrow/tests/parquet/common.py
-index 8365ed5b28543..c3094ee20b34c 100644
---- a/pyarrow/tests/parquet/common.py
-+++ b/pyarrow/tests/parquet/common.py
-@@ -83,7 +83,7 @@ def _random_integers(size, dtype):
- iinfo = np.iinfo(dtype)
- return np.random.randint(max(iinfo.min, platform_int_info.min),
- min(iinfo.max, platform_int_info.max),
-- size=size).astype(dtype)
-+ size=size, dtype=dtype)
-
-
- def _range_integers(size, dtype):
-diff --git a/pyarrow/tests/test_array.py b/pyarrow/tests/test_array.py
-index 88394c77e429d..1032ab9add3ca 100644
---- a/pyarrow/tests/test_array.py
-+++ b/pyarrow/tests/test_array.py
-@@ -3398,7 +3398,7 @@ def test_numpy_array_protocol():
- result = np.asarray(arr)
- np.testing.assert_array_equal(result, expected)
-
-- if Version(np.__version__) < Version("2.0"):
-+ if Version(np.__version__) < Version("2.0.0.dev0"):
- # copy keyword is not strict and not passed down to __array__
- result = np.array(arr, copy=False)
- np.testing.assert_array_equal(result, expected)
-diff --git a/pyarrow/tests/test_pandas.py b/pyarrow/tests/test_pandas.py
-index be2c5b14e68b0..ba9d6a3c01391 100644
---- a/pyarrow/tests/test_pandas.py
-+++ b/pyarrow/tests/test_pandas.py
-@@ -780,7 +780,7 @@ def test_integer_no_nulls(self):
- info = np.iinfo(dtype)
- values = np.random.randint(max(info.min, np.iinfo(np.int_).min),
- min(info.max, np.iinfo(np.int_).max),
-- size=num_values)
-+ size=num_values, dtype=dtype)
- data[dtype] = values.astype(dtype)
- fields.append(pa.field(dtype, arrow_dtype))
-
-diff --git a/pyarrow/tests/test_table.py b/pyarrow/tests/test_table.py
-index a58010d083e92..f40759de50c8c 100644
---- a/pyarrow/tests/test_table.py
-+++ b/pyarrow/tests/test_table.py
-@@ -3281,7 +3281,7 @@ def test_numpy_array_protocol(constructor):
- table = constructor([[1, 2, 3], [4.0, 5.0, 6.0]], names=["a", "b"])
- expected = np.array([[1, 4], [2, 5], [3, 6]], dtype="float64")
-
-- if Version(np.__version__) < Version("2.0"):
-+ if Version(np.__version__) < Version("2.0.0.dev0"):
- # copy keyword is not strict and not passed down to __array__
- result = np.array(table, copy=False)
- np.testing.assert_array_equal(result, expected)
-diff --git a/scripts/test_leak.py b/scripts/test_leak.py
-index f2bbe8d051bf9..86a87f5e742e8 100644
---- a/scripts/test_leak.py
-+++ b/scripts/test_leak.py
-@@ -98,7 +98,7 @@ def func():
-
-
- def test_ARROW_8801():
-- x = pd.to_datetime(np.random.randint(0, 2**32, size=2**20),
-+ x = pd.to_datetime(np.random.randint(0, 2**32, size=2**20, dtype=np.int64),
- unit='ms', utc=True)
- table = pa.table(pd.DataFrame({'x': x}))
-
diff --git a/dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch b/dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch
deleted file mode 100644
index f3e0053dd003..000000000000
--- a/dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/python/pyarrow/src/arrow/python/udf.cc b/python/pyarrow/src/arrow/python/udf.cc
-index e9b72a2592738..b6a862af8ca07 100644
---- a/pyarrow/src/arrow/python/udf.cc
-+++ b/pyarrow/src/arrow/python/udf.cc
-@@ -28,6 +28,10 @@
- #include "arrow/util/checked_cast.h"
- #include "arrow/util/logging.h"
-
-+// Py_IsFinalizing added in Python 3.13.0a4
-+#if PY_VERSION_HEX < 0x030D00A4
-+#define Py_IsFinalizing() _Py_IsFinalizing()
-+#endif
- namespace arrow {
- using compute::ExecSpan;
- using compute::Grouper;
-@@ -47,7 +51,7 @@ struct PythonUdfKernelState : public compute::KernelState {
- // function needs to be destroyed at process exit
- // and Python may no longer be initialized.
- ~PythonUdfKernelState() {
-- if (_Py_IsFinalizing()) {
-+ if (Py_IsFinalizing()) {
- function->detach();
- }
- }
-@@ -64,7 +68,7 @@ struct PythonUdfKernelInit {
- // function needs to be destroyed at process exit
- // and Python may no longer be initialized.
- ~PythonUdfKernelInit() {
-- if (_Py_IsFinalizing()) {
-+ if (Py_IsFinalizing()) {
- function->detach();
- }
- }
-@@ -132,7 +136,7 @@ struct PythonTableUdfKernelInit {
- // function needs to be destroyed at process exit
- // and Python may no longer be initialized.
- ~PythonTableUdfKernelInit() {
-- if (_Py_IsFinalizing()) {
-+ if (Py_IsFinalizing()) {
- function_maker->detach();
- }
- }
-@@ -173,7 +177,7 @@ struct PythonUdfScalarAggregatorImpl : public ScalarUdfAggregator {
- };
-
- ~PythonUdfScalarAggregatorImpl() override {
-- if (_Py_IsFinalizing()) {
-+ if (Py_IsFinalizing()) {
- function->detach();
- }
- }
-@@ -270,7 +274,7 @@ struct PythonUdfHashAggregatorImpl : public HashUdfAggregator {
- };
-
- ~PythonUdfHashAggregatorImpl() override {
-- if (_Py_IsFinalizing()) {
-+ if (Py_IsFinalizing()) {
- function->detach();
- }
- }
diff --git a/dev-python/pyarrow/pyarrow-16.1.0.ebuild b/dev-python/pyarrow/pyarrow-16.1.0.ebuild
deleted file mode 100644
index ebab2b360fe3..000000000000
--- a/dev-python/pyarrow/pyarrow-16.1.0.ebuild
+++ /dev/null
@@ -1,97 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Python library for Apache Arrow"
-HOMEPAGE="
- https://arrow.apache.org/
- https://github.com/apache/arrow/
- https://pypi.org/project/pyarrow/
-"
-SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz"
-S="${WORKDIR}/apache-arrow-${PV}/python"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv ~x86"
-IUSE="+parquet +snappy ssl"
-
-RDEPEND="
- ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
- >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-libs/apache-arrow[lz4,zlib]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/apache/arrow/pull/42099
- "${FILESDIR}/${P}-numpy-2.patch"
- # https://github.com/apache/arrow/pull/42034
- "${FILESDIR}/${P}-py313.patch"
- )
-
- # cython's -Werror
- sed -i -e '/--warning-errors/d' CMakeLists.txt || die
- distutils-r1_src_prepare
-}
-
-src_compile() {
- export PYARROW_PARALLEL="$(makeopts_jobs)"
- export PYARROW_BUILD_VERBOSE=1
- export PYARROW_CXXFLAGS="${CXXFLAGS}"
- export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
- export PYARROW_CMAKE_GENERATOR=Ninja
- export PYARROW_WITH_HDFS=1
- if use parquet; then
- export PYARROW_WITH_DATASET=1
- export PYARROW_WITH_PARQUET=1
- use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
- fi
- if use snappy; then
- export PYARROW_WITH_SNAPPY=1
- fi
-
- distutils-r1_src_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # wtf?
- tests/test_fs.py::test_localfs_errors
- # these require apache-arrow with jemalloc that doesn't seem
- # to be supported by the Gentoo package
- tests/test_memory.py::test_env_var
- tests/test_memory.py::test_specific_memory_pools
- tests/test_memory.py::test_supported_memory_backends
- # pandas changed, i guess
- tests/test_pandas.py::test_array_protocol_pandas_extension_types
- tests/test_table.py::test_table_factory_function_args_pandas
- # hypothesis health check failures
- # https://github.com/apache/arrow/issues/41318
- tests/interchange/test_interchange_spec.py::test_dtypes
- tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
- tests/test_feather.py::test_roundtrip
- tests/test_pandas.py::test_array_to_pandas_roundtrip
- tests/test_types.py::test_hashing
- )
-
- cd "${T}" || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs pyarrow
-}
diff --git a/dev-python/pyarrow/pyarrow-17.0.0.ebuild b/dev-python/pyarrow/pyarrow-17.0.0.ebuild
deleted file mode 100644
index 73cdaba5ec98..000000000000
--- a/dev-python/pyarrow/pyarrow-17.0.0.ebuild
+++ /dev/null
@@ -1,102 +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_{9,10,11,12,13} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Python library for Apache Arrow"
-HOMEPAGE="
- https://arrow.apache.org/
- https://github.com/apache/arrow/
- https://pypi.org/project/pyarrow/
-"
-SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz"
-S="${WORKDIR}/apache-arrow-${PV}/python"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ~riscv x86"
-IUSE="+parquet +snappy ssl"
-
-RDEPEND="
- ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
- >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-libs/apache-arrow[lz4,zlib]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # cython's -Werror
- sed -i -e '/--warning-errors/d' CMakeLists.txt || die
-}
-
-src_compile() {
- export PYARROW_PARALLEL="$(makeopts_jobs)"
- export PYARROW_BUILD_VERBOSE=1
- export PYARROW_CXXFLAGS="${CXXFLAGS}"
- export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
- export PYARROW_CMAKE_GENERATOR=Ninja
- export PYARROW_WITH_HDFS=1
- if use parquet; then
- export PYARROW_WITH_DATASET=1
- export PYARROW_WITH_PARQUET=1
- use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
- fi
- if use snappy; then
- export PYARROW_WITH_SNAPPY=1
- fi
-
- distutils-r1_src_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # wtf?
- tests/test_fs.py::test_localfs_errors
- # these require apache-arrow with jemalloc that doesn't seem
- # to be supported by the Gentoo package
- tests/test_memory.py::test_env_var
- tests/test_memory.py::test_specific_memory_pools
- tests/test_memory.py::test_supported_memory_backends
- # hypothesis health check failures
- # https://github.com/apache/arrow/issues/41318
- tests/interchange/test_interchange_spec.py::test_dtypes
- tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
- tests/test_feather.py::test_roundtrip
- tests/test_pandas.py::test_array_to_pandas_roundtrip
- tests/test_strategies.py::test_types
- tests/test_types.py::test_hashing
- # fragile memory tests
- tests/test_csv.py::TestSerialStreamingCSVRead::test_batch_lifetime
- tests/test_csv.py::TestThreadedStreamingCSVRead::test_batch_lifetime
- # takes forever, and manages to generate timedeltas over 64 bits
- tests/test_strategies.py
- )
-
- cd "${T}" || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs pyarrow
-}
-
-python_install() {
- distutils-r1_python_install
- # https://github.com/apache/arrow/issues/43299
- rm -r "${D}$(python_get_sitedir)"/{benchmarks,cmake_modules,examples,scripts} || die
-}
diff --git a/dev-python/pyarrow/pyarrow-18.0.0.ebuild b/dev-python/pyarrow/pyarrow-18.0.0.ebuild
index 3d2e345fb9b8..5a2f742880c8 100644
--- a/dev-python/pyarrow/pyarrow-18.0.0.ebuild
+++ b/dev-python/pyarrow/pyarrow-18.0.0.ebuild
@@ -33,7 +33,7 @@ S="${WORKDIR}/apache-arrow-${PV}/python"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~loong ~riscv x86"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
IUSE="+parquet +snappy ssl"
RDEPEND="
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 410ba95d92ed..6cc552c96922 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -49,16 +49,22 @@ DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6
DIST pydantic_core-2.23.4.tar.gz 402156 BLAKE2B af899e149693907542296b5b4fa5f982d2dca5c090331703212aabbbce0a8e0badca3947affa9e42998949ebd18b1ffc2ad9904b47e130bbe7e90150c32bc527 SHA512 c7c9a303ff3c751108622f804f812f3793ad93a95e560b0d6b0a866c3bd41ed7bfdbcd87483f37ad3849969c72adde24083d1a9015ebd610847a7fa6d4068e24
DIST pydantic_core-2.26.0.tar.gz 411154 BLAKE2B 98206a7dad82d8908102b787cf4c0366a4abdb36bdd6129dc684b810aa22372cef681b49b42453df0b535361bf5232b2d6e1fea583090b2b282a915ca8d2e87d SHA512 08d38844f216994af6842038ada324fb4bddd63e07bc79ce44ac44acf12981aaf8400dd1da53be74cd9d748d8562ba9cc7814a3df79be5995302256bd9d0793c
DIST pydantic_core-2.27.0.tar.gz 412675 BLAKE2B ee50fa4bc04033f5bca04b92acaf0542e22af73fabe522377cc9e76837945e55045700d6fbe1df8e63dda331e85db8b414cacd5dcfced2ade807ce877294f925 SHA512 55f3eb1b243800dd9d932643c1be5d4b09a86305b1f30fc21b9b73ea073f046fbc28c41158cba9f03ccbd396cb2ee0fc5eb87c19783b7db62785b50f4b95ac6b
+DIST pydantic_core-2.27.1.tar.gz 412785 BLAKE2B cdea663778301ed02649f4a06afc66f6d46e824ffc36c0f536cf48c291cb41da3498c55d79e0e52ad18e773baeb887493a048e3c8ef91a4a368528be6fb76494 SHA512 d3795398116bf971ddd389532e02494b08d40373a51013cfdd17608d05528cd65759b5e51d8e557b737e1a2d8491f9657a37e9c45696c2f08ac23139c81e0dc0
DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
DIST pyo3-0.22.5.crate 546700 BLAKE2B 8ee81360b205bcfc763dbd3d313e2d2f31bde4577bdc77a2ebc3084aa06e30bcc1f7efb97349d781b27882af5b8e82c6476498c86039b9c39286721ed1c08504 SHA512 48b9ada19bb12c6e5f1d41982c3b607f206d88dc078517c45106b631e0ad973145b0b60af06e58013a5189ca8b50e1cfa326c6904bba5aadb791933272ffb277
+DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
DIST pyo3-build-config-0.22.5.crate 31293 BLAKE2B c1e10f78ce66993fa4a88a5994f0266200a529c2939dc1d29137aaa6133bd4c83062cd00d347b491afe5dfcf2995f4a1a0da271a24baf198447b5983a9620d83 SHA512 c11ebfeff1e8ada612dbab16bd86fb8659edb9026bbd826cba84601096fa4192faf260e067b5f9efcd0e8e72fe90bc8f08358cbced45175c662d78bde5eb3d82
+DIST pyo3-build-config-0.22.6.crate 31369 BLAKE2B a1a72de120c4ac4f23a3faaf9b2e340231d7a778a29083ef25fd863fa213afb2a9b720333e3d46a6e1d32105f63073276a23b9bcd999a97fe71eaff3afc7db99 SHA512 9ab44c830e56ddb9ee537ce438fc690664d2c5416f01cdf72498ce062e4c1e7192eac8b7dc2de86c9f2212890b133b69a66209b1615c4eabdf4eaa6882a980fe
DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
DIST pyo3-ffi-0.22.5.crate 69354 BLAKE2B 91dfb41a24cb2b12bf54d6e54949a381ba6635ee55623a7f77a7e672fcf71d7f6937b7ab96f20457d770cf132047ddc9df50ea4aae8506d64e833f11a3b504e6 SHA512 36b8ed6273f7a0298179729c41081c787f353eb338be0f470859ce62a12e05305bd53eb24b6e72f2c56971f18bd64d16c63576f41909e9ac849f355041139a91
+DIST pyo3-ffi-0.22.6.crate 69352 BLAKE2B 99eea6ed87001b23fdeb263937bc14be0fadadc1ad77d4fa8834045ba2fc6ba5c0b89f4051916a058b7640be655afe22785b1da42aac8a32d10209b7b37bf810 SHA512 616e51a0eae1207830fe95251d5b62f126daf446bec68ac98cb1b8538aaa59761dbde62d446a9ee205c23453dbd32bd8ecb15e26265ed1fa1e5e2056efd96369
DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
DIST pyo3-macros-0.22.5.crate 8186 BLAKE2B 78f0c348fec0878ce4c873af3d4c438ccf02a5e971f2fd8b1cc9ea40a3aa8396dc6ea11e4d421a8b8c5eff5752182623632d92403ba6c5565b6b71b386768b04 SHA512 cfd848fb82f183290791930ca2e43a0db63de4f23436c1f1d3c688efdcbba1462346177c5956817418a0f0ea172b1039f5408a02a05ff03671dbb025f0697076
+DIST pyo3-macros-0.22.6.crate 8182 BLAKE2B 81998e4f4cb325763e4d3477af05b332e184cabf6391761f850d23508cebcf8d496ce12f747ea241523bb3899886eb20494b076a0651151744bb81d52901a1b4 SHA512 63f7a7b42e099742518c8a3bbc7647e98debb5500d08c39e11e8140fc146e790ab06e005d8d14c89aba79ebc5bf04fe1c92c0e9c5b13421307d3a4682d044179
DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
DIST pyo3-macros-backend-0.22.5.crate 66308 BLAKE2B d30c021da6b013abb8bbc8d55f110f3394c79d85f02506d7a42bba256afd639647210ed66bae289f4dfbd6d060995c0365b278749798b302eb89f1b09c074ab3 SHA512 8a79f9c6f948375e20804d2bc4b98d9fd7d39f99a936afb1d9a0fab599a3ad07e95bc985aa51b0ab8410b6b4f5ebaa2aa347013ae722a2b3f4c51f318415d472
+DIST pyo3-macros-backend-0.22.6.crate 66312 BLAKE2B ec0b11bee1ad2192e8d95cebab0075d6ec5bf628e3344b86fb8e20a6d0bc1f891b56ccfa4622840a609480581f32bd211b9a3d1dd989716cf255efe3fdc89331 SHA512 87463939b5a5674e30e8ca05ae747f652f8679f0c5c85d20967e9910ad853768a769a914580e82e409188fe4add80a3117ccb9da24c250406bc6f76fe4453799
DIST python3-dll-a-0.2.10.crate 74573 BLAKE2B 770c5b070f4dd1b9639b8aff59bb733575eb1117ae8e510818b6e13bdc69b22bcad395bb5cf0d1931de3562775a56e1404bb7fca7384b62e5e782e6284fa1494 SHA512 c1171c29f6914ff809950a9f6c330638e72c58c7c691bf4d9e765dee47166915cc91131b494b65aeb3a812543690c5072f2f5ff32cdebb76ba588330f9c74cdb
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST radium-0.7.0.crate 10906 BLAKE2B d576e0ea5c5287bcb6740cee3a3838b6ae4dfdef0ef05d34634b96dba5159e48260233db57a767c9e032fa5d9a5798361335cb19f7844f450113ece30ffbc51d SHA512 51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0
diff --git a/dev-python/pydantic-core/pydantic-core-2.27.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.27.1.ebuild
new file mode 100644
index 000000000000..422125bae366
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.27.1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ autocfg@1.3.0
+ base64@0.22.1
+ bitvec@1.0.1
+ cc@1.0.101
+ cfg-if@1.0.0
+ displaydoc@0.2.5
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.15
+ hashbrown@0.14.5
+ heck@0.5.0
+ hex@0.4.3
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ idna@0.5.0
+ idna@1.0.2
+ indexmap@2.2.6
+ indoc@2.0.5
+ itoa@1.0.11
+ jiter@0.7.1
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.155
+ litemap@0.7.3
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-bigint@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.19.0
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.6
+ pyo3-ffi@0.22.6
+ pyo3-macros-backend@0.22.6
+ pyo3-macros@0.22.6
+ pyo3@0.22.6
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ radium@0.7.0
+ regex-automata@0.4.8
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.214
+ serde_derive@1.0.214
+ serde_json@1.0.132
+ smallvec@1.13.2
+ speedate@0.15.0
+ stable_deref_trait@1.2.0
+ static_assertions@1.1.0
+ strum@0.26.3
+ strum_macros@0.26.4
+ syn@2.0.82
+ synstructure@0.13.1
+ tap@1.0.1
+ target-lexicon@0.12.14
+ tinystr@0.7.6
+ tinyvec@1.6.1
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.2
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ uuid@1.11.0
+ version_check@0.9.5
+ wasi@0.11.0+wasi-snapshot-preview1
+ write16@1.0.0
+ writeable@0.5.5
+ wyz@0.5.1
+ yoke-derive@0.7.4
+ yoke@0.7.4
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+ zerofrom-derive@0.1.4
+ zerofrom@0.1.4
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout -o xfail_strict=False
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 22b08886b021..1f44b2faaff5 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,4 +1,5 @@
DIST pydantic-2.10.0.tar.gz 781980 BLAKE2B 8880070271bc7bbffe2805699119077437dda3ed011b8dcb6e231eb235dff7e767c1412208a13af6699fc519d5dccbd5345456b76cda816a6460b23055455a4d SHA512 a50d5dfd8c9dd565a432744ff2f31a697d9d0ea6d1d71a69f973f45e75156413937c302f24af34736fbd566f391fcb1e94ab7a06884465cbfa0659ba2f15f117
DIST pydantic-2.10.0b1.tar.gz 777569 BLAKE2B 6fdde0673b28feb51921417b501b8a9fb43b36d94f5e564f96d04d09bacc34710be7a7d1b72d8a4e17fad493824b5fc556553d5508bff3942303191dc8501e49 SHA512 ef1fb40fb3601949455901b645d9333b37bc7fd9b53b7882ba81e1824a4f123981a3e32e9654e45b29695257c7bcfc19eedde30263862769d8e1c887d9b11d43
DIST pydantic-2.10.0b2.tar.gz 781700 BLAKE2B 82a3d8e4ab99113ca3e5ac46e058d1844d0870ce4fd5d6ada2ef23cebfc19cb040c4af553088b07904b857609e872caa7d20946536c5ed77fe4a452093e52cf3 SHA512 93ffa34b34ced16746b1f3e53218b863284f08cb1ec2f966cd024826926305c69b8b3bdfb389b9f1a2f26e5b678b054c20cd15bb2849cd665457977e9338b5e8
+DIST pydantic-2.10.1.tar.gz 783717 BLAKE2B fed0933c2f9443ab75cd1d8330944cef11abd0d1dad454c8b857ac76583c8dc9d32e1de99e7096b1e9b0134b258490dabd2b98db1c7901ef73fe5ef7c2675f1e SHA512 fd2283ec7463568f12e2a7a687e2a2b030441101f6c9aa621914ce1ba2bfd0b43da0767bdb0d1909a321f11cd37f85222eac4cc4ca59aa73a7b2fc6ccefd0f8a
DIST pydantic-2.9.2.tar.gz 769917 BLAKE2B 4e34fda6a9e8e8331278d0b7d0c2dfd61bde637c126fa6dabf78a09c6ef993f84dc8df6af421c8fb6d69c8e1c387a40e4bcd38cbe02f5ac521c6c70821735763 SHA512 2aace9e79a98bd94e5dc626736a245051912a11fdce36013d2ad2f96b266052386a3e12b259dca30ddc38b63c6b00b5bcc9cd5e80f7805de4d8701064f0982aa
diff --git a/dev-python/pydantic/pydantic-2.10.1.ebuild b/dev-python/pydantic/pydantic-2.10.1.ebuild
new file mode 100644
index 000000000000..9cccc70e535b
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.10.1.ebuild
@@ -0,0 +1,64 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.27.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 4abe191e8135..99df115b4dc9 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,4 +1,5 @@
DIST pytools-2024.1.13.tar.gz 82559 BLAKE2B c9b2d43a9538eb4a0daaf623345961e839cd227de22dc141923129418315947dc813b67d78c39d84062ef712842dfad63ef7d519d672960f25594e7f8bd5b0e5 SHA512 dc5d8e9ef291afc9cfab39450ecd886c3ca5776cb9f29b675ae7459a5ef2bdf29cc9978fe3991ef86b11516902d04c7de861947ea9f2d261735d52db2bfefc5c
DIST pytools-2024.1.14.tar.gz 83715 BLAKE2B 7670a6876f908097b07322fcce1acbebce9d4cbb9a955425544fe9f456895606629b84df894eb156eced9990f2f033301b48ebd511ee7dcbc06d1558dba4847a SHA512 07a4b2066553e0f2db5227e7f55db749e38c77afd566dcb45c65665a444451e8209ef028b7fdd3f855447bbac712e290211f3908b72335099057ff11371efe4a
DIST pytools-2024.1.15.tar.gz 77565 BLAKE2B 3f17e86ff07d52b7f749846a9da7ed176aed63402b22a8c2c7ad96f49a5a62f22463f2db111e2d01139212e2c489a22f2ea16d2e67840bd3d077a2d87fd75b88 SHA512 112832d9a826243c76600c80e6464aba9ad0ad11017befa04e8104ce84431f3da993c768cef441786c6458adee6c4bd067e235dc369918367c5acb9aebd903ec
+DIST pytools-2024.1.16.tar.gz 77921 BLAKE2B f0e2952d99944140c44600d4e3e0eb0d9b69cbc13b1e2bf75b7061299515811b3308e00909e782f4048fe03684766bfbc0cb63afb8bc1c2be8658286be3c5d3e SHA512 396f6eb5ba2cf6116cbcfb436eef8d78cd2061a8e888ebbd77d93703a8bb3ec41062264d84487d571f0ee871c33c215272e2dce1d7b3150aa772f0142a7711e0
DIST pytools-2024.1.6.tar.gz 81344 BLAKE2B ff68e2606170bf54e3f609ee7f4cfe58e063f43dcfb2706d5ed7659ea2fde863e6315d0d81dff2e62a3378f195413561a927b0c1e7bedc06388cf4893c07b873 SHA512 a9e934f1cbaf0ace32420f9b74224a06ce8421ee291b837292133969c6788c4cc8bea01446cd4d1505aca9fa81e8ae0d3eacf60d3285186e66d67d5abe10ce3e
diff --git a/dev-python/pytools/pytools-2024.1.16.ebuild b/dev-python/pytools/pytools-2024.1.16.ebuild
new file mode 100644
index 000000000000..1a8ec2950cfb
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.16.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=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# NB: numpy & siphash24 are an "extra" (optional) deps
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index c766eb08e1da..163f48b86859 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -1 +1,2 @@
DIST tornado-6.4.1.tar.gz 500623 BLAKE2B e359d9cbf5e7311e608753a2908e61ea121e4d108209866fda49e79ecca3dc8495c35583406dd7d6b2852c4f6a9df2e340b1f4b892489be976d70000ed51aa33 SHA512 294b4fff8a6d1b9592d355f7faf78f1a94a2aaea1b54414b7e81884b8d4069713a28f6105ae36f27be78abf4c47a1fceab3801bc92b5429374f7a534f104c437
+DIST tornado-6.4.2.tar.gz 501135 BLAKE2B 875513089ceaa6d1195cd6959e15bfef51cef4a61c55e678e0e60bd1001afa025d452441938a21ad91189d5c4d07c6cf85d0cec0f41e07cf2c4b7b66e0770c25 SHA512 4f4556f0f7db8e13a101254693f92841374114912960d9874948548452cc9b38933292c0e37971fb151a4d9dbcf5ed7563c1505e090a1aef306f1c46f351534d
diff --git a/dev-python/tornado/tornado-6.4.2.ebuild b/dev-python/tornado/tornado-6.4.2.ebuild
new file mode 100644
index 000000000000..3600a59a65ce
--- /dev/null
+++ b/dev-python/tornado/tornado-6.4.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python web framework and asynchronous networking library"
+HOMEPAGE="
+ https://www.tornadoweb.org/
+ https://github.com/tornadoweb/tornado/
+ https://pypi.org/project/tornado/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.2-test-timeout-increase.patch"
+ "${FILESDIR}/${PN}-6.3.2-ignore-deprecationwarning.patch"
+)
+
+src_prepare() {
+ # network-sandbox? ipv6?
+ sed -i -e 's:test_localhost:_&:' \
+ tornado/test/netutil_test.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x ASYNC_TEST_TIMEOUT=60
+ # Avoid time-sensitive tests
+ # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
+ local -x TRAVIS=1
+ local -x NO_NETWORK=1
+
+ cd "${T}" || die
+ "${EPYTHON}" -m tornado.test.runtests --verbose ||
+ die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index a52ce8e7d99c..f329d3e1c22d 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1,2 +1,3 @@
DIST yarl-1.17.1.tar.gz 178163 BLAKE2B 88d864944829e4b69ae346b0c6eb205969e9f9d2326d46f1eb4ed0506516f71730731763daf56e8230b699d5775c053c4750f6a770422cad392199ba5c099074 SHA512 5c1c25a8b828694a6538e7a07d01fc5d14238b279f8db4d76ee247a4f043b3e836c292cf6a77bb5ba544ec43dee449f2417eb0a5aaed6954449043a0fea3f811
DIST yarl-1.17.2.tar.gz 178947 BLAKE2B 5cca5ef7fa2745f76c72ba0fbd54a62344f8961d365f6777812cec6c44d42d3a573f25db25b3afe7ff93775aaff8c4f71a6cf13ed86061e14e37cab984c0d7d8 SHA512 d99cfb5bb89f60b41cad021af5971e42439f47c77b24de0ab43c372cedb15ee18bfca478889f002a322e24838e2978c30923f965ea879ba52549644b2a957348
+DIST yarl-1.18.0.tar.gz 180098 BLAKE2B bd49cb019cb0a7572ddb562aaf599929bfcd2f67758631d93fc0db90ea60919852f90ea196d6a5bdba9d03661d2bcbe82e2d51284c0ff6acc76b269e99bed5b5 SHA512 061b4cdb5d18718e847a45c5fdc854f75294be2198d5d803bf473eae06467a56188e36c672d31f083c7a96f213db831fe79c92479a43b63a40cc4a007062c0aa
diff --git a/dev-python/yarl/yarl-1.18.0.ebuild b/dev-python/yarl/yarl-1.18.0.ebuild
new file mode 100644
index 000000000000..638ce0f69079
--- /dev/null
+++ b/dev-python/yarl/yarl-1.18.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x YARL_NO_EXTENSIONS=0
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ YARL_NO_EXTENSIONS=1
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # benchmarks
+ tests/test_quoting_benchmarks.py
+ tests/test_url_benchmarks.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local opts=()
+ # note different boolean logic than for backend (sigh)
+ local -x YARL_NO_EXTENSIONS=
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ YARL_NO_EXTENSIONS=1
+ fi
+
+ rm -rf yarl || die
+ epytest -o addopts= "${opts[@]}"
+}
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 6b2cfe08cae1..f7104c1a5ad3 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -1 +1,2 @@
DIST zeroconf-0.136.0.tar.gz 238635 BLAKE2B 265dac1aed041d86f81264b5449952695f316cdfd9ff8e594631cd5c5eebad917d32537920308ae62feee7927307a667fdfd3cfd5c182fff08120cba19bbc60e SHA512 835f1e22a92e62efaba055816c962fdea12b80e3a875883da28919e952363ce14dea6b60738a2c199d6e4718c016c00a7dfaa86ee4b20347c69a771515240be3
+DIST zeroconf-0.136.2.tar.gz 238720 BLAKE2B c47bd38a75f01c1e4268c6567a13e664638c05efa1a45ff1593b3d1347e369acd7a284580a02d34f398710f5faf319150c9eca151667dbb6a184bad35f24d4ce SHA512 30e352cfa2c3b7e7c3b9e38d6d1db0471d1f2c7dcd6785b0aab63a1027da21e966565803d4b2bfde6a89d4362039165f19b5c179117128a992f4960af2ac031d
diff --git a/dev-python/zeroconf/zeroconf-0.136.2.ebuild b/dev-python/zeroconf/zeroconf-0.136.2.ebuild
new file mode 100644
index 000000000000..0c00ccff1261
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.136.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
+HOMEPAGE="
+ https://github.com/python-zeroconf/python-zeroconf/
+ https://pypi.org/project/zeroconf/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# the build system uses custom build script that uses distutils to build
+# C extensions, sigh
+BDEPEND="
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export REQUIRE_CYTHON=1
+
+python_test() {
+ local -x SKIP_IPV6=1
+ local EPYTEST_DESELECT=(
+ # network
+ tests/test_core.py::Framework::test_close_multiple_times
+ tests/test_core.py::Framework::test_launch_and_close
+ tests/test_core.py::Framework::test_launch_and_close_context_manager
+
+ # fragile to timeouts (?)
+ tests/services/test_browser.py::test_service_browser_expire_callbacks
+ tests/utils/test_asyncio.py::test_run_coro_with_timeout
+ )
+
+ epytest -o addopts=
+}