summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-04 03:04:33 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-04 03:04:33 -0500
commit3b087cb8037b6f474d64a793289ff822cebdf1c8 (patch)
tree39205d65894685267f578a7255e5ec028f40e614 /dev-python
parentb7c761e367074b6c8a81e0c7f64c72564299812c (diff)
downloadbaldeagleos-repo-3b087cb8037b6f474d64a793289ff822cebdf1c8.tar.gz
baldeagleos-repo-3b087cb8037b6f474d64a793289ff822cebdf1c8.tar.xz
baldeagleos-repo-3b087cb8037b6f474d64a793289ff822cebdf1c8.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/amqp/amqp-5.3.1.ebuild10
-rw-r--r--dev-python/bashate/bashate-2.1.1.ebuild2
-rw-r--r--dev-python/bitstring/Manifest1
-rw-r--r--dev-python/bitstring/bitstring-4.3.1.ebuild35
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.43.88.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.43.88.ebuild67
-rw-r--r--dev-python/capturer/capturer-3.0-r1.ebuild1
-rw-r--r--dev-python/django-otp/Manifest2
-rw-r--r--dev-python/django-otp/django-otp-1.7.2.ebuild (renamed from dev-python/django-otp/django-otp-1.7.0.ebuild)0
-rw-r--r--dev-python/gherkin-official/gherkin-official-42.0.1.ebuild2
-rw-r--r--dev-python/google-api-core/Manifest2
-rw-r--r--dev-python/google-api-core/google-api-core-2.36.0.ebuild58
-rw-r--r--dev-python/google-auth/Manifest2
-rw-r--r--dev-python/google-auth/google-auth-2.57.1.ebuild63
-rw-r--r--dev-python/googleapis-common-protos/Manifest2
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild29
-rw-r--r--dev-python/micawber/Manifest1
-rw-r--r--dev-python/micawber/micawber-0.8.0.ebuild35
-rw-r--r--dev-python/pymongo/Manifest1
-rw-r--r--dev-python/pymongo/pymongo-4.13.2.ebuild202
-rw-r--r--dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild2
-rw-r--r--dev-python/pytest-rerunfailures/Manifest1
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild29
-rw-r--r--dev-python/setuptools-scm/Manifest2
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild62
-rw-r--r--dev-python/sip/sip-6.16.1.ebuild2
-rw-r--r--dev-python/spyder/Manifest1
-rw-r--r--dev-python/spyder/spyder-6.1.7.ebuild209
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-30.18.0.ebuild (renamed from dev-python/sqlglot/sqlglot-30.16.0.ebuild)0
-rw-r--r--dev-python/urwid/Manifest2
-rw-r--r--dev-python/urwid/urwid-4.1.1.ebuild49
-rw-r--r--dev-python/vcs-versioning/Manifest2
-rw-r--r--dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild39
-rw-r--r--dev-python/vdirsyncer/Manifest1
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild70
-rw-r--r--dev-python/zmq-anyio/Manifest3
-rw-r--r--dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild49
-rw-r--r--dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild35
41 files changed, 828 insertions, 302 deletions
diff --git a/dev-python/amqp/amqp-5.3.1.ebuild b/dev-python/amqp/amqp-5.3.1.ebuild
index fb26fe332810..1611d5749cf6 100644
--- a/dev-python/amqp/amqp-5.3.1.ebuild
+++ b/dev-python/amqp/amqp-5.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,19 +22,15 @@ IUSE="extras"
RDEPEND="
>=dev-python/vine-5.0.0[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- >=dev-python/pytest-rerunfailures-6.0[${PYTHON_USEDEP}]
- )
-"
distutils_enable_sphinx docs \
'>=dev-python/sphinx-celery-2.1.3'
+EPYTEST_PLUGINS=( pytest-rerunfailures )
distutils_enable_tests pytest
EPYTEST_IGNORE=(
# rmq tests require a rabbitmq instance
- t/integration/test_rmq.py
+ /integration/test_rmq.py
)
EPYTEST_DESELECT=(
diff --git a/dev-python/bashate/bashate-2.1.1.ebuild b/dev-python/bashate/bashate-2.1.1.ebuild
index e68185dae39d..3d894aa13f2f 100644
--- a/dev-python/bashate/bashate-2.1.1.ebuild
+++ b/dev-python/bashate/bashate-2.1.1.ebuild
@@ -17,7 +17,7 @@ IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
test? (
dev-python/fixtures[${PYTHON_USEDEP}]
dev-python/testtools[${PYTHON_USEDEP}]
diff --git a/dev-python/bitstring/Manifest b/dev-python/bitstring/Manifest
index d138be1eee0a..d63992109a84 100644
--- a/dev-python/bitstring/Manifest
+++ b/dev-python/bitstring/Manifest
@@ -1,2 +1 @@
-DIST bitstring-4.3.1.tar.gz 251426 BLAKE2B 9dfc8e3b31c8edcba3a492e844ceca5da9fb874e655bb45c1dc478b8c0fe54a66beebb8869d70fbe9fbc02fc0cccfb8faee73602d99051abd732ff4d18e02e01 SHA512 5c36d37eb447632c95559788187ea40436fb327a6fab72c6c7332a11726172a1ac9f9ea115022ed2bab644152f04e73541efd838a057890763a2dba78d1dc4ab
DIST bitstring-4.4.0.tar.gz 255209 BLAKE2B f060e2ac349cb5b8430b87d262f738b3c028e9246cc6f3e2e041bd35f23326d36b48b79f43b1dd3d8974997db941b6068f42f9b84f618ce82217187be8aaad9a SHA512 ee845ba43cf77f9e36fee1109b73a0f61c35a4f08fd5bcba38bc3be934b9405830f4666704d77811593302bfcdecc25403c1a455a3fdf9174b133be758a46ccc
diff --git a/dev-python/bitstring/bitstring-4.3.1.ebuild b/dev-python/bitstring/bitstring-4.3.1.ebuild
deleted file mode 100644
index 310c3680f019..000000000000
--- a/dev-python/bitstring/bitstring-4.3.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pure Python module for creation and analysis of binary data"
-HOMEPAGE="
- https://github.com/scott-griffiths/bitstring/
- https://pypi.org/project/bitstring/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- =dev-python/bitarray-3*[${PYTHON_USEDEP}]
- >=dev-python/gfloat-0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- tests/test_benchmarks.py
-)
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index c2d96d08589b..b01887e7d931 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -16,3 +16,4 @@ DIST boto3-1.43.83.gh.tar.gz 1218064 BLAKE2B 0758e28dd9b086615b045e107aece2ef46b
DIST boto3-1.43.85.gh.tar.gz 1219943 BLAKE2B 4fe0a155efcdd5dcc17c91047fab4c59edb71ac6574fc1e6472db83d9b5effb66d69d346767a159f6708d7e2f61f2f59f6bf84557df98eb6fab83b4438f7540e SHA512 3f8ca9eb5857d3376dbc204b4c3755704e6039ddc3363665e7c3a3d764808815b43c3ce0181e19113a51b5e3c8965d3030c875435cf9b872df6e02bb6136e09f
DIST boto3-1.43.86.gh.tar.gz 1222155 BLAKE2B 9d7b9fcc7a0b016779a75fba6bbefc9e8482a4f0d323be4f70df93501384a089eb9958e70d54f8ae7034d20783f123124eed5e3bef80d432b2d73cfc1994ba4d SHA512 928731d0772f743654316b3280821450979dd219457370bbbbf2cd4670a1f0c414c022c042b35a950b6c1fdc7de2c7865f4ada12c3f43851a7279d056073964a
DIST boto3-1.43.87.gh.tar.gz 1223277 BLAKE2B 382ae63edc6c2578875d90f94132ac3d78d638121ba661f5ea38b9baba02a247e427d3a84ab1b9fac989ee6dfc9a125c7388e816951507346c59a657d5cf451a SHA512 2962861366281d0bb3c29554d90110dc4b86ae7e0c62aef9ed211443350329701d722d1b17a55706f9aa8ed96a2c7e9364f21f1eac8609786219fc8e3d4b386e
+DIST boto3-1.43.88.gh.tar.gz 1224962 BLAKE2B 653cabca3187a1b1bad1e8d7163b889599393c0f82e59aa920081eaa284b6fbc9b4fc4b1e43e9bfb4639ddd7e8b6f0083e67b64df5115645d0686b0d884c6ff8 SHA512 2f8a49a4a587b86964faaa995a8b1a3e4b8867e65c6854d68b9129fc9db90e357c1548f044f51931a9157405bc71fd70784444b7e7cc88fe4bde1a16d4c34efe
diff --git a/dev-python/boto3/boto3-1.43.88.ebuild b/dev-python/boto3/boto3-1.43.88.ebuild
new file mode 100644
index 000000000000..93fbbe6dd59b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.43.88.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+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() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index a6a964795f2e..e615538f788b 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -16,3 +16,4 @@ DIST botocore-1.43.83.gh.tar.gz 17038145 BLAKE2B f74b399b04f9b259e1a2f424719c4b8
DIST botocore-1.43.85.gh.tar.gz 17071353 BLAKE2B 84edcc7b58925e2674af6610760d683e74351dbf53c86d8fb5412739b4705677b2bd66a7f9b904ef917894cf0f1d818821fd3a61730c544d25f13e6ab54a3e1f SHA512 425d67488cfe19cd306792ab3a72e0afff0c269abb46fb26121c302f41bf683f905f480729b21929718e86ac74e390a70c07f52d0fabdc7961e063cfc87f49df
DIST botocore-1.43.86.gh.tar.gz 17090953 BLAKE2B 678080faeba0124717742214de0d2aeff669d12c315dda79df1213d897435fba91ceee6f999ae57e5f98784bdce771cbc4da735b1228c5ce945a08cd8e086173 SHA512 107571fc5da8d1ca180b64001f866e03099bec06d37129de9874ac2f28512dc0ff3915334b7681f151c4c6e4d50d58b1417552d0379afcb67c4743a0575acf99
DIST botocore-1.43.87.gh.tar.gz 17095695 BLAKE2B 9b964d12a54442537fab058a04da654314b17f075aa03d3a4f38f73f4d1a7893d9d5f7e5b9a34387e1a865f520cb50e0a8e919733a1060a5d58afbf700981903 SHA512 4cc96344bcad8ce8e0d72b998a7448cf6f6caa8520f0cef4bcdca0933ba897188ce9a70d164a867c8a19c0efb5a3aa0ebd88393ac1a7effb8f5677784bced3c8
+DIST botocore-1.43.88.gh.tar.gz 17108559 BLAKE2B 1e73e271b312208c14dd217d87046a973ddf2ee8e6f7fcd41bc03809dd86e0b890541fa43c9a6bb1c5d25b771fc7146df507b159e0a95081de27734d5db527e9 SHA512 76561aac063440763130062e5e5293198b18064c425b2cda695400c52644840f8d9c8135470952483204ac37fa11649e064f19ecb95d2ac2ec79e929fe921df1
diff --git a/dev-python/botocore/botocore-1.43.88.ebuild b/dev-python/botocore/botocore-1.43.88.ebuild
new file mode 100644
index 000000000000..a3a161f78545
--- /dev/null
+++ b/dev-python/botocore/botocore-1.43.88.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+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_PLUGINS=()
+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
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild
index 1b8fc19488ea..76b19a22f22a 100644
--- a/dev-python/capturer/capturer-3.0-r1.ebuild
+++ b/dev-python/capturer/capturer-3.0-r1.ebuild
@@ -23,6 +23,7 @@ PATCHES=(
)
distutils_enable_sphinx docs
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
index 098529081a6e..e95d0ba3a06b 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1,2 +1,2 @@
-DIST django_otp-1.7.0.tar.gz 75858 BLAKE2B 5c6ed23664e4c0d5af9a161e132d268dceb8518ffe795159e37ef324bef04773ac98c9e000e7b32c2703e9fcf2e048e584093f3a7d20cb125a5a1f56b8e7d9e5 SHA512 ecaeb839002ff348cd26e0a90c49e6191d01f49adc49691fda16beb062b1454a002c77e27dca791ec041dafd4d5cdd7b1ed08e1711809cfa18f1ade77662fa96
DIST django_otp-1.7.1.tar.gz 76923 BLAKE2B 96915810b86a52ac490f6f8a28bd516d07ee5d8890c66bd5120be2ee4bc9a72997cef6f0ac6e42e20a1f83b2a257ad02160b5976343a94a81f7d2f34893dda00 SHA512 db81dc18505a89a1be109d27c700891bb16df8bf2f281a51886c9c4666d3102a70bd0d87284407026b4ab1a478ca2029d348e908a09533e018c8583f65cd261d
+DIST django_otp-1.7.2.tar.gz 77376 BLAKE2B 197ac5c2375159523fbab9a02cba0a7507f8d0731c260c38edc10c08a6d91a27b42a1a28bd91b4c5505cb68a376ebfaa94836587d08358ccab4bf9f0a5b05765 SHA512 ffec0cd2ab0069615dee2e6a87501d89294d9c50ca0d28ef9bee5b600cdfe84a9df4b751aaa81c9fa330cb372fb3fdc9dd6bd0ab19cde26acd6dd1dd566dd051
diff --git a/dev-python/django-otp/django-otp-1.7.0.ebuild b/dev-python/django-otp/django-otp-1.7.2.ebuild
index 963a451ff6e8..963a451ff6e8 100644
--- a/dev-python/django-otp/django-otp-1.7.0.ebuild
+++ b/dev-python/django-otp/django-otp-1.7.2.ebuild
diff --git a/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild b/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild
index c123c65c80a2..7bafaa7c6544 100644
--- a/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild
+++ b/dev-python/gherkin-official/gherkin-official-42.0.1.ebuild
@@ -21,7 +21,7 @@ S=${WORKDIR}/gherkin-${PV}/python
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64"
RDEPEND="
dev-python/typing-extensions[${PYTHON_USEDEP}]
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index e1369f6d88e8..b1786660c322 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -4,3 +4,5 @@ DIST google_api_core-2.34.0.tar.gz 187953 BLAKE2B 5dd6c5fc1fe7317da1c2ad62cca890
DIST google_api_core-2.34.0.tar.gz.provenance 6103 BLAKE2B 0d06be8f59bfda59e4f00ec463d603f536c6f04fd8249f685f4d1eab449f3034c47e9f259cb3386ff8a96c399384c011f1f6c2c7a87d489c5361a478d91deb58 SHA512 5b1ad715956badb3fa8d0c991438e3ad5ad8c674277bba4de59f9dabcac6f548bdfe5b1e68ee83e00f35fbabca685f855cdb0e2598b122a1e2f898a3b71dbec5
DIST google_api_core-2.35.0.tar.gz 192600 BLAKE2B 3b124dabd34faba1b46b00c6cf4c1aadb95d8dec31a21df76e9980163de46a3b0b3961cf304b62af870478fc84c117b5c01ed7466d084962eb7549e1644eb80f SHA512 b577c925ef3f09a4ab5b5bb263883056dca9311f486c82178ddf112076083ec3b98f05e4423f2c544c5f598182fb6954259d5e5d7ca1fae85868b47848d24a53
DIST google_api_core-2.35.0.tar.gz.provenance 6093 BLAKE2B f40b129971da678fc75f68ba2b84bf408f5d00a5c713f4832d2a9c3e33e0bb35a279471d84317d0b1824d6fa5eef7fa62e1919aab7df8843a16d7efe384e5258 SHA512 1559570c5be55e094e23f38462e9b0189de0d2c2bdd8ea4bee01640eb9485fc1e2ca0222f71d3a83641da325ffddbe2e13ec07702917b57e5cad99dbde6dbe0e
+DIST google_api_core-2.36.0.tar.gz 196879 BLAKE2B b9026e37bec28104b81040536544938b319e6e559296c846991c74147399eb07042e8f2b9810af6e13f5d5936918d088f024005e999ee8bf497079431d22c15d SHA512 119d446ebd67bdd2f527d8bbc05e7877e1fa528e9421dabbef95597cf2e1a4555fe630f9e573b10836b98a65aa437c3a7d72a89a06d700cbf5214fd7084a44ca
+DIST google_api_core-2.36.0.tar.gz.provenance 5964 BLAKE2B ef264b3a188a19058f713cd8f83323e71734276d465b72f77b99a37c2ece8f0b9e25a70faa3879305621f84f1f99fe31029ec7c4f5c435565518c83a0ec4c17b SHA512 63ddeb9323376f41ce5368674f4a29cf5a8bfa0d9a4b60f3a469e4a11e2c8aaa3288cad03159ef4da605f93726ad1e4d46952403c2c00b90147014dc8e641835
diff --git a/dev-python/google-api-core/google-api-core-2.36.0.ebuild b/dev-python/google-api-core/google-api-core-2.36.0.ebuild
new file mode 100644
index 000000000000..2b11a77adbaf
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.36.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core Library for Google Client Libraries"
+HOMEPAGE="
+ https://github.com/googleapis/google-cloud-python/
+ https://pypi.org/project/google-api-core/
+ https://googleapis.dev/python/google-api-core/latest/index.html
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="grpc"
+
+RDEPEND="
+ >=dev-python/googleapis-common-protos-1.69.2[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
+ <dev-python/opentelemetry-api-2[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}]
+ >=dev-python/proto-plus-1.26.1[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.33.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ grpc? (
+ >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
+ >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/grpcio-1.75.1[${PYTHON_USEDEP}]
+ >=dev-python/grpcio-status-1.75.1[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-sdk-1.44.0[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,mock} )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # The grpc_gcp module is missing to perform a stress test
+ tests/unit/test_grpc_helpers.py
+)
+
+python_test() {
+ rm -rf google || die
+ epytest tests
+}
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 5bba6e561de4..229766c16e9e 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -4,3 +4,5 @@ DIST google_auth-2.56.3.tar.gz 367110 BLAKE2B d1c415d18e686ca7f0fd30f463261a9132
DIST google_auth-2.56.3.tar.gz.provenance 5911 BLAKE2B 33eeb083308a9f009de72cf9e50a16f7ab06729b9b60a575d5f4086eb43d980bda64a167a8333f318e540d5c35325231ced0c5a2d01b6aaa554806f7dc1801f1 SHA512 c339ee649742bc69d8bd2b447d90dc953475ad805677f3718c80d9f742e1f8e7552379b84579d958b648172030b039cadd8dd45a28dc1776a3be540841474d4d
DIST google_auth-2.57.0.tar.gz 370794 BLAKE2B 6ba872c80505223bf510547702abcb016abcb85e6d30fa6d819bc29e27b0700b2d41c29b4dd4e8b1965e8026ccdc683ff996ded74c32b82ae1283689127be873 SHA512 8aa4d2054273ce7c7f4b0ad771d19f1aa857ac7e47757bdf3e2e57184978cb57ad21479a335402e1b152deaa7caf3dc3e68a6c76eede687e81c6609e36ae3b7a
DIST google_auth-2.57.0.tar.gz.provenance 6089 BLAKE2B c62f6c80cc0ed0c5395d8e7a46462121ecc1adaaca6c440a1e9d4868373240157a4be21442f76088febccf0450741875ce433079b0d4205c6dc55293f3590432 SHA512 088c42769c686e08aebe04e3a70979f2e85ea9e360446448f12d59697176e051e839ca7d616d29f04a75fc323dd8f7fffd2e50b0225838eeb2f71dd0eb8ccaf8
+DIST google_auth-2.57.1.tar.gz 372426 BLAKE2B 55f44f41186b6fa55254c2bb50ca088fabc7263923fd0cf5be73c83f1e7a7f63ac3eefaa8016e87139529b23b875d098b62661164171a1bd82c274c1c90bbcac SHA512 355df27135280e6b7d1ee8741eb2fa57717146e6f56e1cb094bf5e0e88eedaae3efc0a01d619dd31e1c4323cc1321625ec9f25fa60712a7643bf4a3cd7cea21a
+DIST google_auth-2.57.1.tar.gz.provenance 6136 BLAKE2B 3f723f6b4ba7e50c326e24d4b4277a9c5e82c812a7c05680118ffa2071ed1034adf70f8ac0697d546330e784233ebd2b5efa8418625be0bea07c1f3bba182309 SHA512 b90e933a30f62868d9cd748c506d552023568c7713e76cd78bcd9dd6e26ebce3326117fb8ab0b63f4ac388d91d28b3b6cdfe1d88d77a78e588acfaeca0aa3d47
diff --git a/dev-python/google-auth/google-auth-2.57.1.ebuild b/dev-python/google-auth/google-auth-2.57.1.ebuild
new file mode 100644
index 000000000000..e460c792a87a
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.57.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# TODO: rsa is now optional
+RDEPEND="
+ >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,localserver} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # tests are broken with up-to-date pyopenssl
+ tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success
+)
+
+EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+}
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index 52528c3f6b05..1e25eb15a045 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -4,3 +4,5 @@ DIST googleapis_common_protos-1.75.1.tar.gz 150967 BLAKE2B 7af6c2314ce6ea567a287
DIST googleapis_common_protos-1.75.1.tar.gz.provenance 5974 BLAKE2B 720967601e6d83119a439dfcb95aad4695ebf36167d9213a338b1f95bb7144edb2b147a59449d609654e84b52f8a27cd63834b29059ef39825d49fa5561f26df SHA512 4c3a6cb8b25fa373278be9dd5005dd48f462435d14631847e8b4e4bae37075f5cccb2ea2bf243a12b2c25bff24dcb083589b10c73ca501eeea88fa28fae50fd6
DIST googleapis_common_protos-1.75.2.tar.gz 154083 BLAKE2B 50f1bb744f232e37c93a3ef6b71e8df77f0c9c74a67998c6d08faead3bf3b67a9338b91113cd75c7f28388fca04db424695eb8ff79ecb695158bed8b2e4b46ba SHA512 993e03c956c370f96703aea6477534f8eaa57ba7e4119f4739b1380c7ace478160c135137c8401804f0d47bf2def264b80eb336c92299a61965f7bb81d8dd53e
DIST googleapis_common_protos-1.75.2.tar.gz.provenance 6117 BLAKE2B dc55edaeb136c7943a9723724dcb11f8a8c7f8c1dfafb82b42d9b4d3924f7e4821a1dddd46a0ae5ce79935104452b9e42d6e93b6de8846f8a25e0ab29675ba90 SHA512 663e49e09567e48ecc660a542f27ad8c810a1ae9cef78f5a72af6f6f162fa6752d7d319f00509e9cc368630d95b7be0b5f68a284a6d4ccb540db7ba415368d60
+DIST googleapis_common_protos-1.75.3.tar.gz 153905 BLAKE2B c735728ca27c4781f4c8ca73662d4a5ad53c72932b2a0a0e8c91e9b77e580aec0d183a689d44a91307e64b8ac7eb5ec429d9d382324e64e4d2edc339f7cfbdef SHA512 3122c836efe8340e40d33bed4097f1fa765ee35146c186c2578af2166ba4e2070aea2e949499bee37ad41ae0229ec9840c7c3ed346d07485f095531f58a4598a
+DIST googleapis_common_protos-1.75.3.tar.gz.provenance 5976 BLAKE2B 3980706aec265c9584ea7004dd9be8b76926ba601f599f703c0d2d235308dcbc70b7be330a8d96bce447004dacb31f6df7d27a1fb6a56460d2bdd1d589f2c8e4 SHA512 5830412389ee994a9ccd04c480f796e5c6d516fc6dcada66c5a7094b61eb68b3ea615a147135f0855b7fdc9ab885ec9c494192efb7501714d321d3414b31d46d
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild
new file mode 100644
index 000000000000..ff059c44f854
--- /dev/null
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.75.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-common-protos/
+ https://github.com/googleapis/google-cloud-python/tree/main/packages/googleapis-common-protos/
+ https://pypi.org/project/googleapis-common-protos/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ <dev-python/protobuf-8[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/micawber/Manifest b/dev-python/micawber/Manifest
index a0413630ee55..bfe99b9a592c 100644
--- a/dev-python/micawber/Manifest
+++ b/dev-python/micawber/Manifest
@@ -1,2 +1,3 @@
DIST micawber-0.7.0.tar.gz 20023 BLAKE2B 438607127c1a742991bf7a2c725949ada5129817142c8d581bdb2a4dcbcde8ad041b93b83674975e9d73609f9c7aa3059e748fb86ab6019615ea711416ffe27d SHA512 58e3be30f26e7d939821dc4ce8a27b61a692ebe0734cd6f887a94d5b9ef8100c334a330590c7a4b07b4b9097abafc5e85f4d0b1ce18040dd0110f1cac15a1d01
DIST micawber-0.7.1.tar.gz 21456 BLAKE2B 430a8b2483aff09f58e10fd0e64e19256827864f16d8958f971ac035252e433ab72845c021feeaf9a4dbc98c319e9623b407348e0ef1a6ecbb02e651e78d30e9 SHA512 8b7d9e4bb28afd002d6b5fa2529c7248213b44f82e76e8ea1365a8674c09cf8dbcb79db65bc26d9f522c10d7f9bf6cf28c266b8b209d6d838d12c259c8adf2c7
+DIST micawber-0.8.0.tar.gz 38226 BLAKE2B 9683cc1644eaed4e37842b9b072ccb0e6d902dffce3ddfd9549b20a370d78f648de018966c8617155eca7ea0acfcdac2a8adb10e3f222652f6f44841456263b8 SHA512 97bc157d574c514108c8fbd40d6d3a622bf8c2e9188c0828158a3823474aab33858bad76c5ced8ec8d2331b05b3312409534869f5236e6a7ac339e86cdbb90a4
diff --git a/dev-python/micawber/micawber-0.8.0.ebuild b/dev-python/micawber/micawber-0.8.0.ebuild
new file mode 100644
index 000000000000..cb8a6196134a
--- /dev/null
+++ b/dev-python/micawber/micawber-0.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small library for extracting rich content from urls"
+HOMEPAGE="
+ https://github.com/coleifer/micawber/
+ https://pypi.org/project/micawber/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/beautifulsoup4-4.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index ded7b6a71d97..e1fee0e79488 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,3 +1,2 @@
-DIST mongo-python-driver-4.13.2.gh.tar.gz 2227437 BLAKE2B 3aa6d0feedc6a33eb4e9299d85eeab2a9638bf713cfadf9f4018f6bd668758d3afd5b9b4b71dec037fb3f99e89cc34e299e1d9b4521c8ace9da9ce50ae95142b SHA512 845cf92e702a9970f2ef1b5085fffcca96021e0f2fc5133e24b2860482dafabe7770d9421922659d0c6008aac1d5a70834ee4f1728a648fd83e6d33bc33568b0
DIST mongo-python-driver-4.16.0.gh.tar.gz 2569546 BLAKE2B 7e81fd259f6ed21d4a600f41b6945f520b650bcde2764cdafab85664143dbe76b2d9e1a1db0306bc39afdcd62afc3e250c6e04031b01ffd9dacda8b968786c21 SHA512 38e347599fe26cbe9846ef7f1e0e4adb3aea5dc949d0e8a4bd61806dc00808804e1c34e9213f09c30aab75d26243dd2ed54ab5014e604b127a5c71337855195f
DIST mongo-python-driver-4.17.0.gh.tar.gz 2597488 BLAKE2B ad733542ca37f1de3e267ef58b5d4c23a4ee10f1b7a9e43ad95adc8602b427cee4ed4126632618c2f1f7134da3d51ee31bed27c36aab47c9f0ee1ebb47e5e6ce SHA512 da3d2d6136e9e4c697f6f5a9a38010bcd6f00a5cbf018de7b6afb3bc9e459ce9a8fcc95db79422eb2ef5d677baa564934db01a5ca4e2909a63c4538098986ab7
diff --git a/dev-python/pymongo/pymongo-4.13.2.ebuild b/dev-python/pymongo/pymongo-4.13.2.ebuild
deleted file mode 100644
index d0593db55e90..000000000000
--- a/dev-python/pymongo/pymongo-4.13.2.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-src_prepare() {
- distutils-r1_src_prepare
- # we do not want hatch-requirements-txt and its ton of NIH deps
- sed -i -e '/requirements/d' pyproject.toml || die
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- export NO_EXT=1
- else
- export PYMONGO_C_EXT_MUST_BUILD=1
- unset NO_EXT
- fi
-
- distutils-r1_python_compile
-
- # upstream forces setup.py build_ext -i in their setuptools hack
- find -name '*.so' -delete || die
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/asynchronous/test_async_loop_unblocked.py::TestClientLoopUnblocked::test_client_does_not_block_loop
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
- test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
- test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
- test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::ClientUnitTest::test_detected_environment_logging
- test/test_client.py::ClientUnitTest::test_detected_environment_warning
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/asynchronous/test_dns.py::IsolatedAsyncioTestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/asynchronous/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
-
- # fragile to timing? fails because we're getting too many logs
- test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
-
- # hangs?
- test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
-
- # broken async tests?
- test/asynchronous/test_encryption.py
-
- # -Werror
- test/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
- test/asynchronous/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
-
- # fragile to timing? Internet?
- test/test_client.py::TestClient::test_repr_srv_host
- test/asynchronous/test_client.py::TestClient::test_repr_srv_host
- test/asynchronous/test_ssl.py::TestSSL::test_pyopenssl_ignored_in_async
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest -p asyncio
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- local failed=
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- # mongodb is extremely inefficient
- # https://www.mongodb.com/docs/manual/reference/ulimit/#review-and-set-resource-limits
- ulimit -n 64000 || die
-
- local mongod_options=(
- --dbpath "${dbpath}"
- --bind_ip "${DB_IP}"
- --port "${DB_PORT}"
- --unixSocketPrefix "${TMPDIR}"
- --logpath "${logpath}"
- --fork
-
- # try to reduce resource use
- --wiredTigerCacheSizeGB 0.25
- )
-
- LC_ALL=C mongod "${mongod_options[@]}" && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- nonfatal epytest -p asyncio -p rerunfailures --reruns=5 \
- -m "default or default_async or encryption" || failed=1
-
- mongod --dbpath "${dbpath}" --shutdown || die
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild
index b6efea97c713..030dcc8529d3 100644
--- a/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild
+++ b/dev-python/pyqt6-sip/pyqt6-sip-13.12.0.ebuild
@@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt6-sip/"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index 30418ec4686f..ba27fc32d04d 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1,3 +1,4 @@
DIST pytest_rerunfailures-16.4.tar.gz 36635 BLAKE2B 7c58727d8a7a0525a385744df124b4c7cf0ae0342407e3f458809316b66afeae4f0635d210fdab4d3222c0795a53cb652b8c6ec926430406702ee1cec2cb7b72 SHA512 d8b9f6fec33305654b7283802cad6b3741d91e0157f1ba901aa4f75c853a3bd73e7be6be0de17ae95707f161755f7a0905267a9171c20fa904033fcb0ad460ef
DIST pytest_rerunfailures-16.5.tar.gz 41475 BLAKE2B b9ca891a231d275714e0184c1907a89be7ed87a7df96195fb6d474d53d6130989ab0d9d8432a080a643d9b703a695bebf763d5947c4ace1ac34c726bb0d4467b SHA512 13752459ed30e5cf45c772ce71e04e2cca0e7cbe8788a8fdd8d5077117855b0c64194a21438ab15c945200597686c64711766e8b405ef74cf9d60e38ee91d92b
+DIST pytest_rerunfailures-16.6.1.tar.gz 47719 BLAKE2B a2ba5ba2d1a6ae81af4a8c69616d7f6fb86594dbee5d47356493ea783984c58669526cf264adc7538a57dd68a115e3217f73aa03f021aef2ef3ed5d1be67f6b2 SHA512 cd623dba6a31dccffb577ec452495c6ca60f7868dd904316cdcad557e5a504cb3cd446d9b0ec4dbe579171fbe11c48419956165584bb9df8c038ee43eee10ef4
DIST pytest_rerunfailures-16.6.tar.gz 42806 BLAKE2B 480cc28393b98efb749b9ffde5e9ab348b5447ed82ea095212192902e106b6304a11cb4d9c8c2d7d8e7842dad3720b0d6e7b2c1b9ea6935fa6c7729348abacc7 SHA512 13e89a18d70054eeb023836666a0246db268b3361fe943137a05890c8d57035d6e3dda7bc758f6c101df5ea14a14c0be944c18c1c94924e685511e1061291b9d
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild
new file mode 100644
index 000000000000..58e4cd8777e3
--- /dev/null
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.6.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to re-run tests to eliminate flaky failures"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-rerunfailures/
+ https://pypi.org/project/pytest-rerunfailures/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8.2.3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
diff --git a/dev-python/setuptools-scm/Manifest b/dev-python/setuptools-scm/Manifest
index 8aa3ff89c4f7..3f3c1004ea19 100644
--- a/dev-python/setuptools-scm/Manifest
+++ b/dev-python/setuptools-scm/Manifest
@@ -2,5 +2,7 @@ DIST setuptools_scm-10.2.1.tar.gz 154237 BLAKE2B 250978fc39815dc05f79aa5da3a6883
DIST setuptools_scm-10.2.1.tar.gz.provenance 10217 BLAKE2B 305ce26746d8239bca467956131f6d61b10084218e72e668cdee2108af9c03da6597d663d7bbc8309e056c3865d4808538ac7187c31dcfdeb9f659571754ef4c SHA512 e1620b0da56d77d6ca658e993d7663a86ac3cd5eb7d4e31ce147d156ad3365d922aa28ab42cf61c8c85f0f8e2cc350590d1f5cf4b2a63def8517d963125f870f
DIST setuptools_scm-10.2.2.tar.gz 67111 BLAKE2B ce2f0eb600dbe7c6622bacb7307e8cc49273b516f9b907cb6cc93332c53e1ebdb5eab2e75312632931e7e81d519596dc38a40fb207341882c4aa98a05df3f347 SHA512 6b790910b6658c0843e8dd74ed21a2aa50eee67dbf20648ab7a466f020f871037f7826a0392c6398f515df5e7e57ed7c92bf855245d2e8b6275c73a5147e4dfe
DIST setuptools_scm-10.2.2.tar.gz.provenance 10207 BLAKE2B 4d2aed3ed9bfb79eceeb1ab5dd138afd11452beca54062c7a20523eaef910225e839c3548ef268ff1533697284ccda84fd902641e7c602bb79b5ab49b2103d36 SHA512 93502cdff448756fda9ff9ca45de0480a2250745a5fd63cc57b369d4378baf42755cf942925eb03fff90433b95c603293dd6014c032ccc16fba1edabfbc1bdb7
+DIST setuptools_scm-10.2.3.tar.gz 67696 BLAKE2B 43d36a0ef3221f96d980311b5c4ac884320b7f54665fefe4f56e03ae3172954bd95f29bb881074bbb04f3c248c6140e7281b2ae5232f9fa09770449a5c7e5fcb SHA512 845403e925247c70f9399dc98da08e13fd5bbdbabb339ed380abccc07590eaf35efc592c04f5b8b44e55bbbf63d5c92e423fc12cf06534efafff20fb70c53f57
+DIST setuptools_scm-10.2.3.tar.gz.provenance 10125 BLAKE2B 581394d2844a82bd6f4eabc86a6c77d355a573573140e151a4b0d99525e51ea0df8fec8cbae2c331764f4377b3c4283620d8f1336251218f1c14b58318a2e31a SHA512 304b057feab4715373caff13d24b4599e73711a9de0833b4f0e6422914be997ad63fbb4fb15b14329c03e772c89493c5b68d97d6b0a37e6d99c5907db77c4298
DIST setuptools_scm-9.2.2.tar.gz 203385 BLAKE2B 8577c4c6265ae851212be04b245b3da8b49d541174f5e675dea916c76b3cba5b5ab9f6264a97904e2d5ca02dee4e3f8eb88c9e8badbba2ed53bed531fe9f6b6c SHA512 757ca11a3d13601606b6914ea70e3d271d287f26ada976ec77334fc0f611208669585d2580994f1ddff830cd698a837d3e882dd5cdccdaf9f8eba34fdd8cb708
DIST setuptools_scm-9.2.2.tar.gz.provenance 9705 BLAKE2B b710df7f8cbb324aa2927243ab0416869319813016d64f589b7a9f565576fff58c1aee18da4ea9bc3fb5a969cf74c1fcaa1332812bf88267ec9f2bf437876e53 SHA512 6ac563d0ab5f1afce28976eb030364a451508ec7d47b6e99668c37b8ba09e3b56500b104d62ad6047fad9f6be0b2b6ebea66b561041485b9d15b84c39fe92313
diff --git a/dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild b/dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild
new file mode 100644
index 000000000000..1670599d087d
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-10.2.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage versions by scm tags via setuptools"
+HOMEPAGE="
+ https://github.com/pypa/setuptools-scm/
+ https://pypi.org/project/setuptools-scm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# there's an optional dep on rich for cute logs
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-64[${PYTHON_USEDEP}]
+ =dev-python/vcs-versioning-2*[${PYTHON_USEDEP}]
+ >=dev-python/vcs-versioning-2.3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ =dev-python/vcs-versioning-2*[${PYTHON_USEDEP}]
+ >=dev-python/vcs-versioning-2.3.2[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ testing_scm/test_functions.py::test_dump_version_mypy
+ testing_scm/test_integration.py::test_xmlsec_download_regression
+ testing_scm/test_regressions.py::test_pip_download
+ # dependent on ruff version
+ testing_scm/test_functions.py::test_dump_version_ruff
+ )
+
+ if ! has_version "dev-python/pip[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ testing_scm/test_integration.py::test_editable_install_without_env_var
+ testing_scm/test_integration.py::test_editable_install_version_file
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/sip/sip-6.16.1.ebuild b/dev-python/sip/sip-6.16.1.ebuild
index 6d5b58e93a85..eda9bce6bed2 100644
--- a/dev-python/sip/sip-6.16.1.ebuild
+++ b/dev-python/sip/sip-6.16.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="BSD-2 BSD"
SLOT="5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/packaging[${PYTHON_USEDEP}]
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 7d0b8f90a449..42660b235a18 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,2 +1,3 @@
DIST spyder-6.1.6.gh.tar.gz 16204529 BLAKE2B 6d1948db87f392a5578755b942baf2414da4c15a3197e75dd0fa3293fd9590d7bb8e86970b6240628522f1237a6e3453eaca422877c6dc15d437514f4c214b44 SHA512 0159bcd0b7ea1f4b9bbc428cd5d154d199a8ec9c71d15f431e10a5000418343fea4ece9fd65c8ba19800bde7a9861f2fef0dfa391397bca6b420a1ee2d8ac7f7
+DIST spyder-6.1.7.gh.tar.gz 16213857 BLAKE2B 2803581a911e501de3e0b41b313519b32d7e73c22479781945e9feda99b80b75abe6a1c408417a53e9dd8433a6680c335cd4a9e92bb8f8a597402637e1bbf283 SHA512 35953b23e7769b725337d928d139ac3d224e13b53fae2d2e2cc54ee6aa1bdebf614a6f99a6e775e2b59419713075cf17a585ce1a92a12b3838a0c87bca9a7010
DIST spyder-docs-98004cb46d97fa9fa1cfc3f469919928761e7054.gh.tar.gz 93375891 BLAKE2B c98d391bb33b1ba70bf9c8e8072073e87437541aacd4be42140711b786e8ae07bf5a7ca53dffdb826922b5523150fa2950b04117c335dc57f7c2c22eb693c23f SHA512 55e13f9a55075aed007be32581af954d406703dd9586352084162e01865f943c5aff3aa11b50bdc9813dd8a3a52f8fa8f961c73cfc3f96d95930f2a7b823a1d1
diff --git a/dev-python/spyder/spyder-6.1.7.ebuild b/dev-python/spyder/spyder-6.1.7.ebuild
new file mode 100644
index 000000000000..63d451a76f0a
--- /dev/null
+++ b/dev-python/spyder/spyder-6.1.7.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 optfeature xdg #virtualx
+
+# Commit of documentation to fetch
+DOCS_PV="98004cb46d97fa9fa1cfc3f469919928761e7054"
+
+DESCRIPTION="The Scientific Python Development Environment"
+HOMEPAGE="
+ https://www.spyder-ide.org/
+ https://github.com/spyder-ide/spyder/
+ https://pypi.org/project/spyder/
+"
+SRC_URI="
+ https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# Missing deps and broken
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.11.2[${PYTHON_USEDEP}]
+ >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}]
+ <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-4.3.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.2.0[${PYTHON_USEDEP}]
+ <dev-python/chardet-8.0.0[${PYTHON_USEDEP}]
+ >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
+ >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
+ >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-ruff-2.3.0[${PYTHON_USEDEP}]
+ <dev-python/python-lsp-ruff-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
+ <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/qtawesome-1.4.1[${PYTHON_USEDEP}]
+ <dev-python/qtawesome-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/qtconsole-5.7.2[${PYTHON_USEDEP}]
+ <dev-python/qtconsole-5.9.0[${PYTHON_USEDEP}]
+ >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},pyqt6,quick,svg,webengine]
+ >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-7.2.0[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-3.1.6[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}]
+ <dev-python/superqt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}]
+"
+
+# BDEPEND="
+# test? (
+# dev-python/cython[${PYTHON_USEDEP}]
+# dev-python/flaky[${PYTHON_USEDEP}]
+# dev-python/matplotlib[tk,${PYTHON_USEDEP}]
+# dev-python/pandas[${PYTHON_USEDEP}]
+# dev-python/pillow[${PYTHON_USEDEP}]
+# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
+# dev-python/pytest-mock[${PYTHON_USEDEP}]
+# dev-python/pytest-order[${PYTHON_USEDEP}]
+# dev-python/pytest-qt[${PYTHON_USEDEP}]
+# dev-python/pytest-timeout[${PYTHON_USEDEP}]
+# dev-python/pyyaml[${PYTHON_USEDEP}]
+# dev-python/qtpy[${PYTHON_USEDEP}]
+# dev-python/scipy[${PYTHON_USEDEP}]
+# dev-python/sympy[${PYTHON_USEDEP}]
+# )"
+
+# Based on the courtesy of Arfrever
+# This patch removes a call to update-desktop-database during build
+# This fails because access is denied to this command during build
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.0-build.patch"
+ "${FILESDIR}/${PN}-6.0.3-no-dep-on-importlib.patch"
+)
+
+DOCS=(
+ "AUTHORS.txt"
+ "Announcements.md"
+ "CHANGELOG.md"
+ "CODE_OF_CONDUCT.md"
+ "CONTRIBUTING.md"
+ "NOTICE.txt"
+ "README.md"
+ "RELEASE.md"
+)
+
+distutils_enable_tests pytest
+# TODO: Package sphinx-design
+# distutils_enable_sphinx docs/doc \
+# dev-python/sphinx-panels \
+# dev-python/pydata-sphinx-theme \
+# dev-python/sphinx-multiversion
+
+python_prepare_all() {
+ # move docs into workdir
+ mv ../spyder-docs-${DOCS_PV}* docs || die
+
+ # these dependencies are packaged separately:
+ # dev-python/spyder-kernels,
+ # dev-python/python-lsp-server,
+ # dev-python/qdarkstyle
+ rm -r external-deps/* || die
+ # runs against things packaged in external-deps dir
+ rm conftest.py || die
+
+ # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
+ # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
+ # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
+ # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
+ # Do not depend on ipython, this dependency is carried in spyder-kernels
+ # The explicit version requirements only make things more complicated, if e.g.
+ # pyls-spyder gains compatibility with a newer version of python-lsp-server
+ # in a new release it will take time for this information to propagate into
+ # the next spyder release. So just remove the dependency and let the other
+ # ebuilds handle the version requirements to speed things up and prevent
+ # issues such as Bug 803269.
+ sed -i \
+ -e "/'pyqt5[ 0-9<=>.,]*',/d" \
+ -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
+ -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
+ -e "/'parso[ 0-9<=>.,]*',/d" \
+ -e "/'jedi[ 0-9<=>.,]*',/d" \
+ -e "/'pylint[ 0-9<=>.,]*',/d" \
+ setup.py || die
+ # -e "/'ipython[ 0-9<=>.,]*',/d" \
+ sed -i \
+ -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
+ -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
+ -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
+ -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
+ -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
+ spyder/dependencies.py || die
+ # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
+
+ # do not check deps, fails because we removed dependencies above
+ sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
+ spyder/tests/test_dependencies_in_sync.py || die
+
+ # skip online test
+ rm spyder/widgets/github/tests/test_github_backend.py || die
+
+ export SPYDER_QT_BINDING=pyqt6
+
+ distutils-r1_python_prepare_all
+}
+
+# Calling pytest directly somehow passes the pytest arguments to spyder
+# causing an invalid argument error
+# python_test() {
+# virtx "${EPYTHON}" runtests.py
+# }
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
+ optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
+ optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
+ optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
+ optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
+ optfeature "Run Cython files in the IPython console" dev-python/cython
+ optfeature "The hdf5/h5py plugin" dev-python/h5py
+ optfeature "The line profiler plugin" dev-python/spyder-line-profiler
+ optfeature "Vim key bindings" dev-python/spyder-vim
+ optfeature "Unittest support" dev-python/spyder-unittest
+ optfeature "System terminal inside spyder" dev-python/spyder-terminal
+ optfeature "Jupyter notebook support" dev-python/spyder-notebook
+ # spyder-memory-profiler is not compatible with spyder-5.2+ yet
+ # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
+ # spyder-reports not yet updated to >=spyder-4.0.0
+ # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
+ # Plugins with no release yet:
+ # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
+ # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index c7560ce4379f..f09370f4637e 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,2 +1,2 @@
-DIST sqlglot-30.16.0.tar.gz 5984853 BLAKE2B d53a8f73b7029642a726d0c71c9bbd6c5ba736381df2e11776704ff3a7eeb78eee76011edec18b4be45c13392276f5a351d2440896e3af27367a3667e41bea01 SHA512 2c6bda73778bd7a8e669351362e78c807a5bbf17a282c4d17e4f3de7557103f7e7635a42cdf88a60bd3d6b29d2bd80eb671dd8631b6ff1d8daa72ae5684f2616
DIST sqlglot-30.17.0.tar.gz 5999019 BLAKE2B 7d9e3855bc37296b01f55cde9f48a4da4ababc9600e59a9afe1748d00ae99046aaf41fce488ecee3a096351e73464c6da0da3b1b3481b427d768314b87e69cab SHA512 f451481fd2aea96e6c7818604414ac3759c478bbd4adff655358e0c551e125111ce12b956e9fac6cb1ec5e0cb5338991744a90972e1fe546954978ebd856d730
+DIST sqlglot-30.18.0.tar.gz 6018496 BLAKE2B 0df58a325c3c5b19ba79d667d6e2be5cfbab5d61714056784a12f5f689fae3cd5ef887ee366f6f38c4a0ee42c26f0c1a771da8d6e7142c71ce2d83273e4ea90d SHA512 817c667e7dc7f178d3b9b838d3db10e28a25d0c903b6fd80eef80f74eeaec2ef49db5ceb6a425d2359aaf864d201603bc4e8e82ab436d881d4685d4ff6601356
diff --git a/dev-python/sqlglot/sqlglot-30.16.0.ebuild b/dev-python/sqlglot/sqlglot-30.18.0.ebuild
index 063fa5096326..063fa5096326 100644
--- a/dev-python/sqlglot/sqlglot-30.16.0.ebuild
+++ b/dev-python/sqlglot/sqlglot-30.18.0.ebuild
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 831387b0d64e..70aa575c999f 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -8,3 +8,5 @@ DIST urwid-4.0.9.tar.gz 880825 BLAKE2B 466b04d033482a9bc09f628bee147a8f1a481d5d3
DIST urwid-4.0.9.tar.gz.provenance 9679 BLAKE2B 8b53a0a266492cbc0bf19d8d6a7f0fff0e9935ca0c19f82c13494266d46d8cb2654e822c4003843a18b3acab5e0e1c598faadd69ac401e3fab2b4bbf4e1153bc SHA512 c76ef14f4023eec53998bf55dc91dd8ce06a3c9dd5c82b3437ecdde86644415e45a4084cfe2773a1329724489bf783debeddf02cf402e209f054c43bf3f1080c
DIST urwid-4.1.0.tar.gz 929987 BLAKE2B a66a8830bcad394ee4d6c7cb59533325f7dadcea1dfb0277ad130649b9da3879bbbf48f876d63241afba03d40ba9936b58156f2b7b4dde44bb752c9b26fd4d35 SHA512 f364bb288a0e2a2767fa7554da71a6d4b9a5fa4b84a65f9d44a30792c1744ce65705503d69921ca061a93d0a3478679ad7318e36a30e3ab6ef4f356051691a57
DIST urwid-4.1.0.tar.gz.provenance 9448 BLAKE2B 5b62f268c52e6b3f3565f2e37d805d614455004e8ec1051b0699036f5c8107f10e3e0c24a5fb55ee62c26df34510b9efdd049b9f4ac2e2f71b27c396ecb621a3 SHA512 acec0570ee000146a801f7511cb5bc92b4f342634afea8750cbffeb84f44fe094260c66924778e87cd68204f9b1888fea293b5591e2be97bb25fc935f7635b49
+DIST urwid-4.1.1.tar.gz 931618 BLAKE2B e95dd2d7e6b3031bef3c18ad281061b4d28c4e94c0a37d7c2373bc5de3a9d95e0414cb175f725788e59ef5e0ff3258a8718ec07912433528e8eb4f8dac33bd83 SHA512 3c6e0fe1c6d88fe4ccacc62265d112cefa671a856c06061cab41dd63ed038dd38e7fffe23bd0d35e8c1e645b518284da5803960dd55022c3407fc17b7b268001
+DIST urwid-4.1.1.tar.gz.provenance 9585 BLAKE2B 6d7c6f2771f44b0d58dc1637f1ee2619a0984e6f18d90040e748bc8e825574dbeab7945718212b94c7e6eb2b0517d994cf61aaa459dc6f4beb686bf7342636b2 SHA512 eddcc53048ce59d01caa6c9f8a6f7cc936fc98148d10f856f6ae68b4033d77957b454333e8a91af383a4c3cdf492f1aec8e36666b6a460e2145c1c1665dc6828
diff --git a/dev-python/urwid/urwid-4.1.1.ebuild b/dev-python/urwid/urwid-4.1.1.ebuild
new file mode 100644
index 000000000000..aba0d14bbb3d
--- /dev/null
+++ b/dev-python/urwid/urwid-4.1.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/urwid/urwid
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e 's:--cov --cov-report=term::' pyproject.toml || die
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/vcs-versioning/Manifest b/dev-python/vcs-versioning/Manifest
index c0fa35050544..ab01c2b4bd55 100644
--- a/dev-python/vcs-versioning/Manifest
+++ b/dev-python/vcs-versioning/Manifest
@@ -6,3 +6,5 @@ DIST vcs_versioning-2.3.1.tar.gz 156292 BLAKE2B 5d8ceee494d3d048e6e6102455123ff7
DIST vcs_versioning-2.3.1.tar.gz.provenance 10199 BLAKE2B 3e9f7ba44894c8a28eadd9cf6d5398dd56ed53a60776e89d0f6eadbe379e0c0f6d973ebaa4580c96e1f7862bf711ab6e1db26f196c5bdff42f8e271ed2c053e5 SHA512 cbafe022dbcf0bc28db3d4e17a272f052ff2ab17c44a155a8e63b11fe640bdbdbec8ab4b9ba3fe8ed9028de3a756190e0b76eed1be692d7234a5086046839a3c
DIST vcs_versioning-2.3.2.tar.gz 149377 BLAKE2B 59ef750eef0f2bfe8a23697830bd1b30aaf262a875f4926d362a71390cec5ef38e7d741587751432ae02df563ec457aff1a72ec385887dce0927bb705197d7d5 SHA512 d50d809d2062e828181180d74f983aa68bb35e3cc985e5a14cad785da47a99c390b44da66ab473bcff22b49d340338ae2027efbb70087938ba23743550eaead0
DIST vcs_versioning-2.3.2.tar.gz.provenance 10156 BLAKE2B a4ff73c5f12f0da7c2cbd20f9eff44a60fe9e9157a040439059f0e577744b0505b4fb870ad2c9c937dce791e06a366950db382b89e4dc5930fefb91d9e78bd96 SHA512 4f0de3cf863dc730cd5d2ac0e4802fbdd0803749254c4ec0e30095d2619ebcab52bcef284c46d95c6a9c4c679150c370bcd328b611b51e81c1bf8cc28db90195
+DIST vcs_versioning-2.3.4.tar.gz 149647 BLAKE2B 1ca6aea0effd2d743140e23828ed025be1cb22190be1a971f31de912de539f70e1c6316472ed4d0535bee1dfd647771884e4297f6d58fc5f5362cfa932064c7f SHA512 6eebdf57d70f994e9f760c736fd66613eb639d72ee71737d9a8e9fb05edcc07a6532f0ee16dc4f6296f502f903300b86042892f57fe14ee4ab50fe10bc54dd8a
+DIST vcs_versioning-2.3.4.tar.gz.provenance 10246 BLAKE2B 562e356ece3ee4061fe5b55ffc9c7f67d621aa903c8cc8ac724789f4e8bae4f7a5044d49fed38130ac74afdaedc4f456af31aa9b9a24759e6580773c0d17d1fa SHA512 48e6903166bce3c2157f5c8622c07d254e3daa9ef14a404780fdc25d7d7bb9eea3a37a8c183c51df9fc1f0ee5d37cbaf8a2fb8454c4ea24f3b0b966f4651e02c
diff --git a/dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild b/dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild
new file mode 100644
index 000000000000..f253689d01b8
--- /dev/null
+++ b/dev-python/vcs-versioning/vcs-versioning-2.3.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core VCS versioning functionality from setuptools-scm"
+HOMEPAGE="
+ https://github.com/pypa/setuptools-scm/
+ https://pypi.org/project/vcs-versioning/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-26.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # the usual nondescript gpg-agent failure
+ testing_vcs/test_git.py::test_git_getdate_signed_commit
+)
diff --git a/dev-python/vdirsyncer/Manifest b/dev-python/vdirsyncer/Manifest
index f154cfb80fbc..388a2498c170 100644
--- a/dev-python/vdirsyncer/Manifest
+++ b/dev-python/vdirsyncer/Manifest
@@ -1 +1,2 @@
DIST vdirsyncer-0.20.0.tar.gz 126633 BLAKE2B 4d9c984d18eddcee4dea2fe29b76060ce1ca51cff23a6f188fed12d848a7e544102333808d584fcf342faf08fa792f54e0ce997d0a3ca846c6cf9741a21a2c9a SHA512 8499440ce8ba036d40f5bbff9d7cadb485be8bb2419d1fbad947f244259dabba9f2527ffff24298f697dd10e6ccd39155ea9547a480c584f64da0eadb993dad7
+DIST vdirsyncer-0.21.0.tar.gz 130993 BLAKE2B 2e92d069cf5dbbb1ec9987b31d3972e6aaf4075ff2aba805a2f8bfc297c6230079c58cfe5a2e12a0cf5fea488a5ac5e9a9cd778f3f10b94d2baac0a3084e04de SHA512 ac7dfab03221cbe682de6cb88042d99bbcefce7bf6b07bd24ed3e92b2085023e18ac5514c83cec3c0d07fe7ffe49ddff89c99da7b51d4dc7c46724a729547f67
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild
new file mode 100644
index 000000000000..62c99768b6b0
--- /dev/null
+++ b/dev-python/vdirsyncer/vdirsyncer-0.21.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi systemd
+
+DESCRIPTION="Synchronize calendars and contacts"
+HOMEPAGE="
+ https://github.com/pimutils/vdirsyncer/
+ https://pypi.org/project/vdirsyncer/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.9.0[${PYTHON_USEDEP}]
+ dev-python/aiohttp-oauthlib[${PYTHON_USEDEP}]
+ >=dev-python/aiostream-0.4.3[${PYTHON_USEDEP}]
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-9.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example )
+
+EPYTEST_PLUGINS=( hypothesis pytest-{asyncio,httpserver} )
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # skip tests needing servers running
+ local -x DAV_SERVER=skip
+ local -x REMOTESTORAGE_SERVER=skip
+ # pytest dies hard if the envvars do not have any value...
+ local -x CI=false
+ local -x DETERMINISTIC_TESTS=false
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/system/utils/test_main.py::test_request_ssl
+ )
+
+ epytest -o addopts=
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ systemd_douserunit contrib/vdirsyncer.{service,timer}
+}
diff --git a/dev-python/zmq-anyio/Manifest b/dev-python/zmq-anyio/Manifest
index 4377c104aed8..aa1a14d0b449 100644
--- a/dev-python/zmq-anyio/Manifest
+++ b/dev-python/zmq-anyio/Manifest
@@ -1,3 +1,4 @@
-DIST zmq_anyio-0.3.10.tar.gz 14648 BLAKE2B 96864cddc1287df6c80432cd3693865eadf508482e10af3788ec1ffee6a2ea9fbc50ba13e8f527682c90fab5027be5cd1abbddecb05b099c4f8da0e78b60ff0a SHA512 b41ea654cff258fdba05108e4603c113bac8d56439ed65184d9cbb1c88b45471d989b7a0e232d9f5fc587691720135982fc39d39f0dfc7efc01178128f386630
DIST zmq_anyio-0.3.14.tar.gz 12132 BLAKE2B 94a2e1f25a04a41eea6d76f91a0def9e4c9fe1627781ccd5900519d915acf3b9aa5dd8934893c90c004108a7a7812cb076949d49ded5d192c09c156a3ed1bcf3 SHA512 8fc85c1cdf995e1e606856991a70eb3c77c14df82eb9b62b470e90dda5671ff9de7c8a623b37b8c3773b753f6d55a5ebc566441889e7076feba961c05f26ada4
DIST zmq_anyio-0.3.14.tar.gz.provenance 9620 BLAKE2B 136683af915869833bf3eed3d7a7b6ec4bea60bc6c1b3324bad5913ebfb9ac99474c6f74cec233e95e10d4116a72ec0361655811a16016e2b764978c1d94c043 SHA512 ce913788aae5d0b2366a839a94f693e5b07d91b1f4a02b104376792d141e147c27e18c75b4316608eac05d7cb205fc171fc5c12b19ca3c1b7fa70879f12ca54a
+DIST zmq_anyio-0.4.1.tar.gz 12610 BLAKE2B 7ebba47ed6d68d0f49ffd6f7866849c04f60df39137212ec79acff5e9b1724c1c77ddf7e2d45b0202a9c538c28e09b4808e81c18d67f680ca70cbd9c6cbc9bf7 SHA512 bb8dd4cef0d209b27177db6118a8a7d2eaf249c85e3636fbca8ddef8c13d7e1c99e1d07f99ff3f6313c0dd5170a6edff57b37523ab065f23c0eecc62fae842db
+DIST zmq_anyio-0.4.1.tar.gz.provenance 9897 BLAKE2B 342ea73e0f61cc9481d2dc0f9e15ecf59787bde8f27e5e84b416e3f28c8fb727ca497fa6619cc21c1b69f3b5e130128652c84a525f79b7db1d78363f36a2c009 SHA512 e63a63b69fbb0416b65bc3ef4cec9a45665e5f5249aa5b63fd0a10161194d86b2d54ccd6975b9cc5d17c621572ec4b4f96a0d779b3f7903339f3d14d66e2a597
diff --git a/dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild
deleted file mode 100644
index bb9c39b57348..000000000000
--- a/dev-python/zmq-anyio/zmq-anyio-0.3.10.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Asynchronous API for ZMQ using AnyIO"
-HOMEPAGE="
- https://github.com/QuantStack/zmq-anyio/
- https://pypi.org/project/zmq-anyio/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-4.8.0[${PYTHON_USEDEP}]
- <dev-python/anyioutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/anyioutils-0.7.1[${PYTHON_USEDEP}]
- <dev-python/pyzmq-28[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-26.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- test-rust? (
- >=dev-python/trio-0.27.0[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=( anyio )
-distutils_enable_tests pytest
-
-python_test() {
- local args=()
- if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
- args+=( -k "not trio" )
- fi
-
- epytest "${args[@]}"
-}
diff --git a/dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild
new file mode 100644
index 000000000000..4985177026cf
--- /dev/null
+++ b/dev-python/zmq-anyio/zmq-anyio-0.4.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYPI_VERIFY_REPO=https://github.com/QuantStack/zmq-anyio
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asynchronous API for ZMQ using AnyIO"
+HOMEPAGE="
+ https://github.com/QuantStack/zmq-anyio/
+ https://pypi.org/project/zmq-anyio/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.15.0[${PYTHON_USEDEP}]
+ <dev-python/pyzmq-28[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-27.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/trio-0.27.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio pytest-timeout )
+distutils_enable_tests pytest