summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-25 07:55:25 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-25 07:55:25 +0000
commit345fe9eab74ece187aa4fb81823473439093946a (patch)
tree9831aefcd9f757a894e270f67a05f72bcb536b32 /dev-python
parente4e55bec45362d42ef50ecfdb40b594a0fb60701 (diff)
downloadbaldeagleos-repo-345fe9eab74ece187aa4fb81823473439093946a.tar.gz
baldeagleos-repo-345fe9eab74ece187aa4fb81823473439093946a.tar.xz
baldeagleos-repo-345fe9eab74ece187aa4fb81823473439093946a.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-30.8.1.ebuild42
-rw-r--r--dev-python/Faker/Manifest1
-rw-r--r--dev-python/Nuitka/Manifest1
-rw-r--r--dev-python/Nuitka/Nuitka-2.4.11.ebuild54
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.48.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.48.ebuild67
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.26.0.ebuild97
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/owslib/Manifest1
-rw-r--r--dev-python/owslib/owslib-0.32.0.ebuild51
-rw-r--r--dev-python/pallets-sphinx-themes/Manifest1
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.3.0.ebuild27
-rw-r--r--dev-python/pyeclib/Manifest1
-rw-r--r--dev-python/pyeclib/pyeclib-1.6.4.ebuild44
-rw-r--r--dev-python/python-daemon/Manifest1
-rw-r--r--dev-python/python-daemon/python-daemon-3.1.0.ebuild51
-rw-r--r--dev-python/python-multipart/Manifest1
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.14.ebuild44
-rw-r--r--dev-python/rapidfuzz/Manifest1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.10.1.ebuild59
-rw-r--r--dev-python/redis/Manifest1
-rw-r--r--dev-python/redis/redis-5.2.0.ebuild107
-rw-r--r--dev-python/sigstore/Manifest1
-rw-r--r--dev-python/sigstore/sigstore-3.5.0.ebuild64
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.41.1.ebuild56
-rw-r--r--dev-python/tinycss2/Manifest1
-rw-r--r--dev-python/tinycss2/tinycss2-1.4.0.ebuild42
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-75.2.0.20241025.ebuild17
-rw-r--r--dev-python/werkzeug/Manifest1
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.5.ebuild64
-rw-r--r--dev-python/xarray/Manifest1
-rw-r--r--dev-python/xarray/xarray-2024.10.0.ebuild126
40 files changed, 1092 insertions, 20 deletions
diff --git a/dev-python/Faker/Faker-30.8.1.ebuild b/dev-python/Faker/Faker-30.8.1.ebuild
new file mode 100644
index 000000000000..aea1a8ba7ec6
--- /dev/null
+++ b/dev-python/Faker/Faker-30.8.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-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="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index efdd8e243595..ee3f7eca4932 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -2,3 +2,4 @@ DIST faker-30.1.0.tar.gz 1796615 BLAKE2B 448e1361fc397d13898778f32148a0ff6b13dd8
DIST faker-30.3.0.tar.gz 1797350 BLAKE2B 3c8da599ea115637687d168acc299803844ec42d645ea6485f80911becdde4c0e93a1a065f831048651f1c749c74d05f57eb978ddb95f229f58d194710b3fbf8 SHA512 843d7b46ad5585b715a73a831f8f5fb912f545dcec1d12fbf2296278feb8b0838aad613df8f39b1c515657e617737795ce5775eba89d0d4e645325dc2f50b0ad
DIST faker-30.4.0.tar.gz 1799432 BLAKE2B 9037a0551f45c09eb695ecf6ba7749e6af2db8343bf62f8156670f98459d8eab5c0584a1b5a34328dce53f6cb36abd1dd5ba3c1f28185f3172446100680824f6 SHA512 3ae17dd7027f2b39cd40a43c88403a11638244f5f83ad4b227eac5a023ebf6b801fceb72e8a8165106c61abd144dcede28f4c6068db117c50840d5cda683d5ec
DIST faker-30.6.0.tar.gz 1806340 BLAKE2B e39a41aa46a45d9431908c0c76371fd51d23bcbb110bba8a8d015e150b7a4c5b767c5eca59846de659637af4f182377152b4ed49c1f68c971aee884df819e011 SHA512 e313d128ee8ebc724d63e0f3f42d16b5b8875e499449b67c0ce8b7ffc1613397c675da9f2933833ef112c6ebb669a51140183714015e9fcc3e02dbc097bfd8f6
+DIST faker-30.8.1.tar.gz 1808667 BLAKE2B 758f452bc7412a7a61f11c99202616c1b63817d7b33eca80d0d87d5181c735d124d68fd81b3c3db0b3c09898ecfd4b36b9cee6d80be8707a5ec79e871a7c4e08 SHA512 cfd628948c0a067c779b5ac830bac0169a92ceea44218db69565bbdac67f053a790541c020c1d3844589455437e36b32d9096993b8f511a06ebc6606c0c998b6
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index 63f617cfa17c..fc41b9aa443e 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -1,2 +1,3 @@
DIST Nuitka-2.4.10.tar.gz 3721360 BLAKE2B 0ae2cc7b620e6850d4593ef49b8e513ab1191f66e437c19e85b488aeb7925dd15ef24a7f5d75eee827a1703021c8a7cc9254f37cfc6c62c540a1223b410d18b8 SHA512 fd311511252f9644abe0dd36d769872fcb429e02aa74c7365836b44fb5af978cf021b9c9851e338023847aec7219b7a709bbf20f9d9c9922072ac0994c8c7520
+DIST Nuitka-2.4.11.tar.gz 3730066 BLAKE2B f75729f1aeb2c16ee87ae428af96e5dda27ca4bf926fa7625e6c521d2a740cac827a952d45daa569400c73a1121f571dc3450b43516b8357fe965ea5e4cf5378 SHA512 db516d6ce5b557401e9549b2cf816f15af147773eae255c89b382a60423ddfdf8ac20d4efcb7c2682d17b9cea26351a4decd9f7af6f5cdc451de237ea2df8a49
DIST Nuitka-2.4.8.tar.gz 3720021 BLAKE2B f3e89107e25baf0490e8dccba9c5e3e167fbdba395d21c8f9666a4f3e094c72fc295a7c57536deabaeb04dc0cb6682dcdf675f1305d5974e49e989c643aa6769 SHA512 da36c84e295f313c76d955498c8d4b46a57c162366dc9374188ae4bf236ad27df8a034c7942f089e1f4e196f44de27ab9d8dedeae991d9c29a51e86018eadb6f
diff --git a/dev-python/Nuitka/Nuitka-2.4.11.ebuild b/dev-python/Nuitka/Nuitka-2.4.11.ebuild
new file mode 100644
index 000000000000..cd36ef1f7397
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.4.11.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 02d0aca64828..5de097bd8d31 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.35.44.gh.tar.gz 875230 BLAKE2B 68c4fa6739a5d9cb720670a1bc14079ffac4
DIST boto3-1.35.45.gh.tar.gz 875934 BLAKE2B 0b532577dd9c27c50d6ddeb9916205f53926a401c6acb10a83b3f1b812ec9b084dc940f85d74c16cd7575345b512c58c5bd3865eabcbff7a8e12010f5165dded SHA512 96468e6fd5bf266061f499aa79be0420ecf03f7dc3b9172e39e79cf1e144ddd3365a43c1e5a4c441e8fb7005968cd1571542a390ba4b864257f171d62b5abbca
DIST boto3-1.35.46.gh.tar.gz 876859 BLAKE2B c37a8af936c8b02e08fe08fc300bb46df748654819db3ff82cb93db1350b1c37983ab4de5c191dda43632bc1460fa4e5e711ff2517873620f8b600e0abd9a931 SHA512 911f2bcbbe5c130d540e8b9cf718b17d53a128db8d12f28c965832f574b7261e057d9b669561ed928c6bd500ad7059760e4d54a56af8c5bc0e7954e897f454bb
DIST boto3-1.35.47.gh.tar.gz 877327 BLAKE2B 938f375ff94907713c91c849d2f16934088978dffbe93c0985d5a427ebe7aeea3e598dd373cf64c1a1d53cb7b3fd073c480b45aaf79e59697dee2a2c83102f5c SHA512 7df4fc0bb66df8ba1d1859ff727771a25e8eadcb6540f8b9ffc2b9f4d2358dca3b382e0868812d1bc6383abd19e4a73ea3328eb22f1d22583e23451f9b2a7279
+DIST boto3-1.35.48.gh.tar.gz 877808 BLAKE2B 19ac43a8b14ee2795396e3840f49450bbd62c8c603373e187623b8a0f3a588f89e754881506cd33da8cf7459879561f7eae1f92b74951d972d4b294a39889630 SHA512 08f3a8527b2d39c8409740bc742286914650eb2d0b47190369771c71846b039ac2a164a5d744afa621935d4453bcaf1224fffc1f46529f9a1dfbd64a158bf458
diff --git a/dev-python/boto3/boto3-1.35.48.ebuild b/dev-python/boto3/boto3-1.35.48.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.48.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 8a7680be8c97..ed613ffc6874 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.35.44.gh.tar.gz 13472693 BLAKE2B a38fd45888ee1e77d7dec3fbd5aeb9f
DIST botocore-1.35.45.gh.tar.gz 13481420 BLAKE2B 5b3559753dbe31febf6f0d037931300011c258176e25be0362c13a5a29863f0204a9f1bccecc4e29c3ddf8ebf7fea5cc65106220d36634415a7c5afff6c3b4ed SHA512 737caf38f4d890ba4383752ca735fe8eecaebdaea3cb00332fa8197697cc5159eb7d9c64d5c1b17813babceb29afa5a14a7c6ab047ce079b32c026e03a9234da
DIST botocore-1.35.46.gh.tar.gz 13487988 BLAKE2B d6349bf053c4742310fd63b49d07bd212705f057c196ea68de78a36717101c4c2eea0842033b5080535d2f777ebfb0742f11d5fd1ad4a91a1a59fa6f6f8fa3b6 SHA512 a073a318d50b479d5ae6158c7feaf24f9c2be256718b928f482c4f5b4daa06144fa667a5c2cbde642d2eef0fb997e64d0d734c7142115858f5395abdfc24cf74
DIST botocore-1.35.47.gh.tar.gz 13489577 BLAKE2B 88e53f47f412842e7c02196a4f5328c7c085540e7f7d1bb472840f3995cfab8bdd36cca6d81e942cd5cb60671d9b83971fcbb01baf6d33588f4d6e492959c2d2 SHA512 16a779e93e7bc70ed63e26fedd2febb7f93cd133489647903f2f56d6dbade35a5e1d9541fdb0f8abbda28c04eec6df8f7a0d86cec61ed235897f8f859debb102
+DIST botocore-1.35.48.gh.tar.gz 13470592 BLAKE2B 63e757b843771485dbf8aec918c2cc0affd44b5cf3c913055bb6f57346ba602b105f6f22432fef130f39237a1268f9223c88583588436f52f82417eba7ead2fe SHA512 90c6e6ab696a423533cb4929f011a4707bf891b4f180c25e4cf534e866485902ba422bbb73199f63b7e50af0bf695cee6fad03dc00bcdeaaf28330d481e514b3
diff --git a/dev-python/botocore/botocore-1.35.48.ebuild b/dev-python/botocore/botocore-1.35.48.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.48.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/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index e95dacc85231..f8067aecb5bc 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1 +1,2 @@
DIST fakeredis-2.25.1.tar.gz 149463 BLAKE2B a96c54cbbb221cfcf3d2a096fce90807a92f6cbc6ec474c3705058f47db8d37f7f957321c0ea631a116269068618fcbb1e9168fd17404a49611e37c423c2a08c SHA512 999113bb7c2a15ef16d51dc8c8eea906786eaaa102ed8d9d639423852a070c837504e8926bfa32fe7f4b2481d9e8fb0c588c3fe29347642e8984b46f0b2783ca
+DIST fakeredis-2.26.0.tar.gz 150240 BLAKE2B a0813dd0e4bf2bb788fdef3651f9419b5e0dcaecc2b8ebcd3f3774f59b498c90aedbd65aba7779d1eb16580c32e7625e481658f162cb01c3e0680562280b0675 SHA512 708256e08722ea61b8677d1d7299364582e279cd5d69b9551b037968652e361a93832696fd31c6255dae5d5ab2d6cda0b0f4c05c398bb4434b8d846f1feeab9b
diff --git a/dev-python/fakeredis/fakeredis-2.26.0.ebuild b/dev-python/fakeredis/fakeredis-2.26.0.ebuild
new file mode 100644
index 000000000000..66ddc0c117fd
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.26.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 2020-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="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.3[${PYTHON_USEDEP}]
+ <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/cunla/fakeredis-py/issues/320
+ sed -i -e '/LICENSE/d' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ # new redis-server?
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # tdigest ext?
+ 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis.py
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ # Note: this package is not xdist-friendly
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock "${args[@]}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6390
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..37a64204a00a 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index eb2586280d80..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/owslib/Manifest b/dev-python/owslib/Manifest
index 2bdfb6a46c0a..ca16a505357c 100644
--- a/dev-python/owslib/Manifest
+++ b/dev-python/owslib/Manifest
@@ -1 +1,2 @@
DIST OWSLib-0.31.0.gh.tar.gz 1041697 BLAKE2B 0fd7e0aa95a07229e171bbf3924a9a7036aa0e201a28c8198fcdd4a462d75b90b0979ffda7d9e20ec30abc284b97362fd195cda67c772f3f96642f1ae89ff753 SHA512 005e6f753472675aef0bd0ead138e9bafce2df4e3530003d4159a2ecf610164487ddeb63cf1dfeb6cb4847c878eb40056ccc77116aac8be658fb322ad650f41d
+DIST OWSLib-0.32.0.gh.tar.gz 1057997 BLAKE2B e4327b016529682125d6326839a47c93ea8446e209d2867cb2259f900d0049754c51240ca36b98e661abd40e6997fbc25a16d902ec7a34a453d5760c2faf1dd1 SHA512 16dd829db011609008e886def65fb31156f8f261a997a4a9a9db590456af24f3d7b2da87dff26a64d3f9ce64be5e269c792673997ca1f07b376941cd6243d4f7
diff --git a/dev-python/owslib/owslib-0.32.0.ebuild b/dev-python/owslib/owslib-0.32.0.ebuild
new file mode 100644
index 000000000000..d9c8bb702530
--- /dev/null
+++ b/dev-python/owslib/owslib-0.32.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
+
+MY_P=OWSLib-${PV}
+DESCRIPTION="Library for client programming with Open Geospatial Consortium web service"
+HOMEPAGE="
+ https://geopython.github.io/OWSLib/
+ https://github.com/geopython/owslib/
+ https://pypi.org/project/OWSLib/
+"
+SRC_URI="
+ https://github.com/geopython/${PN}/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Internet
+ # https://github.com/geopython/OWSLib/issues/951
+ tests/test_ogcapi_connectedsystems_osh.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not online"
+}
diff --git a/dev-python/pallets-sphinx-themes/Manifest b/dev-python/pallets-sphinx-themes/Manifest
index f23142ebdcb2..e81830b99727 100644
--- a/dev-python/pallets-sphinx-themes/Manifest
+++ b/dev-python/pallets-sphinx-themes/Manifest
@@ -1,2 +1,3 @@
DIST pallets_sphinx_themes-2.1.3.tar.gz 20124 BLAKE2B c66fac3aa625812c48aceee75a8296d272a1c5819463b41c2892aeefef4633da1d74c781b1669dbe87aa7af302169469fb04b7cc0492970156efcc53271e8c0f SHA512 2b11d05af4023b54b6bb3f1edda509648458542b9ff255b709cc01797551755d80851612259f460e3d17e4a3b5da0833e12c15bf5df11b38641c4d34007dc12e
DIST pallets_sphinx_themes-2.2.0.tar.gz 20659 BLAKE2B 4aecdfa83241371a8e6082663462f3b7bd0357ab452e478629728978ae8809e54d81480bf9b177104e3facd77a0deb4d228dcecd5c283e914c0af0165145302e SHA512 c7daea2e79f0a2c6b2bd1959cd36de65a8b094bf637703b51a7e6f9d0b7da5827c45b7d4504f3e8cc895046e3ca7e66e1411e0cecc51c0f6424dc0a9e7a95988
+DIST pallets_sphinx_themes-2.3.0.tar.gz 21029 BLAKE2B 0f0abb334beb70ddb6f6d85164914e6eac3b4e938d085c81a62c8f33a7e6eb8b599dc0b2ff7d164124797cd781e2eb23b0a9ae502a28bf8720c2d5464213cf78 SHA512 9c76ab7e8e2cecaaecab7ccc621bac685b28394d16e4d35d79b8dc7745ceff88cba23b04efeb1faf0b6a987cf173c9fc77364a7306bfe5029e5129fed791b5a8
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.3.0.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.3.0.ebuild
new file mode 100644
index 000000000000..c20e51f9bf09
--- /dev/null
+++ b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.3.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=Pallets-Sphinx-Themes
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx themes for Pallets and related projects"
+HOMEPAGE="
+ https://github.com/pallets/pallets-sphinx-themes/
+ https://pypi.org/project/Pallets-Sphinx-Themes/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3[${PYTHON_USEDEP}]
+ dev-python/sphinx-notfound-page[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pyeclib/Manifest b/dev-python/pyeclib/Manifest
index 8e97bf09573e..ded005b27935 100644
--- a/dev-python/pyeclib/Manifest
+++ b/dev-python/pyeclib/Manifest
@@ -1,3 +1,4 @@
DIST pyeclib-1.6.1.tar.gz 6690168 BLAKE2B 4e59c2827487f09a21f49751455fabd9ce672d6edb83befbc06e7aebe66c2f8de5f83a5ddec612fee2ac727fad247d66f36c659ebdf316759cd9e4438c7f085c SHA512 fdb855551e9695c3748d78d43bc306e536ef45476143445520284d4918f2c84757247d217ada2df565d03b1769ef83ac8c82b92b8438c2d40915f8008fd769c4
DIST pyeclib-1.6.2.tar.gz 50590 BLAKE2B c36957aa425395164e0710ed6d96704368ef15e6157e00cdb4790713f94858dfa61620f4a0ca0f93903716035d0009067a55dbc80ae7a16802ac38223b16452a SHA512 6d392a1701dd499c042e144db60cd1b12808adb312e77d25a4eec5fc0decd9084be810773562f0208c4192db17f9a699a72ea122bffc9511cfea865e843d68cd
DIST pyeclib-1.6.2rc1.tar.gz 51495 BLAKE2B 72e3286cc392e4325681a76cc53e06dad57d6ec8224bdf825f921b1e982cac5bf5d2a95d48ebf0e7673160c20ab4b4169848e8dd31d508cf1eb7777567abab18 SHA512 c5e9ffbf3b90b7a9e9737ca3c69e56f0bfa284e053e6107c843ebfd3a33df839320d24ca8210b0c74778b9c217f30a43b47c2c7d9206d2a686d635e385af1602
+DIST pyeclib-1.6.4.tar.gz 50928 BLAKE2B a115cbe6157f30edd2da3c3a16ff2c7871e1349c827491e80d2ca36e0ee221cf37bd49545f375828e16a3ceac7b84fae1d25247c86053ffba62d8196a9d0980d SHA512 132c2fda295f6bea3609b22783c0d68e65814929061785269e94fc29f35054b99c6073d836f61c5396c48d951eb35f3c83010946ac28f9ac900e2ff7bffefc20
diff --git a/dev-python/pyeclib/pyeclib-1.6.4.ebuild b/dev-python/pyeclib/pyeclib-1.6.4.ebuild
new file mode 100644
index 000000000000..604d7faa574a
--- /dev/null
+++ b/dev-python/pyeclib/pyeclib-1.6.4.ebuild
@@ -0,0 +1,44 @@
+# 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} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Messaging API for RPC and notifications over different messaging transports"
+HOMEPAGE="
+ https://opendev.org/openstack/pyeclib/
+ https://pypi.org/project/pyeclib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/liberasurecode
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # https://review.opendev.org/c/openstack/pyeclib/+/798010
+ sed -e '/library_dirs/d' -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ optfeature "jerasure backend" dev-libs/jerasure
+}
diff --git a/dev-python/python-daemon/Manifest b/dev-python/python-daemon/Manifest
index 2fa6ce8f7a06..3fdf73ffc291 100644
--- a/dev-python/python-daemon/Manifest
+++ b/dev-python/python-daemon/Manifest
@@ -1 +1,2 @@
DIST python-daemon-2.3.2.tar.gz 83127 BLAKE2B bce00867850e8451bcaf5a51864bdd751fa3b5e7be8ae1d36d724a915680713fc66c0fc6c8499bce03e0eb86465f5806fb8645376e600b8eac579fee3c24a087 SHA512 d9f6e6c376a496fae96bd9efed0a56d00a137617a3d1d5ef74802ef176bc813bb1d49bbb9164cdbec03213529f944b32b257bcc64283abfa4a3522ff00826bfd
+DIST python_daemon-3.1.0.tar.gz 61947 BLAKE2B d6f24cb72a033401a2eb1149c359ec49e044b0d549ae8ccb337dc60525f3ad80efd8646a50a51e6ba0768a5e8e77a3a5bd5b1a5aea3b54c5546769a5599d49ad SHA512 d7641baba841af8724dd37b66db605d07a62c947f01ff6328c44aca56deaa5a0891b8fe3bbbf5840e16c7080402776676892f105aac900944a8d2921a12edba4
diff --git a/dev-python/python-daemon/python-daemon-3.1.0.ebuild b/dev-python/python-daemon/python-daemon-3.1.0.ebuild
new file mode 100644
index 000000000000..62dc8f4ba2f4
--- /dev/null
+++ b/dev-python/python-daemon/python-daemon-3.1.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library to implement a well-behaved Unix daemon process"
+HOMEPAGE="
+ https://pagure.io/python-daemon/
+ https://pypi.org/project/python-daemon/
+"
+
+# build system and tests use GPL-3.0+ but none of these files are installed
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/lockfile-0.10[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # overengineered logic with NIH deps
+ rm setup.py || die
+ cat > setup.cfg <<-EOF || die
+ [metadata]
+ version = ${PV}
+ description = ${DESCRIPTION}
+ maintainer =
+ long_description =
+ EOF
+
+ # tests for their overengineered setup
+ rm test/test_{setup,util_metadata}.py || die
+}
diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest
index cbc1c007bbef..2c60fb152834 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1 +1,2 @@
DIST python-multipart-0.0.12.gh.tar.gz 92904 BLAKE2B 25076627fdcb3a4bfc9eda74218f9d6d30ea18517da00c312f50c9d3ae156894b29e83bd38d4e11d7d06732999ae9640243e660d2a037253b9f511772a6c737b SHA512 271ed29f3025be5c058a56ec56ce373348dc27b4c8130c17609bd48d73fc975b2ac8387d4989be578e1be01a618aad87c1d3ec3a37dbe73dc45813ec961842d0
+DIST python-multipart-0.0.14.gh.tar.gz 94136 BLAKE2B 7e6c99fb6c3a61d655447fdda8df4aeaad7157ba42959627d69cf079c5146a6a4c35bf972ee728343816fa2ceef3da81cb4140dda42b86b19c0cac7affcea7e0 SHA512 c53d3e8faec421dd05cd9c3695e80555ee9fdd65cf616fb65b4a948fa2ca86119e076d7b6b7aa1add386306774a5de1a03811b36eaf1cc36d6ab5310573ed0f3
diff --git a/dev-python/python-multipart/python-multipart-0.0.14.ebuild b/dev-python/python-multipart/python-multipart-0.0.14.ebuild
new file mode 100644
index 000000000000..e30a8926b657
--- /dev/null
+++ b/dev-python/python-multipart/python-multipart-0.0.14.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A streaming multipart parser for Python"
+HOMEPAGE="
+ https://github.com/Kludex/python-multipart/
+ https://pypi.org/project/python-multipart/
+"
+SRC_URI="
+ https://github.com/Kludex/python-multipart/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not install the backwards compatibility package
+ # we're patching revdeps instead
+ rm -r multipart || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index 34f3f6741e2c..0760f2011e19 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,3 +1,4 @@
DIST rapidfuzz-3.10.0.tar.gz 57942780 BLAKE2B 3510ef495e9eb2a158eae73526e109809a9487ce48a70189b0c6f25957e46a6a640f1d0f9ef00203ea7730a2ba2b1086db9faf20434c92afb6b7205057aa5c22 SHA512 88e92ac4bfd72288546265c4d3957ce672f314f08f39b11ba21c267b07797eec45315af788f94152a4704e0782df77fbcb40ef6773be7d3a5d3684fd7230e437
+DIST rapidfuzz-3.10.1.tar.gz 57982250 BLAKE2B 7b0c5f4a940b46bcc340eb8bf32cec3389b243368c36caa92e39e62f18c7ebb1f56d439bf8609825b4b64d743dc0ae041b4660b89cd03af0016944620ab99648 SHA512 f72a9ed6e3fd64640a877d50ab25c90d1969adfd93ff0029526a94ff1e62aa4fd8e9b4ce63ee8a5b37cfb68d2966051e76d78b26ef502a8c0b28fe5f462c8462
DIST rapidfuzz-3.9.6.tar.gz 1596107 BLAKE2B e108320e05ad3ad194b1ffa05d5fddc5bb6080e73ecb031117a0552d5685734870af4a87503022fceadf3fd38b31e71f85c05483b4aaaf4a9d7358d4566699b4 SHA512 015b947dcfd12ee48c7592ac2fc204833d8aa8e43110dab12dff7650e9f309a9a2017d2faf89b3c154cead23d9dc7fc1658f0ff5d2f8b5b3c73b2c97f021c7d9
DIST rapidfuzz-3.9.7.tar.gz 1596228 BLAKE2B ba3188748dc408cbe91718e890fd67e9ee47feacfe2b307038d7bfc6ffdb7aebb016b2276b591a1fd3a5c59df29a1b55a9555505f938638907d11deec9575f98 SHA512 b1a50f3ff0af044e0aa57a053bcefb3227dce2ed17b94ed82afe72203c6e858221c5ca955e4f190a0cb7adaeada11fab7fa5958e1c439deec60d96899207269d
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.10.1.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.10.1.ebuild
new file mode 100644
index 000000000000..a5696ed6c011
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.10.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYPI_PN=RapidFuzz
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/rapidfuzz/RapidFuzz/
+ https://pypi.org/project/RapidFuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-3.1.1
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+ # force recythonization
+ find src -name '*.cxx' -delete || die
+ # do not require exact taskflow version
+ sed -i -e '/Taskflow/s:3\.8\.0::' CMakeLists.txt || die
+ # https://github.com/scikit-build/scikit-build-core/issues/912
+ sed -i -e '/scikit-build-core/s:0\.10:0.8:' pyproject.toml || die
+
+ distutils-r1_src_prepare
+
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/redis/Manifest b/dev-python/redis/Manifest
index f07d5f33fe54..72d6cfa8d3e2 100644
--- a/dev-python/redis/Manifest
+++ b/dev-python/redis/Manifest
@@ -1 +1,2 @@
DIST redis-py-5.1.1.gh.tar.gz 4829819 BLAKE2B 2cf104142c70cb7b082178d26dfd84c9970488613551c2f87052e2f56f2bd1e816f4760dc2070dc8520098768263f810a524278ca6d24e0a97340d94434f97bb SHA512 2dbc5ba3138ca6b00c89185fa7b0280958eb66e3640c30ffe88bb77ef0cc88ae82f11e1d3d2cf94a2e8ef35ce30df3e5dd46ccb02d663a6acdb45085f3f1bc95
+DIST redis-py-5.2.0.gh.tar.gz 4832021 BLAKE2B 0b35e2fa0aa2a0d0d03f0bd7bd225ab959e39d7cd37b91411bfcae77ba0571aa81d072a9deffce26dec818e6e298ea9027738ef00b6819405b92b6d2c05245e4 SHA512 7e8661f1bf9ab66d58527124fa08419a962b2a6d45026029487ea8ec8fdf41565ccfa6610311508201ac2ef9ec57f16a0e51793a8c6447de57e0f0c0a829468a
diff --git a/dev-python/redis/redis-5.2.0.ebuild b/dev-python/redis/redis-5.2.0.ebuild
new file mode 100644
index 000000000000..666599dc2f14
--- /dev/null
+++ b/dev-python/redis/redis-5.2.0.ebuild
@@ -0,0 +1,107 @@
+# 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
+
+MY_P=redis-py-${PV}
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="
+ https://github.com/redis/redis-py/
+ https://pypi.org/project/redis/
+"
+SRC_URI="
+ https://github.com/redis/redis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/redis/redis-py/issues/3339
+ sed -i 's:(forbid_global_loop=True)::' tests/test_asyncio/*.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Flaky test
+ tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock
+ # require extra redis modules that apparently aren't packaged
+ # on Gentoo
+ tests/{,test_asyncio/}test_bloom.py
+ tests/{,test_asyncio/}test_graph.py
+ tests/{,test_asyncio/}test_json.py
+ tests/{,test_asyncio/}test_timeseries.py
+ # apparently available only in "Redis Stack 7.2 RC3 or later"
+ tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete
+ tests/test_commands.py::TestRedisCommands::test_tfunction_list
+ tests/test_commands.py::TestRedisCommands::test_tfcall
+ # TODO
+ tests/test_commands.py::TestRedisCommands::test_module
+ tests/test_commands.py::TestRedisCommands::test_module_loadex
+ tests/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_pubsub.py::TestPubSubAutoReconnect::test_reconnect_socket_error[pool-hiredis-listen]
+ )
+
+ # TODO: try to run more servers?
+ epytest -m "not redismod and not onlycluster and not replica and not ssl"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ if has_version ">=dev-db/redis-7"; then
+ local extra_conf="
+ enable-debug-command yes
+ enable-module-command yes
+ "
+ fi
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/sigstore/Manifest b/dev-python/sigstore/Manifest
index 3000e848db2c..5d5d71ee3760 100644
--- a/dev-python/sigstore/Manifest
+++ b/dev-python/sigstore/Manifest
@@ -1,2 +1,3 @@
DIST sigstore-python-3.3.0.gh.tar.gz 194796 BLAKE2B 34773c7d4d1a2e5c57534ebfc2ea7e8d8769a1243d082bf0298c6e85e14fab289551f951646aaa482deea5101cbb447d8629a05c31937e7d618f45077507ed12 SHA512 7a5659d4c49ba2bea9974e6588d673d1a16b9618ff3d45c8da68d9f77c098a872b5f68cdf2ea402de50deb8141ea98091bd199243fbde217f9076f3b155c5226
DIST sigstore-python-3.4.0.gh.tar.gz 200807 BLAKE2B ffb74589d6d740a5b16f4c7884966be8f34954bac9e746d5d210b2e9b23d06eb94b59f9e5f52358d7a934c23791c1a9616a449c320b87a17e3255c4351b0b556 SHA512 3624dd1611d1671988bec4518ffe6c135a3df3f7ce4171d8e93c7d848b2755688c1f349b77fb89643f7b2a9da530b1b1f52272abd2ddb3685d53fd6d5367a97c
+DIST sigstore-python-3.5.0.gh.tar.gz 201262 BLAKE2B dfbdbacda8aa57783a36a6ea1e4b443913df553a1aefeb1e458f98e347518876567a2cc9dedea543750d7431475108fe453824b63469c5e33c2596c3d6979ba1 SHA512 f8c6c382d5f37b79cc6a1a354b549a1cfdb452d702fa4570ea25b4509df3374cc828e55973125496a6681c1f054681c9852a96ebd0fdae56fec227c9cd73a343
diff --git a/dev-python/sigstore/sigstore-3.5.0.ebuild b/dev-python/sigstore/sigstore-3.5.0.ebuild
new file mode 100644
index 000000000000..edb74b786f7f
--- /dev/null
+++ b/dev-python/sigstore/sigstore-3.5.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=sigstore-python-${PV}
+DESCRIPTION="A tool for signing Python package distributions"
+HOMEPAGE="
+ https://github.com/sigstore/sigstore-python/
+ https://pypi.org/project/sigstore/
+"
+# no tests in sdist, as of 3.3.0
+SRC_URI="
+ https://github.com/sigstore/sigstore-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/cryptography-42[${PYTHON_USEDEP}]
+ >=dev-python/id-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.0[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-protobuf-specs-0.3.2[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-rekor-types-0.0.13[${PYTHON_USEDEP}]
+ >=dev-python/tuf-5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-resources-5.7[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:~=:>=:' pyproject.toml || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest test/unit --skip-online
+}
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 637603ff3b85..0bb594b41166 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1,3 @@
DIST starlette-0.39.2.gh.tar.gz 2573134 BLAKE2B e6cd3bd3e2c2fac96d8b145ffae3a680d775a7668d9baf4db09ab81036985c8c0f5cdc6505f6db56f51126013118568c75d6f0dd6c28ea330baf575a5ff7c004 SHA512 2e81e61451136802449baafd152bf6db9cdad9a111713efb16ccef419aeb9a99b004167cd890509bad613df12d300cb5531197867c594c2b755220a1dae7bf14
DIST starlette-0.41.0.gh.tar.gz 2573744 BLAKE2B 34e96fdb97eaf9fd2de66587c5fdd877d572269ada720f7d0e9f7d3befb4e500210236d84bb2d5eb4de49e7bc005485085671d47f3885c55eed6032ef98ebda7 SHA512 9640a6117c252bdad7f065c374e09eda56f1c2c2bd2d38748000651aeb4ce92f519c9598b8dec8579810adfcd7a58173ccfdf4e2c1953f2609aca520c5b45551
+DIST starlette-0.41.1.gh.tar.gz 2573805 BLAKE2B dd883e9247cf60ca98250c59640215e065513684321a8e7dceabc2681ad092939c50462ada8c5e50a6c6f7a46cc75439e164daaab045e0e218b9185ec885b21c SHA512 1b02527826534404c4f9a7a6f26d16a618d72e11f1a1bd5e7188928a76e5070c7f6ede488226247782c948948002e4d1556cabb41ff208a8d229f2eea2d61342
diff --git a/dev-python/starlette/starlette-0.41.1.ebuild b/dev-python/starlette/starlette-0.41.1.ebuild
new file mode 100644
index 000000000000..d6971f531a67
--- /dev/null
+++ b/dev-python/starlette/starlette-0.41.1.ebuild
@@ -0,0 +1,56 @@
+# 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
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.13[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/tinycss2/Manifest b/dev-python/tinycss2/Manifest
index 4aa31b3383d0..d4df55323d89 100644
--- a/dev-python/tinycss2/Manifest
+++ b/dev-python/tinycss2/Manifest
@@ -1,2 +1,3 @@
DIST css-parsing-tests-43e65b244133f17eb8a4d4404d5774672b94824f.gh.tar.gz 35943 BLAKE2B 69a3dd9e638d04b498c28bf8367e1d0bfe1876e8bcdfc6796f5b5715425f943e6308afa7774a5af5e6d3b3d5cd4f8424fa2809bdf0ecdadddfcfd36354986d82 SHA512 ed83bf447a595d754bbae9fcf25c3d2b4812f99b65c5e46b39d5f7ade57d49b4ffded9bc9d1cfef0a50b078f8ceb9bedb1d4f2f9ebf6db875eaad6c956b4f1d5
DIST tinycss2-1.3.0.tar.gz 67360 BLAKE2B f39eaaaafe2be20d2d420977e8d2d80c0e1817c277e14c57b155f1dafa54191ac2aed6908b038da5c03b4cbed66b626af432160699152800ebe2d7823e1685ed SHA512 d215ba2d8c580ca785bc2c3e33c8ae220c085e3ec1b932c01f81e176987c48559867af186056e2c501541d1d337b4fc33eea7ff2feba490e81076608b7c3aaee
+DIST tinycss2-1.4.0.tar.gz 87085 BLAKE2B c1aa1edb8ea5ae2fc3d68d4e9efd6aa057513064c9da6c2e528c4e1b3efc5f13837cf161a793d656c13451601b9cc7825af315b74616b26b42f4d3c2e9098f5a SHA512 be0faac6fc55113c4a110d6cd23714867f3f4c33829cadcc8619b1c7b801bc009501cd0f0f7b3d21040129526633ef1f956ef6cb2ca8955d32f2b0b11f875d92
diff --git a/dev-python/tinycss2/tinycss2-1.4.0.ebuild b/dev-python/tinycss2/tinycss2-1.4.0.ebuild
new file mode 100644
index 000000000000..ec671a575183
--- /dev/null
+++ b/dev-python/tinycss2/tinycss2-1.4.0.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=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+CSS_TEST_COMMIT_ID=43e65b244133f17eb8a4d4404d5774672b94824f
+
+DESCRIPTION="A complete yet simple CSS parser for Python"
+HOMEPAGE="
+ https://www.courtbouillon.org/tinycss2/
+ https://github.com/Kozea/tinycss2/
+ https://pypi.org/project/tinycss2/
+"
+SRC_URI+="
+ test? (
+ https://github.com/CourtBouillon/css-parsing-tests/archive/${CSS_TEST_COMMIT_ID}.tar.gz
+ -> css-parsing-tests-${CSS_TEST_COMMIT_ID}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/webencodings-0.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/css-parsing-tests-${CSS_TEST_COMMIT_ID}"/* \
+ tests/css-parsing-tests/ || die
+ fi
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index 7007d9125f94..8338e987a458 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -3,3 +3,4 @@ DIST types-setuptools-75.1.0.20240917.tar.gz 42585 BLAKE2B 7c38b2249c0f297e81f0f
DIST types-setuptools-75.1.0.20241014.tar.gz 42773 BLAKE2B b7be7f47ad03eafefc31e23aba284aca6f04cce32d20d6128effdcae6f7a00e3707ef9aec02de70d79a4fc73bedb33ceea965faf75bb1b75ab6576ae1e4a8f10 SHA512 784c8ded17746869066b4fdbb7203a17c8271baf8f019ff34da39f212284e6d6a28b06b583823e5bd7c58cb059459d07d46a3178b1784aeadce2ba7ed0c8a979
DIST types-setuptools-75.2.0.20241018.tar.gz 42813 BLAKE2B 99157a03b73056db869690814d4e68a1cc9ff0454d13a99ba0af849f8c5a14b1db5c64015c52fe9fedbf6a070b3a25b9de11d0000864f5c689d28141005151b4 SHA512 e7a39d28dc24d20769c6593224df61831aced34d3f12625bd05547a60565e357d37d616c693b0c1ffb2a32813a9795f8be65a3f495452e1e3ba88f987163bd59
DIST types-setuptools-75.2.0.20241019.tar.gz 42888 BLAKE2B 5aa214fd1c7b7d586376a41cc98bd95bfa4f634b17d3ac427df44b58bc297b94fd109bb49a9ae7c2c69dc94a49a71edff836220306541d978181f682ebf65e0d SHA512 c7e9ceee5477cd783b8ff49d2139d1d5bed690f3bd69aa6dc4870be7f5de5fa5b92e6034aa5b4ed9f7ff0c2b0f49c081579d9a83d58cbc4a8caae68150a723b1
+DIST types-setuptools-75.2.0.20241025.tar.gz 43477 BLAKE2B 76cc7b50a0b1a8f6bc11752caf5ff09272acd0ae8ddeb76c6c367fe8350be9ac9ce79b0cc8e603aaa3c90300b86fd97ab72241998ea69396a128207052dfd36b SHA512 86a1c753a7258d61678c9eda59c8d0f1549180e08216e754e717f7f07c50c4c48ec3275f1516d3b49566ba271be6aeee1b3ea3672c627fac98d8adbddf2b3d17
diff --git a/dev-python/types-setuptools/types-setuptools-75.2.0.20241025.ebuild b/dev-python/types-setuptools/types-setuptools-75.2.0.20241025.ebuild
new file mode 100644
index 000000000000..d27d371b9a83
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-75.2.0.20241025.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/werkzeug/Manifest b/dev-python/werkzeug/Manifest
index 2f6e1debcde4..70307cc851f1 100644
--- a/dev-python/werkzeug/Manifest
+++ b/dev-python/werkzeug/Manifest
@@ -1 +1,2 @@
DIST werkzeug-3.0.4.tar.gz 803966 BLAKE2B 56e992c61ed977a677ae4ca403adfb335457df2f096eed3589d74f5539282b144e70895e4d403c9fb72621bc145c91315fab0d3ddca5afcc0040c0e582cf05ec SHA512 40ca7a6c54ba5593a854d6fda6c6b0fed08f03aa970ac83c86aa16b434b6f24f204ca425a0fae3f42610ce6e7ff9220224cc927018a7181d673b48b71b848422
+DIST werkzeug-3.0.5.tar.gz 804673 BLAKE2B f094c5efe6a38ed74e571aead1c0981594351625a5c93fd17e6cfb4cba8135d08c5222b47ca4aa688436418f0dd6a00b1a7a354f0ee80f0a7607073883ca50ec SHA512 83db714067fcc29339b9fbdd4d20f849d7e4c0ce5f67e222241f3a3948204ff58d2bca97058b6f5e2aaa99328fa5ae5c68d09496f62c8095fa024f2d4532f9d8
diff --git a/dev-python/werkzeug/werkzeug-3.0.5.ebuild b/dev-python/werkzeug/werkzeug-3.0.5.ebuild
new file mode 100644
index 000000000000..b10b44aa967e
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.5.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=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="
+ https://palletsprojects.com/p/werkzeug/
+ https://pypi.org/project/Werkzeug/
+ https://github.com/pallets/werkzeug/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xprocess-1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-2.3[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pallets/werkzeug/issues/2875
+ "${FILESDIR}/${PN}-3.0.2-pytest-xprocess-1.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # RequestRedirect class started incidentally being tested
+ # with pytest-8, though the test isn't prepared for that
+ # https://github.com/pallets/werkzeug/issues/2845
+ 'tests/test_exceptions.py::test_response_body[RequestRedirect]'
+ )
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ "tests/test_serving.py::test_server[https]"
+ tests/test_serving.py::test_ssl_dev_cert
+ tests/test_serving.py::test_ssl_object
+ )
+ fi
+
+ # the default portage tempdir is too long for AF_UNIX sockets
+ local -x TMPDIR=/tmp
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xprocess -p timeout tests
+}
diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest
index 7632bcdb19e9..e42fe7ab0367 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -1,3 +1,4 @@
+DIST xarray-2024.10.0.tar.gz 3788358 BLAKE2B 974e84e4584201a435e6b2eb48e882f09c44b4fd66583fb86aad4002e404bb07480598e27b1ae5b66863b8f69026d62affdf999f0a6d316966e05841cf1f21b9 SHA512 3a17548cdc3d3b6123c81c124a47b1e538b223e8955593064b37dcc23f61b7cbaf62df57d74a0b8f8cd55f21bfd1a8c69622cb328d08e4212cf0c16d464416dd
DIST xarray-2024.6.0.tar.gz 3715179 BLAKE2B 42fa46883d27f656dca9b82e1647bd94a62a427582cd52d847131a8e01caf77a597fcc128453fee1f68c38897a9f995dd4c644e9b68b551ee1c28bc0d48e9465 SHA512 b6f24f834d71cca84f6a485858571a17bcb250915d4f84c886c9e16fc240ae3c3e91d573726e8a09f1dbe269abbfae97498868476eef1a90813ddb29c6a6db62
DIST xarray-2024.7.0.tar.gz 3728663 BLAKE2B c5b14c3d4ea2cec90565a8fb93e49974f52c6f0e55103cd791e746e674d886be85c7df244690513a482b32062e733a670b759b710739303ae79f9a13beea8c01 SHA512 6a094dacdd8f09fb4674c67e03e1df67d0651053088fe39912713842dddb397cf5b5629193df170a4738dc8f75e96ae26582c73fac4679a1439e9d015dfcfcd1
DIST xarray-2024.9.0.tar.gz 3747432 BLAKE2B 4b2a3be1712194710aa00f4416479d93171ba3bcc49a68edf2bff65a2224c334807d4db9e63a95d6da7f7bd08170771cdad73f2d224837c35ccfcb2c72b881fb SHA512 179e1a6689095a091c49d6fe3b34e72afbfcfbf4d10056a695e4804cee2fc5e6da1ff9b3073ecce790618031286a2f383f00042d38c49e94a672ee6c2214b85b
diff --git a/dev-python/xarray/xarray-2024.10.0.ebuild b/dev-python/xarray/xarray-2024.10.0.ebuild
new file mode 100644
index 000000000000..28cf501f49d9
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.10.0.ebuild
@@ -0,0 +1,126 @@
+# 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="N-D labeled arrays and datasets in Python"
+HOMEPAGE="
+ https://xarray.pydata.org/
+ https://github.com/pydata/xarray/
+ https://pypi.org/project/xarray/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ <dev-python/numpy-2.1[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.24[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+"
+# note: most of the test dependencies are optional
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ !riscv? ( !x86? (
+ dev-python/netcdf4[bzip2,szip,${PYTHON_USEDEP}]
+ ) )
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: these fail with filter errors even if netcdf4 is built
+ # with blosc/zstd support
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]'
+ )
+
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_calendar_ops.py::test_interp_calendar
+ )
+ fi
+ fi
+
+ if use big-endian ; then
+ EPYTEST_DESELECT+=(
+ # Appears to be a numpy issue in display? See bug #916460.
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
+ )
+ fi
+
+ if [[ ${ABI} != *64* ]]; then
+ EPYTEST_DESELECT+=(
+ # these tests hardcode object sizes for 64-bit arches
+ # https://github.com/pydata/xarray/issues/9127
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long
+ xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex
+ xarray/tests/test_formatting.py::test_array_repr_dtypes_unix
+
+ # converting timestamps into ns, causing an overflow
+ xarray/tests/test_cftimeindex.py::test_asi8
+ xarray/tests/test_coding_times.py::test_decode_cf_time_bounds
+ xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range
+ xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units
+ )
+ fi
+
+ case ${ARCH} in
+ arm64)
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype0-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype1-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]'
+ )
+ ;;
+ esac
+
+ if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_dataset.py::TestDataset::test_polyfit_warnings
+ # https://github.com/pandas-dev/pandas/issues/56996
+ xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range
+ # TODO
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[q-expected19]'
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[Q-expected20]'
+ 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype0-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]'
+ 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype1-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]'
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}