summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiounittest/Manifest1
-rw-r--r--dev-python/aiounittest/aiounittest-1.5.0.ebuild29
-rw-r--r--dev-python/anyio/anyio-4.8.0-r1.ebuild (renamed from dev-python/anyio/anyio-4.8.0.ebuild)4
-rw-r--r--dev-python/anyioutils/Manifest1
-rw-r--r--dev-python/anyioutils/anyioutils-0.7.1.ebuild46
-rw-r--r--dev-python/anyioutils/metadata.xml10
-rw-r--r--dev-python/apsw/Manifest1
-rw-r--r--dev-python/apsw/apsw-3.49.0.0.ebuild52
-rw-r--r--dev-python/asyncssh/Manifest2
-rw-r--r--dev-python/asyncssh/asyncssh-2.17.0.ebuild54
-rw-r--r--dev-python/asyncssh/asyncssh-2.18.0.ebuild54
-rw-r--r--dev-python/asyncssh/asyncssh-2.20.0.ebuild2
-rw-r--r--dev-python/babel/babel-2.17.0.ebuild2
-rw-r--r--dev-python/beartype/beartype-0.20.0.ebuild2
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.37.9.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.37.9.ebuild67
-rw-r--r--dev-python/cheetah3/cheetah3-3.4.0.ebuild2
-rw-r--r--dev-python/cppy/cppy-1.3.1.ebuild2
-rw-r--r--dev-python/dj-database-url/dj-database-url-2.3.0.ebuild2
-rw-r--r--dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild2
-rw-r--r--dev-python/django-cache-url/django-cache-url-3.4.5.ebuild2
-rw-r--r--dev-python/django-configurations/django-configurations-2.5.1.ebuild2
-rw-r--r--dev-python/faker/Manifest1
-rw-r--r--dev-python/faker/faker-37.0.0.ebuild42
-rw-r--r--dev-python/flit-core/flit-core-3.11.0.ebuild7
-rw-r--r--dev-python/fsspec/Manifest1
-rw-r--r--dev-python/fsspec/fsspec-2025.3.0.ebuild61
-rw-r--r--dev-python/hypothesis/hypothesis-6.126.0.ebuild2
-rw-r--r--dev-python/ipykernel/Manifest2
-rw-r--r--dev-python/ipykernel/ipykernel-7.0.0_alpha1.ebuild (renamed from dev-python/ipykernel/ipykernel-7.0.0_alpha0.ebuild)9
-rw-r--r--dev-python/jupyter-console/jupyter-console-6.6.3.ebuild2
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild2
-rw-r--r--dev-python/mistune/mistune-3.1.2.ebuild2
-rw-r--r--dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild2
-rw-r--r--dev-python/numpy/numpy-2.2.3.ebuild2
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-7.1.0.ebuild2
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-5.7.0.ebuild2
-rw-r--r--dev-python/pdm/Manifest2
-rw-r--r--dev-python/pdm/pdm-2.22.4.ebuild (renamed from dev-python/pdm/pdm-2.22.2.ebuild)0
-rw-r--r--dev-python/psycopg/psycopg-3.2.5.ebuild4
-rw-r--r--dev-python/pycollada/pycollada-0.9.ebuild2
-rw-r--r--dev-python/pycurl/Manifest1
-rw-r--r--dev-python/pycurl/pycurl-7.45.6.ebuild87
-rw-r--r--dev-python/pydantic-core/Manifest2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.30.0.ebuild178
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.31.0.ebuild178
-rw-r--r--dev-python/pydantic/pydantic-2.11.0_beta1.ebuild2
-rw-r--r--dev-python/pymongo/pymongo-4.11.1.ebuild2
-rw-r--r--dev-python/python-json-logger/Manifest1
-rw-r--r--dev-python/python-json-logger/python-json-logger-3.3.0.ebuild33
-rw-r--r--dev-python/python-socks/python-socks-2.7.1.ebuild2
-rw-r--r--dev-python/requests-unixsocket/Manifest1
-rw-r--r--dev-python/requests-unixsocket/requests-unixsocket-0.4.1.ebuild31
-rw-r--r--dev-python/scipy/scipy-1.15.2.ebuild2
-rw-r--r--dev-python/selenium/Manifest4
-rw-r--r--dev-python/selenium/selenium-4.26.0.ebuild135
-rw-r--r--dev-python/selenium/selenium-4.28.0.ebuild142
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild2
-rw-r--r--dev-python/simplejson/simplejson-3.20.1.ebuild2
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-26.9.0.ebuild177
-rw-r--r--dev-python/sybil/sybil-9.1.0.ebuild2
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-2.12.0.ebuild68
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.24.2.ebuild98
-rw-r--r--dev-python/typeguard/typeguard-4.4.2.ebuild2
-rw-r--r--dev-python/types-gdb/Manifest1
-rw-r--r--dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild16
-rw-r--r--dev-python/typing-inspection/typing-inspection-0.4.0.ebuild2
-rw-r--r--dev-python/weasyprint/weasyprint-64.1.ebuild2
-rw-r--r--dev-python/ytmusicapi/Manifest1
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild24
-rw-r--r--dev-python/zmq-anyio/Manifest1
-rw-r--r--dev-python/zmq-anyio/metadata.xml10
-rw-r--r--dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild41
-rw-r--r--dev-python/zope-testing/zope-testing-5.1.ebuild2
80 files changed, 956 insertions, 842 deletions
diff --git a/dev-python/aiounittest/Manifest b/dev-python/aiounittest/Manifest
index 3490865377ba..d9ca13fa5bcf 100644
--- a/dev-python/aiounittest/Manifest
+++ b/dev-python/aiounittest/Manifest
@@ -1,2 +1,3 @@
DIST aiounittest-1.4.2.gh.tar.gz 15791 BLAKE2B 7784bbf94de2b8520baef66a0b4929267942d233cc782f35677ea05b02e3d48901ba90cf9630b76bd300708ebbe59dd9d78c299422182c06940749bc2b378b45 SHA512 358b7c412f90eb7afc7ed7058e8e2d4426a6c57379d341d997658859ba6054a9a1337d0b05e63a825e28023f02550bd72d65bdb3feab4503c763c98f8c0d19c6
DIST aiounittest-1.4.3.gh.tar.gz 15828 BLAKE2B f3abd87d77f27f3a29b392e3e5518ad5062c930e1884522c40aa8b4c54d27feddd86a50df6272b5a47a4edf0b7f3bc503fd4f67aaef92d885670fc20c74f32da SHA512 398fcf071660bfc38cb68dc01bed83c6d2320a8a1b8e8ade921a7616f7fe70534203b28630532a287da98cbbefcc8b6cf8c97d5a35fe5c63e7e143f8c619c1bb
+DIST aiounittest-1.5.0.gh.tar.gz 15848 BLAKE2B 4ef88fa7f05694e9d5f9ec7f34043213b490056f5854c9b911195637d14251fe4fc72ce2d6fe94098a590fe6d9e33b9fff08a5b095644e603d8e561af8da5e65 SHA512 e17c5f939cff863de54a73c3aec3e5c80c037a53ee033ec8528665a6fe39bf004a2ce26a509c31e7bf6ba3e4abadb0ead908274147f010bbcd17b27c250f4ebf
diff --git a/dev-python/aiounittest/aiounittest-1.5.0.ebuild b/dev-python/aiounittest/aiounittest-1.5.0.ebuild
new file mode 100644
index 000000000000..6843abed6d01
--- /dev/null
+++ b/dev-python/aiounittest/aiounittest-1.5.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Test asyncio code more easily"
+HOMEPAGE="
+ https://github.com/kwarunek/aiounittest/
+ https://pypi.org/project/aiounittest/
+"
+SRC_URI="
+ https://github.com/kwarunek/aiounittest/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/wrapt[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/anyio/anyio-4.8.0.ebuild b/dev-python/anyio/anyio-4.8.0-r1.ebuild
index 4ca5cfcea568..7e4dd8771fff 100644
--- a/dev-python/anyio/anyio-4.8.0.ebuild
+++ b/dev-python/anyio/anyio-4.8.0-r1.ebuild
@@ -24,8 +24,10 @@ RDEPEND="
>=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
' 3.10)
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ ' 3.{10..12})
"
# On amd64, let's get more test coverage by dragging in uvloop, but let's
# not bother on other arches where uvloop may not be supported.
diff --git a/dev-python/anyioutils/Manifest b/dev-python/anyioutils/Manifest
new file mode 100644
index 000000000000..48bdc3038742
--- /dev/null
+++ b/dev-python/anyioutils/Manifest
@@ -0,0 +1 @@
+DIST anyioutils-0.7.1.tar.gz 14675 BLAKE2B 7b1d983613b3c770af9c09eabf2332651fce30a1bbc58e63e6a9a7e2bd97c6c59591927f034d0fde97454aae6b7fcf23dced19cb2cc64ac58ed1f1b7ed110fd5 SHA512 f259ee78c31b15f4f827158d251471229a4b1fb280cca6e0f08edadc4bde27d7e991cd27c13aae2510a63f33410f5e96f656b95ce65dd72d91e572df5c62703b
diff --git a/dev-python/anyioutils/anyioutils-0.7.1.ebuild b/dev-python/anyioutils/anyioutils-0.7.1.ebuild
new file mode 100644
index 000000000000..d645f7153bdf
--- /dev/null
+++ b/dev-python/anyioutils/anyioutils-0.7.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utility classes and functions for AnyIO"
+HOMEPAGE="
+ https://github.com/davidbrochart/anyioutils/
+ https://pypi.org/project/anyioutils/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.8.0[${PYTHON_USEDEP}]
+ <dev-python/outcome-2[${PYTHON_USEDEP}]
+ >=dev-python/outcome-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires aioguest
+ tests/test_guest.py::test_host_trivial_guest_asyncio
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/anyioutils/metadata.xml b/dev-python/anyioutils/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/anyioutils/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index 8a058f9f2ece..0b0b27ffaced 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,3 +1,2 @@
DIST apsw-3.47.2.0.zip 2428145 BLAKE2B 12ece7d7854a729510b2e18d3285fc49135b3cbb3480567a0c6879c98d48b2d49bc75f4cb46af738c4a565cc6c29f7cd5d35fd2c6ea5fe1814e8048030f966fb SHA512 9884f36811bfff7276642841ebaa198669c48f4d54bb764a985ea5bdd88f9f630f9fd8a13cf0a44b5675e374c2a911fcec579ca4165622e8049bff327ef66c1d
-DIST apsw-3.49.0.0.zip 2452542 BLAKE2B e4652671c7b3abdd7973765c141a781b88d328510fe2135b99eb67657485e65208e6d0c4df5fd9b513dfa119ff011562e7ed8d578ee0ebb982803da2bcbd7048 SHA512 c7c6879ce0f5c19f16b3503036c6dc37bd5a0b19ccc3ddde9d9ebd9ede9b3c3bbd275948194c8be892d32a8a472a513bfb6c43f0dfe3262744f2a114705facab
DIST apsw-3.49.1.0.zip 2452578 BLAKE2B 86668de3ffd71581611e1cb2dc8b249d8d104626e167eab3c98cb20747bbed17dc15517808e3c361f13adf89e8af515cffc55d7b3e1c4c75bdaeab37aff8ae16 SHA512 faae9cceb462428345fd2815a970dfc80574848f87bade7cceb09aed17127d020fd16402b3d36afe0fbc6bf707a408feea0ce038486c2a68a2ab1077a9b68d0a
diff --git a/dev-python/apsw/apsw-3.49.0.0.ebuild b/dev-python/apsw/apsw-3.49.0.0.ebuild
deleted file mode 100644
index fefa96c4531e..000000000000
--- a/dev-python/apsw/apsw-3.49.0.0.ebuild
+++ /dev/null
@@ -1,52 +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=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/releases/download/${PV}/${P}.zip
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-arch/unzip
-"
-
-src_configure() {
- cat >> setup.apsw <<-EOF || die
- [build_ext]
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/asyncssh/Manifest b/dev-python/asyncssh/Manifest
index 8d602c4b3b43..370f3747efe1 100644
--- a/dev-python/asyncssh/Manifest
+++ b/dev-python/asyncssh/Manifest
@@ -1,4 +1,2 @@
-DIST asyncssh-2.17.0.tar.gz 515658 BLAKE2B a07cfab65b0d2df09b1a6b93d81f9385571da154953bddefe5e45b8b1c1800c5ad765030f11154de85f03ff946d2b58954ea0dbd15fb468215482c6a9be6168c SHA512 be4d25185008dacde8369249ae8321c403590423dd6f088ca6568333be9e96a93509f9663e5292d5bbe27ea20064bc530f0867dd05aef2a453bc1f8eeff1ed40
-DIST asyncssh-2.18.0.tar.gz 526304 BLAKE2B 9b00c179ebda7c2c12a21d2ec6521edcd5852d80dcedbe05273e6bf03ee603fc4904cb71679b4047ccc43a767ade2202c3680b517f0e8c565effe045da532f3d SHA512 e708b7bd4fe7644b699b914557c9df2b47b718d2eca10a49edf0c7d6a740026e3c509040d7b5793db2a298001a815583db122975f111733b9d5921174e6f024f
DIST asyncssh-2.19.0.tar.gz 533702 BLAKE2B dcc460f66040dae39372266aed1781060d24ea95c51cbf21d1f35ab435f10ec9bea50ac0c859bb1d3ba4d898761aec497bf07f42b93ac9d2919f0f0597ba93ee SHA512 0ebd963570ddf3c7dbdb6aea109cf1900e42e37a57d4e93f408d1220267ae5b27d3306ce287fbf068ad7cc62b51b548dabd931f7d0d00dbc9025fa7981ddc900
DIST asyncssh-2.20.0.tar.gz 534719 BLAKE2B 8445a9c5439449f18231ab3f04c70eb3110781f2c6d20f839bee145c4a34ed9c4f96eb70fdeace2600576837211e0f7ed22a158f0fea7ca2f43309e4f6da9f80 SHA512 76874efc614290433f200ef8cbb74fbc4e9d2119643a93e6faad95f6595b61c55ed2eb8296c6a1419630f75cda01efb680f25df83018ece06f685ac097031b7e
diff --git a/dev-python/asyncssh/asyncssh-2.17.0.ebuild b/dev-python/asyncssh/asyncssh-2.17.0.ebuild
deleted file mode 100644
index 6c1aec077532..000000000000
--- a/dev-python/asyncssh/asyncssh-2.17.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Asynchronous SSHv2 client and server library"
-HOMEPAGE="
- https://github.com/ronf/asyncssh
- https://pypi.org/project/asyncssh/
-"
-
-LICENSE="EPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- virtual/openssh
- >=dev-python/cryptography-39.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/aiofiles[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
- >=dev-python/fido2-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/gssapi-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/libnacl-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=5
-}
-
-pkg_postinst() {
- optfeature "OpenSSH private key encryption support" ">=dev-python/bcrypt-3.1.3"
- optfeature "key exchange and authentication with U2F/FIDO2 security keys support" ">=dev-python/fido2-0.9.2"
- optfeature "GSSAPI key exchange and authentication support" ">=dev-python/gssapi-1.2.0"
- optfeature "using asyncssh with dev-libs/libsodium" "dev-python/libnacl"
- optfeature "X.509 certificate authentication support" ">=dev-python/pyopenssl-23.0.0"
-}
diff --git a/dev-python/asyncssh/asyncssh-2.18.0.ebuild b/dev-python/asyncssh/asyncssh-2.18.0.ebuild
deleted file mode 100644
index 6c1aec077532..000000000000
--- a/dev-python/asyncssh/asyncssh-2.18.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Asynchronous SSHv2 client and server library"
-HOMEPAGE="
- https://github.com/ronf/asyncssh
- https://pypi.org/project/asyncssh/
-"
-
-LICENSE="EPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- virtual/openssh
- >=dev-python/cryptography-39.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/aiofiles[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
- >=dev-python/fido2-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/gssapi-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/libnacl-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=5
-}
-
-pkg_postinst() {
- optfeature "OpenSSH private key encryption support" ">=dev-python/bcrypt-3.1.3"
- optfeature "key exchange and authentication with U2F/FIDO2 security keys support" ">=dev-python/fido2-0.9.2"
- optfeature "GSSAPI key exchange and authentication support" ">=dev-python/gssapi-1.2.0"
- optfeature "using asyncssh with dev-libs/libsodium" "dev-python/libnacl"
- optfeature "X.509 certificate authentication support" ">=dev-python/pyopenssl-23.0.0"
-}
diff --git a/dev-python/asyncssh/asyncssh-2.20.0.ebuild b/dev-python/asyncssh/asyncssh-2.20.0.ebuild
index f29caf0c7b80..d92a88e31aab 100644
--- a/dev-python/asyncssh/asyncssh-2.20.0.ebuild
+++ b/dev-python/asyncssh/asyncssh-2.20.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="|| ( EPL-2.0 GPL-2+ )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
RDEPEND="
virtual/openssh
diff --git a/dev-python/babel/babel-2.17.0.ebuild b/dev-python/babel/babel-2.17.0.ebuild
index 66438319a7ef..607afaf4ece2 100644
--- a/dev-python/babel/babel-2.17.0.ebuild
+++ b/dev-python/babel/babel-2.17.0.ebuild
@@ -23,7 +23,7 @@ SRC_URI+="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
# RDEPEND in BDEPEND for import_cldr.py usage, bug #852158
BDEPEND="
diff --git a/dev-python/beartype/beartype-0.20.0.ebuild b/dev-python/beartype/beartype-0.20.0.ebuild
index a0d3859e8eda..06c07d7bc109 100644
--- a/dev-python/beartype/beartype-0.20.0.ebuild
+++ b/dev-python/beartype/beartype-0.20.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
+KEYWORDS="amd64 arm64 ~riscv"
BDEPEND="
test? (
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild
index 73adc165b02e..fdbaeddf0109 100644
--- a/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild
+++ b/dev-python/beautifulsoup4/beautifulsoup4-4.13.3.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/html5lib[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 338d814624e9..48b1d5fde140 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.37.5.gh.tar.gz 909313 BLAKE2B d31bd1ed08c60f351012a8b3711e43f7e4fb7
DIST boto3-1.37.6.gh.tar.gz 910085 BLAKE2B de054f37bcf8d4cb01febbb7f874bb0fdfd3d812cfd103c4f8df14c6d74238c22ad37a604d638913021643421319ea4840beb028d663750b9fe543f535c610b1 SHA512 3b7b3e494b3be986a0f43ca6229cc2638821e7215533a118571c1d941a9790ed568e389e117807eceae8f8be2d202ea28341aec62af51fe4fb698c25bbdff147
DIST boto3-1.37.7.gh.tar.gz 910852 BLAKE2B d32da4acee41352d282340b23615c4ddf3039337c7e3e4796ec8f70dcd86c37475f18567a12948cf761086f2ecc79b9eb7c55aa49c14540c36adc217cb77947d SHA512 474bdda6028a555343edc3f9a5ac657ae0b9441cc94f4956f7246f6da97c3ecb6f9bce7381c61e8b46869e38f102b7895615eb1582f7ecfeb1959a95b24da027
DIST boto3-1.37.8.gh.tar.gz 911511 BLAKE2B 76c5789f8ff6f214a26e3c5cda143f20c6a7b4c293b6992c73e351d7da3e814f138ca7c8f45501eae7d41a62f56e28f00c7d90336a3210bdf5580e0aff62282d SHA512 ee0d5d9256d8fbe846c6992df9d64bdeacfbf0bb30ad08b5e1cd79ba6349bb917812dff88b3b0fb2883b23455a882e01a3c4029511947cf675d261329fa73eb5
+DIST boto3-1.37.9.gh.tar.gz 911836 BLAKE2B d190525b9c5e39b445042aba6d8e57da5e49165775901ceebe44b76fd2780ec85a2f5a8a08d3a9a5e451d42bbae19b679e565a7a9acc663258ea0b7909a9a798 SHA512 12cba48d5f2c158b372eaf4e44903e22ca963e5712c3c463fbfd20626a771efe30530852b6c9ab70132a26472ff1b4656095675a5de37524f6b489c25175f8fe
diff --git a/dev-python/boto3/boto3-1.37.9.ebuild b/dev-python/boto3/boto3-1.37.9.ebuild
new file mode 100644
index 000000000000..dfe05b3d9a81
--- /dev/null
+++ b/dev-python/boto3/boto3-1.37.9.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 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 ~loong ~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.11.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 751a6ad270a8..b5ffb15e1389 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.37.5.gh.tar.gz 14298752 BLAKE2B 99aade487be0277f66f0df5c4631e36c
DIST botocore-1.37.6.gh.tar.gz 14320730 BLAKE2B 04d3c9efe73b815740550da2e3a447b52abd43e73e97b6186aaeb0433da75141fab145f2a10b59902ff50da7040297af93f4217329e4a4bb424681d7c55e5e2f SHA512 7435609ef6de25d470d2f7dca1f8e06adad10ad534eebe0c780982a715dec038e7b7ed1cdac4ff0d9beac46e22d304ffd7a3ae4bbf13f74299de1215f9458bf7
DIST botocore-1.37.7.gh.tar.gz 14341717 BLAKE2B c22abfbbedbbe1861d3eea6c341312390a731347e3be4df2116144e1a2d7a7e527dad360feeedcf59375e93f8055eff5d1eb1a87ace1961c34f5acc030dd317c SHA512 9773d6e47d38d5a4eea7a5e790ed5f9c6af48c973d5987508bb48da2646a3f51733041678133b1f506810b492142cf2d261101f3ec5a16c095ccce661eb2fba7
DIST botocore-1.37.8.gh.tar.gz 14344380 BLAKE2B 4024bdd2469b2a75a86888a536d5fe9e93b1be8abb05b7af3eb0bfe76348bfe904c22bb0c19d6960495a191070aa3b22459f7b16b52302554b9036138b2ec6a9 SHA512 96c44877f1d7d0a2bba94f0a5fe3b293f3ffa9c6cab5add9873d486b4c51010ddbf8d3d86fb13e6c1791a183edddea6f3fa383f2716b7148e209cb1db31f875d
+DIST botocore-1.37.9.gh.tar.gz 14346488 BLAKE2B 29ac550ad462ab7c83bad7989588ec62fb57959586a8ec91be9756d90712ad86e3dfd813a347e619b7cac3fd7afb56affcd81926e15d91b8d0ceae2cd4436a8d SHA512 e191c9485e95188049c02020fcb32c4429de6cfd78f237a2026200b7240890d5759f5cdd96166cd2aec035dac82d32db155fe00d9ec6be482c655cfdb44265f9
diff --git a/dev-python/botocore/botocore-1.37.9.ebuild b/dev-python/botocore/botocore-1.37.9.ebuild
new file mode 100644
index 000000000000..df85ee0d220c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.37.9.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 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 ~loong ~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/cheetah3/cheetah3-3.4.0.ebuild b/dev-python/cheetah3/cheetah3-3.4.0.ebuild
index 47d8105a131d..d588231d6309 100644
--- a/dev-python/cheetah3/cheetah3-3.4.0.ebuild
+++ b/dev-python/cheetah3/cheetah3-3.4.0.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
RDEPEND="
dev-python/markdown[${PYTHON_USEDEP}]
diff --git a/dev-python/cppy/cppy-1.3.1.ebuild b/dev-python/cppy/cppy-1.3.1.ebuild
index 9df03e3b5c68..79c52c9b4d45 100644
--- a/dev-python/cppy/cppy-1.3.1.ebuild
+++ b/dev-python/cppy/cppy-1.3.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/setuptools-61.2[${PYTHON_USEDEP}]
diff --git a/dev-python/dj-database-url/dj-database-url-2.3.0.ebuild b/dev-python/dj-database-url/dj-database-url-2.3.0.ebuild
index e1cdae73c173..a81e901afbc5 100644
--- a/dev-python/dj-database-url/dj-database-url-2.3.0.ebuild
+++ b/dev-python/dj-database-url/dj-database-url-2.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild b/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
index 772b1c71e794..f382f992ef1f 100644
--- a/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
+++ b/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
index de5ca61644f2..54f0dbae9fad 100644
--- a/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
+++ b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/django-configurations/django-configurations-2.5.1.ebuild b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
index 5eba2463ea31..740d292d56cb 100644
--- a/dev-python/django-configurations/django-configurations-2.5.1.ebuild
+++ b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest
index 71b84e4e21b5..f259dcf3ad03 100644
--- a/dev-python/faker/Manifest
+++ b/dev-python/faker/Manifest
@@ -1,2 +1,3 @@
DIST faker-36.1.1.tar.gz 1874935 BLAKE2B 501926d322a468943f730f7de48a0e68ff9388f39e638170606f5aa3884029aa27a21bdda68cb19224432e1d44f8de63da591688150a62e8b33bea54f44ad083 SHA512 c5afc49c76a97b7326fbc30eeb3c1d6102cdfcc35f52a7db61d1f58b37b812554274e002cac9ff9003a9669ce9c106e02e71e697045920b4ed006e1292de8a93
DIST faker-36.2.1.tar.gz 1874849 BLAKE2B 355c3c5c4c0753d57ea7f63d510ebe07dcc1194d000d0a2c2aa81e70de486256999418c780d0f98e281b8a218cd6d68598dc936d05fc48205e07bcbac2036dd9 SHA512 81dca7225e10434f11036ddd4e9c3e88e30d2b9ca61531478b78aca77d7b7e2fb27ca6e5755c68b041e88fdfe805ac9688f5803899e4b895f4980428ed9076aa
+DIST faker-37.0.0.tar.gz 1875487 BLAKE2B 4dcd442648bd089b97eca2e544ed24d37087837dd6f9f138f9c645ddb5de18a79910b99a22a884ed77ab26fdfd548096f8738b3d16b062b67e0a359b101848b8 SHA512 9142e0c24725066d7354943c24fdb9cbc28b362ab84d8a854e11ae8e983416d4de762e4d0df2c3d14082897ab353331749d13a0711fd841342308a30af3d70bf
diff --git a/dev-python/faker/faker-37.0.0.ebuild b/dev-python/faker/faker-37.0.0.ebuild
new file mode 100644
index 000000000000..07e6ec6efccf
--- /dev/null
+++ b/dev-python/faker/faker-37.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+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/tzdata[${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/flit-core/flit-core-3.11.0.ebuild b/dev-python/flit-core/flit-core-3.11.0.ebuild
index b157710204e5..4fcaee1fe8c0 100644
--- a/dev-python/flit-core/flit-core-3.11.0.ebuild
+++ b/dev-python/flit-core/flit-core-3.11.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
$(python_gen_cond_dep '
@@ -38,3 +38,8 @@ src_prepare() {
sed -i -e 's:from \.vendor ::' flit_core/*.py || die
sed -i -e '/license-files/d' pyproject.toml || die
}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index a34fc2550866..0622aed0e8d1 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1 +1,2 @@
DIST filesystem_spec-2025.2.0.gh.tar.gz 422445 BLAKE2B 7a834edb2577cbb2ff75512f8c880113bd5809526aaafebddfbdc96e0b562fb5935e630a21958150d62370d13c41a73094d966ea84132c858c6d0e83e9150fc9 SHA512 193a0824eac8fc751ae7e81dfae65e0839060b491dcd538ab4ca0454ea60952b4b602fc1987bc4890595aa5751326745342f2c1359327d5d949c62bf198be04a
+DIST filesystem_spec-2025.3.0.gh.tar.gz 430334 BLAKE2B 99b066224ee9a8f6bd241480e639f2e5dc47ccd5df02d08a9084755ca363ee4e9c65627b6bb1960014fd017e2c7d50525b61e36d818a34d68905c8fc366edf72 SHA512 aba1570a8083a007f566d3ae7a1e1e64ea3caad2da9a616adf06e0a94a39652f7e9c1d1316c328a11bc433410689b4aaa0e67b0902262984b9457918658b7872
diff --git a/dev-python/fsspec/fsspec-2025.3.0.ebuild b/dev-python/fsspec/fsspec-2025.3.0.ebuild
new file mode 100644
index 000000000000..19ae6c5cecb1
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2025.3.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2020-2025 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} )
+
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+ https://github.com/fsspec/filesystem_spec/
+ https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+ https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+# Note: this package is not xdist-friendly
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/hypothesis/hypothesis-6.126.0.ebuild b/dev-python/hypothesis/hypothesis-6.126.0.ebuild
index 08befcf116e3..c928f9a78d25 100644
--- a/dev-python/hypothesis/hypothesis-6.126.0.ebuild
+++ b/dev-python/hypothesis/hypothesis-6.126.0.ebuild
@@ -25,7 +25,7 @@ S="${WORKDIR}/${MY_P}/hypothesis-python"
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="cli"
RDEPEND="
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 60f4a3b75265..6285716f4fce 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,2 +1,2 @@
DIST ipykernel-6.29.5.tar.gz 163367 BLAKE2B ac1a48093b68a79c9b656cc3960f35ae2e28ac110b4a560b7434b853e37e505034d7822fc2d6557f03e1f82a260abba53cf53ba9dde4fc6fc468fd65fb46875a SHA512 271232ad6168ff00d6eb729bb38804f6a030b85be9bd75341b4af8ca1feb9f3c6b088eff77f4efcc503512559c93f1d78c13904089b7acb5205c4039daf0cea0
-DIST ipykernel-7.0.0a0.tar.gz 172248 BLAKE2B 7406cae0ce2543083850e3fdb362b5039386b5827a05c5829a5b4bbd0427d94d755c6abde1ced3099226fa6e684086d1923ec9d720e74669a4bbb4e8c80816d3 SHA512 047875f1fc84298e77478dd771a7dffbafb5b86cecccd9b1ef0295b9b60cd7fb1a407d41b4ad85ab3dc7e077f84f57359b2f464bbfd2a04e538ab357765eeb38
+DIST ipykernel-7.0.0a1.tar.gz 169472 BLAKE2B 0377a630d16b9aa481f516e09dea4510eecb35e3dc6d69943c28048f8c6fa9bc28ff960909dd47a701981e24f412ce4e1aab60804252fe1b9e8f526e0aaefa27 SHA512 2b9b1b4e25e9d8e188008b9f11396862bdf36c4525e849f6962ce3468963b9f13ac2d20e6776fc895e51e4062a74a0da2d94fd226c4ae3c750c3a20841743d25
diff --git a/dev-python/ipykernel/ipykernel-7.0.0_alpha0.ebuild b/dev-python/ipykernel/ipykernel-7.0.0_alpha1.ebuild
index 2ccd2cbd9ba6..745f7d071aad 100644
--- a/dev-python/ipykernel/ipykernel-7.0.0_alpha0.ebuild
+++ b/dev-python/ipykernel/ipykernel-7.0.0_alpha1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 pypi virtualx
@@ -17,10 +17,10 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
RDEPEND="
- >=dev-python/anyio-4.2.0[${PYTHON_USEDEP}]
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.8.0[${PYTHON_USEDEP}]
>=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
>=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
>=dev-python/jupyter-client-8.0.0[${PYTHON_USEDEP}]
@@ -29,8 +29,9 @@ RDEPEND="
>=dev-python/nest-asyncio-1.4[${PYTHON_USEDEP}]
>=dev-python/packaging-22[${PYTHON_USEDEP}]
>=dev-python/psutil-5.7[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-25.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-26.0[${PYTHON_USEDEP}]
>=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+ >=dev-python/zmq-anyio-0.3.6[${PYTHON_USEDEP}]
"
# RDEPEND seems specifically needed in BDEPEND, at least jupyter
# bug #816486
diff --git a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
index fe9756ef77a4..a76ff25065d0 100644
--- a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
+++ b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild
index 0803923ba53e..0d40485a1fe2 100644
--- a/dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild
+++ b/dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
# leechcorepyc ships with a bundled version of the LeechCore library. So we
# don't depend on the library here. But we must be aware this module doesn't
diff --git a/dev-python/mistune/mistune-3.1.2.ebuild b/dev-python/mistune/mistune-3.1.2.ebuild
index 0707bb168a76..8f28443c5e99 100644
--- a/dev-python/mistune/mistune-3.1.2.ebuild
+++ b/dev-python/mistune/mistune-3.1.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild b/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild
index 3f5696f2fae1..e7c0b4859c87 100644
--- a/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild
+++ b/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/docutils-0.18[${PYTHON_USEDEP}]
diff --git a/dev-python/numpy/numpy-2.2.3.ebuild b/dev-python/numpy/numpy-2.2.3.ebuild
index f293e0bef960..0df8f57a6764 100644
--- a/dev-python/numpy/numpy-2.2.3.ebuild
+++ b/dev-python/numpy/numpy-2.2.3.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0/2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
# +lapack because the internal fallbacks are pretty slow. Building without blas
# is barely supported anyway, see bug #914358.
IUSE="big-endian +lapack"
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-7.1.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-7.1.0.ebuild
index cd28f2de9f17..030fc399e613 100644
--- a/dev-python/oslo-concurrency/oslo-concurrency-7.1.0.ebuild
+++ b/dev-python/oslo-concurrency/oslo-concurrency-7.1.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
>=dev-python/debtcollector-3.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/oslo-serialization/oslo-serialization-5.7.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.7.0.ebuild
index 931233896b1b..9b5e0fa18a44 100644
--- a/dev-python/oslo-serialization/oslo-serialization-5.7.0.ebuild
+++ b/dev-python/oslo-serialization/oslo-serialization-5.7.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
>=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 6c81e972e4a4..44f5bbefb7c0 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,2 +1,2 @@
-DIST pdm-2.22.2.tar.gz 2646982 BLAKE2B 673798ac6f2658040b1b9bdf5a1e78933030bf280fb5eaeed3f2996566a9b8828ce3500c67a6810d4def4685450b68677f00155ed2530af9c5de87276cca7f58 SHA512 52ece85fd6b116ad0c74bf53f19c811308f65f507977c0e47a2ac9f8e346aa122022b07f6ebc27ea9e8eeeefbed55c266cfda9316fe8525c610bd0339acca549
DIST pdm-2.22.3.tar.gz 2647179 BLAKE2B 61a2e99fabe3395d1f472cf6835a4b56fcecd02a3acf964051bde1304028db575cfcb77803922b2bf0f9f9be3864e59ae2f2f075d41e38a82fd07bdd5f9a8d22 SHA512 2d0aa9aa075e26d5184853d41e95d0427ac4c9a15ddfc00a2881a4edcd0d373d8c71efde2fd0f1f30861e07b418c577b123f53125883f6f5d424609f1c758b80
+DIST pdm-2.22.4.tar.gz 2647094 BLAKE2B 629b855964be63f4cddf9dd295390e62c5b948e1a450357ca9dce4f940e99064c335d670bd695c3fc62606452e7252f5ec4fcc145ec73b14ea6181e1c4193454 SHA512 9988420d27f1a409f81b33be8eeb7a209a37529e838465bde815f6bb50c923cb44004e528f735d99ddff02c11bc88dbf1544f310836262b158f783db241e5c9f
diff --git a/dev-python/pdm/pdm-2.22.2.ebuild b/dev-python/pdm/pdm-2.22.4.ebuild
index 281b11e31d7b..281b11e31d7b 100644
--- a/dev-python/pdm/pdm-2.22.2.ebuild
+++ b/dev-python/pdm/pdm-2.22.4.ebuild
diff --git a/dev-python/psycopg/psycopg-3.2.5.ebuild b/dev-python/psycopg/psycopg-3.2.5.ebuild
index 0f3d4be43735..a7b3f48ff593 100644
--- a/dev-python/psycopg/psycopg-3.2.5.ebuild
+++ b/dev-python/psycopg/psycopg-3.2.5.ebuild
@@ -59,7 +59,7 @@ python_compile() {
distutils-r1_python_compile
# optional C backend
- if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then
local DISTUTILS_USE_PEP517=standalone
cd ../psycopg_c || die
distutils-r1_python_compile
@@ -96,7 +96,7 @@ python_test() {
)
local impls=( python )
- if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then
impls+=( c )
fi
diff --git a/dev-python/pycollada/pycollada-0.9.ebuild b/dev-python/pycollada/pycollada-0.9.ebuild
index 3dfd5989bb58..d1257e872d71 100644
--- a/dev-python/pycollada/pycollada-0.9.ebuild
+++ b/dev-python/pycollada/pycollada-0.9.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest
index e93b2aac8980..b752a04672a7 100644
--- a/dev-python/pycurl/Manifest
+++ b/dev-python/pycurl/Manifest
@@ -1,3 +1,4 @@
DIST pycurl-7.45.3.tar.gz 236470 BLAKE2B 690e49f92f569352e26d95a0fa58508c4e96c845c7e3ae1169b8bc55036902f64859987880565217df56a57031dc2775e3c6979b4cfdf8a8c9a94c67ae94cb79 SHA512 12a55070602a1fd22b160ad582a4001bdd28531d2b2ccd365ff0136bc13dd23af80b19488bdbbc60a902a3a362b64383b9ae6acce6ed328c74dcffc8a6a3f4ad
DIST pycurl-7.45.4.tar.gz 238427 BLAKE2B dac2b950fd53156511f358d51fc5b5b690cd56880a5e47becef6bc61060f68a7948c2cd80cfdb919378addf7af5a0e45caf8fc375355ec0287bd112f5b531a9b SHA512 bf4012f8a97bde5864e31ddfe310c8de52dc304215ff054658c944337bb3f6dc248c051d92f0ee90d1701ab057b12068c5632bacdadb94677595c8a522c3a1db
DIST pycurl-7.45.5.tar.gz 239351 BLAKE2B 6246a17e4a2e5546e0ec6a4557165a3d4b8f211945bdc0cd57170bdc1782d5fdded8e5cf52a9b1d56f3cb7182b13bfe1882147f6439bbe601d7411c190fb1f8e SHA512 ca42570c0c92c4e6e8a4a41158bc5db771dedee65e1f3b18410d69d2e4bda5859109b60b3d593dd2afaf3b2398003fa4dcc2fbe2621571457b0aded4aae262c6
+DIST pycurl-7.45.6.tar.gz 239470 BLAKE2B f759b8352b6b958e5f277c32c89b36de536de20e1ad2a815ac2ee7f6c02f04a241e45a4afbcc154662ce8c6aeaa2e71dbbf854cee2e5b5d2f72b91f62273a07b SHA512 4eb53cbb3c8801950c76adb920b30919ca9f70e3f93dcef898d048244c475ec4a135590d173398efeb7642be33c11cb1742cb2519713088223870141e0cef8b3
diff --git a/dev-python/pycurl/pycurl-7.45.6.ebuild b/dev-python/pycurl/pycurl-7.45.6.ebuild
new file mode 100644
index 000000000000..65e870cd7d96
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.45.6.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2025 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 pypi toolchain-funcs
+
+DESCRIPTION="Python bindings for curl/libcurl"
+HOMEPAGE="
+ http://pycurl.io/
+ https://github.com/pycurl/pycurl/
+ https://pypi.org/project/pycurl/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="curl_ssl_gnutls +curl_ssl_openssl examples ssl"
+
+# Depend on a curl with curl_ssl_* USE flags.
+# libcurl must not be using an ssl backend we do not support.
+# If the libcurl ssl backend changes pycurl should be recompiled.
+# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
+# does not need to initialize gcrypt threading and we do not need to
+# explicitly link to libgcrypt.
+DEPEND="
+ >=net-misc/curl-7.25.0-r1:=[ssl=]
+ ssl? (
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= )
+ curl_ssl_openssl? ( dev-libs/openssl:= )
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
+ )
+"
+
+: ${EPYTEST_TIMEOUT:=120}
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # docs installed into the wrong directory
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # Override faulty detection in setup.py, bug #510974.
+ export PYCURL_SSL_LIBRARY=${CURL_SSL}
+}
+
+src_test() {
+ emake -C tests/fake-curl/libcurl CC="$(tc-getCC)"
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # refcounting tests are unreliable
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_readdata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writedata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writeheader_refcounting
+ )
+
+ epytest -p flaky tests
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index b83f723507bf..93e80cfdbdab 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -49,8 +49,6 @@ DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pydantic_core-2.27.2.tar.gz 413443 BLAKE2B 2755ba694b17894ff89704203c275315dc6a600e5e89965f24800ff032802168a9fa5bbb26e9714dae42f645e34e0ac32191415fae04bd53a8d04c41f1d3e2c4 SHA512 4e0bc0137463d3a76bb584da76751916ddaa18383efbe15a303880649df67de22c67a8a6e5f889c76292c4557914811d942fd3373dad65b63d9fb1f84f34ce3e
DIST pydantic_core-2.29.0.tar.gz 417255 BLAKE2B 0803d8fa6bc731b8c58184228abf015ab6608ffdf351cd6bb8bf78ed2da0b2af14899a2c4ed4a29132a1ba2c2a67bdb3519e13ea857ef6a8a1576d7661c8f03a SHA512 a41ada88f70b04362edc3e95fe34c71814291f5eec4260193fa6be69f219ae52cd60ffc55dae9c7b43c75afc107a114e400c4a3fc697520e57ed39c0b8794560
-DIST pydantic_core-2.30.0.tar.gz 422812 BLAKE2B 26c7a79d71856f914e93790d9cb87c311e7561ae2226f9489e25ca10c139ad1e9516b5f799c79189dc43d314c033278e6c14fbafe64cf78d59bbec4132fdca5a SHA512 c548ea36cfc001ad66ba7aec2468681b1189f69629a1f8c28799df0ff4948dffa60cc7cef416a36056322631a2921ebfa6ed72b5bbb4eaffff54161a2b968b32
-DIST pydantic_core-2.31.0.tar.gz 424589 BLAKE2B 0c632cfa597f8a6ed2bcb2921231ba94527f3b891584e7ea1c2446a920e80425fe0cb612374ae1204f842d4d6e1e7dad76d20fba1edac513cce6615a470dcfa4 SHA512 373f378b6cdc6dc95e94a3096974b71055a3fd499f5c2fcd463e64802233f61389ba4a7e1572e1dc9af93a14efe7ab8c99af886e527e810dba5ec4461e2c14f4
DIST pydantic_core-2.31.1.tar.gz 424824 BLAKE2B faba4f22988c4b094abf7c878c8c0e99cd78e7ee5350c8bec0324dbac2fa0a4c9e2373f16048e1d763d3ed570dc3a57a0cdd2b38462a5cca1625b4723e56d828 SHA512 2a08b12e6d06f9d78ab696b3fe248885240eeec955fbca85cc50a2d5fdce7a87a755c0b6d4bd16c51bc9d8695a4d92ef6e908c1ec9049c4876f93cf308aa5b6f
DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
DIST pyo3-0.23.4.crate 1087676 BLAKE2B 2c7d3530460ff687e8f60dcff0fb01465b2a4642043ebdfc927fc3824b9fbce9c4b304250808a85405d21df12d17a1d1ada7bdf8f3563710692f22223e2732f1 SHA512 0015aa75163ad0ec026d185e15c26f59aaad0eb3cc3044b146e5d703bb375fcd838df2044febbd52e6e129dfba81c8249329fc3e4805695274dac7a69eee0651
diff --git a/dev-python/pydantic-core/pydantic-core-2.30.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.30.0.ebuild
deleted file mode 100644
index c7b6ac170afa..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.30.0.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-CRATES="
- ahash@0.8.11
- aho-corasick@1.1.3
- autocfg@1.3.0
- base64@0.22.1
- bitvec@1.0.1
- cc@1.0.101
- cfg-if@1.0.0
- displaydoc@0.2.5
- enum_dispatch@0.3.13
- equivalent@1.0.1
- form_urlencoded@1.2.1
- funty@2.0.0
- getrandom@0.2.15
- hashbrown@0.14.5
- heck@0.5.0
- hex@0.4.3
- icu_collections@1.5.0
- icu_locid@1.5.0
- icu_locid_transform@1.5.0
- icu_locid_transform_data@1.5.0
- icu_normalizer@1.5.0
- icu_normalizer_data@1.5.0
- icu_properties@1.5.1
- icu_properties_data@1.5.0
- icu_provider@1.5.0
- icu_provider_macros@1.5.0
- idna@1.0.3
- idna_adapter@1.2.0
- indexmap@2.2.6
- indoc@2.0.5
- itoa@1.0.11
- jiter@0.8.2
- lexical-parse-float@0.8.5
- lexical-parse-integer@0.8.6
- lexical-util@0.8.5
- libc@0.2.155
- litemap@0.7.3
- memchr@2.7.4
- memoffset@0.9.1
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.19.0
- percent-encoding@2.3.1
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.23.5
- pyo3-ffi@0.23.5
- pyo3-macros-backend@0.23.5
- pyo3-macros@0.23.5
- pyo3@0.23.5
- python3-dll-a@0.2.13
- quote@1.0.36
- radium@0.7.0
- regex-automata@0.4.8
- regex-syntax@0.8.5
- regex@1.11.1
- rustversion@1.0.17
- ryu@1.0.18
- serde@1.0.217
- serde_derive@1.0.217
- serde_json@1.0.138
- smallvec@1.13.2
- speedate@0.15.0
- stable_deref_trait@1.2.0
- static_assertions@1.1.0
- strum@0.26.3
- strum_macros@0.26.4
- syn@2.0.82
- synstructure@0.13.1
- tap@1.0.1
- target-lexicon@0.12.14
- tinystr@0.7.6
- unicode-ident@1.0.12
- unindent@0.2.3
- url@2.5.4
- utf16_iter@1.0.5
- utf8_iter@1.0.4
- uuid@1.12.1
- version_check@0.9.5
- wasi@0.11.0+wasi-snapshot-preview1
- write16@1.0.0
- writeable@0.5.5
- wyz@0.5.1
- yoke-derive@0.7.4
- yoke@0.7.4
- zerocopy-derive@0.7.34
- zerocopy@0.7.34
- zerofrom-derive@0.1.4
- zerofrom@0.1.4
- zerovec-derive@0.10.3
- zerovec@0.10.4
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # different repr() in exception
- # https://github.com/pypy/pypy/issues/5220
- tests/validators/test_arguments.py::test_error_display
- tests/validators/test_definitions_recursive.py::test_error_inside_definition_wrapper
- tests/validators/test_string.py::test_invalid_regex
- tests/validators/test_string.py::test_backtracking_regex_rust_unsupported
- tests/validators/test_union.py::test_empty_choices
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- # tests link to libpython, so they fail to link on pypy3
- [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
- epytest -p pytest_mock -p timeout -o xfail_strict=False -o addopts=
-}
diff --git a/dev-python/pydantic-core/pydantic-core-2.31.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.31.0.ebuild
deleted file mode 100644
index 996bae4d5536..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.31.0.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-CRATES="
- ahash@0.8.11
- aho-corasick@1.1.3
- autocfg@1.3.0
- base64@0.22.1
- bitvec@1.0.1
- cc@1.0.101
- cfg-if@1.0.0
- displaydoc@0.2.5
- enum_dispatch@0.3.13
- equivalent@1.0.1
- form_urlencoded@1.2.1
- funty@2.0.0
- getrandom@0.2.15
- hashbrown@0.14.5
- heck@0.5.0
- hex@0.4.3
- icu_collections@1.5.0
- icu_locid@1.5.0
- icu_locid_transform@1.5.0
- icu_locid_transform_data@1.5.0
- icu_normalizer@1.5.0
- icu_normalizer_data@1.5.0
- icu_properties@1.5.1
- icu_properties_data@1.5.0
- icu_provider@1.5.0
- icu_provider_macros@1.5.0
- idna@1.0.3
- idna_adapter@1.2.0
- indexmap@2.2.6
- indoc@2.0.5
- itoa@1.0.11
- jiter@0.8.2
- lexical-parse-float@0.8.5
- lexical-parse-integer@0.8.6
- lexical-util@0.8.5
- libc@0.2.155
- litemap@0.7.3
- memchr@2.7.4
- memoffset@0.9.1
- num-bigint@0.4.6
- num-integer@0.1.46
- num-traits@0.2.19
- once_cell@1.19.0
- percent-encoding@2.3.1
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.23.5
- pyo3-ffi@0.23.5
- pyo3-macros-backend@0.23.5
- pyo3-macros@0.23.5
- pyo3@0.23.5
- python3-dll-a@0.2.13
- quote@1.0.36
- radium@0.7.0
- regex-automata@0.4.8
- regex-syntax@0.8.5
- regex@1.11.1
- rustversion@1.0.17
- ryu@1.0.18
- serde@1.0.218
- serde_derive@1.0.218
- serde_json@1.0.138
- smallvec@1.14.0
- speedate@0.15.0
- stable_deref_trait@1.2.0
- static_assertions@1.1.0
- strum@0.26.3
- strum_macros@0.26.4
- syn@2.0.82
- synstructure@0.13.1
- tap@1.0.1
- target-lexicon@0.12.14
- tinystr@0.7.6
- unicode-ident@1.0.12
- unindent@0.2.3
- url@2.5.4
- utf16_iter@1.0.5
- utf8_iter@1.0.4
- uuid@1.15.1
- version_check@0.9.5
- wasi@0.11.0+wasi-snapshot-preview1
- write16@1.0.0
- writeable@0.5.5
- wyz@0.5.1
- yoke-derive@0.7.4
- yoke@0.7.4
- zerocopy-derive@0.7.34
- zerocopy@0.7.34
- zerofrom-derive@0.1.4
- zerofrom@0.1.4
- zerovec-derive@0.10.3
- zerovec@0.10.4
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- case ${EPYTHON} in
- pypy3.11)
- EPYTEST_DESELECT+=(
- # different repr() in exception
- # https://github.com/pypy/pypy/issues/5220
- tests/validators/test_arguments.py::test_error_display
- tests/validators/test_definitions_recursive.py::test_error_inside_definition_wrapper
- tests/validators/test_string.py::test_invalid_regex
- tests/validators/test_string.py::test_backtracking_regex_rust_unsupported
- tests/validators/test_union.py::test_empty_choices
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- # tests link to libpython, so they fail to link on pypy3
- [[ ${EPYTHON} != pypy3* ]] && cargo_src_test
- epytest -p pytest_mock -p timeout -o xfail_strict=False -o addopts=
-}
diff --git a/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild b/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild
index 3fb5de07329f..8fbc59c6de35 100644
--- a/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild
+++ b/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pymongo/pymongo-4.11.1.ebuild b/dev-python/pymongo/pymongo-4.11.1.ebuild
index 3b70344edf4b..8cff3ea1ac02 100644
--- a/dev-python/pymongo/pymongo-4.11.1.ebuild
+++ b/dev-python/pymongo/pymongo-4.11.1.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc kerberos +native-extensions +test-full"
RDEPEND="
diff --git a/dev-python/python-json-logger/Manifest b/dev-python/python-json-logger/Manifest
index de8010ad66cc..aaa33b4eaca7 100644
--- a/dev-python/python-json-logger/Manifest
+++ b/dev-python/python-json-logger/Manifest
@@ -1 +1,2 @@
DIST python_json_logger-3.2.1.tar.gz 16287 BLAKE2B 7c25119202e8b1c98ef97a27670290151de0edbcf7b0d4b8aae733e379d53d0747df1306677c669d33d4b83259341b2ae74b322a578703e9268bc307d4cc2a65 SHA512 731ee10223c688602f1c89800cdd8f6045917239d796a08dd8317a210b98e02afb4d894c74d897675ad526112e46534570e78a8d3686b4c2009f2b4c41b925b2
+DIST python_json_logger-3.3.0.tar.gz 16642 BLAKE2B 79f7271815af3a6f29e4f9cfda58b7bae2c08d0aef7a6e5bbab04dedbd8db2973addd40361c58e6a47e0ef765d15f0b0c262f41cf74b2c4e20d08478250d7e00 SHA512 6779464281fd8b7e4171adcf50aedc7f362df62d99bbd1982b5bef657a3a2f1e2191c4aa0f5acd688dd3554af547f5d72e785e493e21dbaa342127c92da5daa5
diff --git a/dev-python/python-json-logger/python-json-logger-3.3.0.ebuild b/dev-python/python-json-logger/python-json-logger-3.3.0.ebuild
new file mode 100644
index 000000000000..72a237b1e77d
--- /dev/null
+++ b/dev-python/python-json-logger/python-json-logger-3.3.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 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="Standard python logging to output log data as json objects"
+HOMEPAGE="
+ https://github.com/madzak/python-json-logger/
+ https://pypi.org/project/python-json-logger/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-socks/python-socks-2.7.1.ebuild b/dev-python/python-socks/python-socks-2.7.1.ebuild
index e36054ed6825..fa8e8b3687b3 100644
--- a/dev-python/python-socks/python-socks-2.7.1.ebuild
+++ b/dev-python/python-socks/python-socks-2.7.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
# curio is not packaged
# asyncio is the only backend we have, so dep on its deps unconditionally
diff --git a/dev-python/requests-unixsocket/Manifest b/dev-python/requests-unixsocket/Manifest
index 55e09370ea47..f5435706fc81 100644
--- a/dev-python/requests-unixsocket/Manifest
+++ b/dev-python/requests-unixsocket/Manifest
@@ -1 +1,2 @@
DIST requests-unixsocket-0.3.0.tar.gz 14478 BLAKE2B 5b46ea051729326498f50ba7a952429d271deb102060f8e3019d259ddc21dbffdca8960e140c7ccb25898034cf37fb90dd143c970e75bdc6e6442e9515f14d6e SHA512 21c887b0c3fa526a2debb3960e0ea4dc3b3015cdd517459b6484501176321408d1b4c87dd2840c7d8b71d08fa9114f655ae03f8bc9ff1fca33c914900ef82f5b
+DIST requests_unixsocket-0.4.1.tar.gz 23476 BLAKE2B a0a118e0fb8060e20389aaf170c8e1cedaca2d5d721af1195e98ccebc0de55a4d341baf74e88d860402f7f80744f86ba754da7aac4d66334e01d5328126bf574 SHA512 633dbe9217e3e521271012643afd874c602c2ec204da8b4fdabd1bd5e0ccdf69c86060edc11d5a2037d8acb57a84cbbac447949cc92438bd6c5302275442287e
diff --git a/dev-python/requests-unixsocket/requests-unixsocket-0.4.1.ebuild b/dev-python/requests-unixsocket/requests-unixsocket-0.4.1.ebuild
new file mode 100644
index 000000000000..dac904e5661f
--- /dev/null
+++ b/dev-python/requests-unixsocket/requests-unixsocket-0.4.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020-2025 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="Use requests to talk HTTP via a UNIX domain socket"
+HOMEPAGE="
+ https://github.com/msabramo/requests-unixsocket/
+ https://pypi.org/project/requests-unixsocket/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/waitress[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/scipy/scipy-1.15.2.ebuild b/dev-python/scipy/scipy-1.15.2.ebuild
index c9e17b155dea..3448088edb3d 100644
--- a/dev-python/scipy/scipy-1.15.2.ebuild
+++ b/dev-python/scipy/scipy-1.15.2.ebuild
@@ -37,7 +37,7 @@ else
)"
if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index c1f4f8ac5ef2..e2fb8a276b52 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -1,12 +1,8 @@
DIST selenium-4.25.0.tar.gz 957765 BLAKE2B e62f1e9e0619f376e75cbfdbc67540184dde32b5e3bfe07a80157a49bdbfe5475f7ea02bd4b130b24e83c82fc838c2b22d3bf09fd9bd76f4bb475e690f979346 SHA512 6961356a1e03d5b76f07fbf3e3bc834915c52b9c744aeebbde2a9a3c89c661b07f798629770a45e6842b509ae10cbeac61aa92101978bd334e9d1444dd743735
-DIST selenium-4.26.0.tar.gz 967159 BLAKE2B 211a82d59813884cd4be133726b2ae70c530bb8676c505d44ae25e8b8e5bc38fd7e35839fe042a85fb3dd93c1c87ecd7d6c81cb1a1d7811b4b9f6f1811328c21 SHA512 8864c7d49591e29ee82c66c4548ca7286d0770efecf5b15e41c3622f541a665a404958afdc22b872f191487349602da13a3db7cd32aa14155c09d21a8a3e7b92
DIST selenium-4.26.1.tar.gz 967543 BLAKE2B 7e7476338a030083261199b725aaa38d03bb62f71c56c16495600428e976067b456c32b98d18a0fa4fcdcd6544ddb0043a8104b3c6c075917924ebb8466aee56 SHA512 08d75ee4b3b5d93ad5385c0755d1b9b4e604e491127da19ba3531c6de2213c6cbbdb768893168112643e6272019d4d761873039f42af1c96dffc7ccfb9fc3bab
-DIST selenium-4.28.0.tar.gz 981603 BLAKE2B 234aa3cc9a877b680c48483a08cf5b9bd385f1552db2999d8689e3bec5e9d84e7bb25029db9bb2193ad85199889508c7d513c502b30ec03b8efd24b166f2c0a0 SHA512 b45d42dbeaeafe750404414beec78b11ef085691829b82dbac2c0c1f628bfd90b931213fb8636690c7ea9184c95a0da4bb70e8e783b0b9cfbbaaf2e61b15d420
DIST selenium-4.28.1.tar.gz 981633 BLAKE2B a8b856d4de7be4a68028f97c88852faf867224c2632ec40273d1589de2b84a75ae96d4b3799bce50dd8967ed979da686511212c0fa2bad5775f9288c5fbf0be4 SHA512 cefcf4286fcce8f3e33d9d97001bee0ecee157609aa921adfe58b748cb4f7b90feeda95181a4d67ebc6ed2b5381db1fb2f1ffb105c6469f0034918a93cba01d1
DIST selenium-4.29.0.tar.gz 985717 BLAKE2B 61dbda8dcc3280289a2f84159edd11bbef66c507ceb10d017b50249e4ae2d200761d7fc83d457ff412001c8e18f363b89c04eafc118ac4f2a2ac15f681e9a5a6 SHA512 aff22caec524b1835f3c0d857e44545693716e2cd250f835c77b89225c1a3af6dfe2090d66bbad270e131e36ba0629af72cf0075e40c04d9e8c908dd41f8f6ad
DIST selenium-selenium-4.25.0.gh.tar.gz 77158053 BLAKE2B 9978239a874d32e23d98ec98eb5292153496c42abcdd0f959875b2b460df5a85c0b532b6843e0d13b931078490958ebdc2944a8c21ce2eae24a0ac6a3c830772 SHA512 6d11d1aa22d27dbc07c3d39f5f852080c5089b12b1da0251e7b09c38ac3b8f56f452a24c64a20685eb0aff238698ab4bd18a8b7089c69f261cfbcdc679ceeac8
-DIST selenium-selenium-4.26.0.gh.tar.gz 77107740 BLAKE2B d4e466dbdb9a12126ae8ee9e311d5d997228da3b22620ead3dbf1a553232503fbd8c19470419d6ad5862acfc19f0012c4c48b3a5e1ccecaf0f7c4171f35904fb SHA512 03197215c04e8f6e151631d769975e70b5140d2d7635443c07e43e63b1c0cc3bc99b0694300ca4dbfea6178af9d037d28699a756ef74926a357f7a3030086182
DIST selenium-selenium-4.26.1-python.gh.tar.gz 77109265 BLAKE2B c0c5693c64fa65a627e5edf0cbbc051410fcddf59e4fd80c362b9a382c586fc3ad3d574674e5523ab284b40b6639e95e85fd1c8195f2f1a6f35ad6532ed667ce SHA512 7ace69332f17c6f7e28b81223f4c8c62cde1832b5acaf2fd1c777a08a5a9cfebb5d9c83daa10462eeb3acb9c7cb5038711f5acee51f5dad3910d7e29e4387d3f
-DIST selenium-selenium-4.28.0.gh.tar.gz 52440665 BLAKE2B c954745ffc62d05c7686dfad8be2963dc520d831849a3ff50e75d6b3bf6f14e985932026b61bd6c4df37a1cd50d877bd6b52d0ee35df3b0763d4f5d2f08b8b6a SHA512 02316b264a25888116070f697be59094139114ce3388013da8e907dc55ac4e0d60b773b35ae5a786fbd94ee59c3afc7ff9344aeec709c160960a343337f42d8c
DIST selenium-selenium-4.28.1-python.gh.tar.gz 52438112 BLAKE2B 62e2a8334238a6fbe063eda6253f2e6d6ab83484dde2b6b7d2fb6fab3e37d7c1d78b82b424c665c5b38fa06928ec693ece8dab03831132b3d7666c296c4cd39f SHA512 f5c917615a7424470c095c7b9730c02e1e7d7e691b51bc29fbb2d72f3ea08d647705d67702e287e962c033f1269b7cff8cba93bef4999de09c90a6f0e9029efa
DIST selenium-selenium-4.29.0.gh.tar.gz 52589103 BLAKE2B 65b202e599c1a3d31ebd15a3da1246fe7e8ea4a55c24189a1146d07e4a49a5fcdfbdb000b7e8102b09de4f3c60d4ca13c033c2127603f8ed2c6277d254cb3069 SHA512 2a3dde375539592cb65fc2dca27e5a3f92ccdd9111dd0c7a0453a6f447a2f4b738d92120d1ef6872321265f86c87708859e714288b49893f6b8ccb1ad003cbf7
diff --git a/dev-python/selenium/selenium-4.26.0.ebuild b/dev-python/selenium/selenium-4.26.0.ebuild
deleted file mode 100644
index ecb996dc322d..000000000000
--- a/dev-python/selenium/selenium-4.26.0.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 pypi
-
-# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
-TEST_TAG=${P}
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://www.seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
- <dev-python/trio-1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.17[${PYTHON_USEDEP}]
- <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
- <dev-python/websocket-client-2[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-util/selenium-manager
- net-misc/geckodriver
- || (
- www-client/firefox
- www-client/firefox-bin
- )
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not build selenium-manager implicitly
- sed -e '/setuptools_rust/d' \
- -e '/rust_extensions/,/\]/d' \
- -i setup.py || die
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_DESELECT=(
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
- local pytest_args=(
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- -o "python_files=*_tests.py test_*.py"
- -p pytest_mock
- )
- if use test-rust; then
- local -x PATH=${T}/bin:${PATH}
- local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
-
- local EPYTEST_XDIST=1
- pytest_args+=(
- -p rerunfailures --reruns=5
-
- --driver=firefox
- --browser-binary="$(type -P firefox || type -P firefox-bin)"
- --driver-binary="$(type -P geckodriver)"
- --headless=true
- )
-
- EPYTEST_DESELECT+=(
- # expects prebuilt executables for various systems
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
- test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
-
- # TODO: these don't respect --*-binary and try to fetch versions
- test/selenium/webdriver/firefox
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
- test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
-
- # TODO
- test/selenium/webdriver/common/bidi_script_tests.py
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
- )
- else
- EPYTEST_DESELECT+=(
- test/selenium
- )
- fi
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest "${pytest_args[@]}"
-}
diff --git a/dev-python/selenium/selenium-4.28.0.ebuild b/dev-python/selenium/selenium-4.28.0.ebuild
deleted file mode 100644
index 3254d215e086..000000000000
--- a/dev-python/selenium/selenium-4.28.0.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 pypi
-
-# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
-TEST_TAG=${P}
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://www.seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
- <dev-python/trio-1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.17[${PYTHON_USEDEP}]
- <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
- <dev-python/websocket-client-2[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/filetype[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-util/selenium-manager
- net-misc/geckodriver
- || (
- www-client/firefox
- www-client/firefox-bin
- )
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # do not build selenium-manager implicitly
- sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
- -i pyproject.toml || die
-
- # https://github.com/SeleniumHQ/selenium/pull/15128
- sed -e '/namespaces/s:false:true:' \
- -e 's:selenium_package:"*":' \
- -i pyproject.toml || die
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_DESELECT=(
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- # TODO
- 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
- )
- local pytest_args=(
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- -o "python_files=*_tests.py test_*.py"
- -p pytest_mock
- )
- if use test-rust; then
- local -x PATH=${T}/bin:${PATH}
- local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
-
- local EPYTEST_XDIST=1
- pytest_args+=(
- -p rerunfailures --reruns=5
-
- --driver=firefox
- --browser-binary="$(type -P firefox || type -P firefox-bin)"
- --driver-binary="$(type -P geckodriver)"
- --headless=true
- )
-
- EPYTEST_DESELECT+=(
- # expects prebuilt executables for various systems
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
- test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
- test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
-
- # TODO: these don't respect --*-binary and try to fetch versions
- test/selenium/webdriver/firefox
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
- test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
- test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
-
- # TODO
- test/selenium/webdriver/common/bidi_script_tests.py
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
- test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
- )
- else
- EPYTEST_DESELECT+=(
- test/selenium
- )
- fi
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest "${pytest_args[@]}"
-}
diff --git a/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild
index f342244a272d..06071133a410 100644
--- a/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild
+++ b/dev-python/setuptools-scm/setuptools-scm-8.2.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
# there's an optional dep on rich for cute logs
RDEPEND="
diff --git a/dev-python/simplejson/simplejson-3.20.1.ebuild b/dev-python/simplejson/simplejson-3.20.1.ebuild
index 9b9c636d5eb4..0b17f5295cb2 100644
--- a/dev-python/simplejson/simplejson-3.20.1.ebuild
+++ b/dev-python/simplejson/simplejson-3.20.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="|| ( MIT AFL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="+native-extensions"
DOCS=( README.rst CHANGES.txt )
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 8f2d6cd242a6..fd2e5378bda9 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -57,6 +57,7 @@ DIST serde_derive-1.0.216.crate 57674 BLAKE2B 12a9228679c16288c08c8b256707e276ae
DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb629aa39f2bd758c0505700a5f2dfabd85b1b66c3b094268bc1627b346e204c792f4ca61efa76c54ab9cd5744fb0ee2 SHA512 20e65ec87bff319897a141960d13deb5cadcf821209c1ee8799f1dc7f458ce432bc62c16df5bdada1c8d3cc01ff23b8125e8fa0a03545d4614f32efd687dc69f
DIST sqlglot-26.7.0.tar.gz 5322836 BLAKE2B c44996699bb9831e3bba1fbb8ea4eb8c88f47f2e27a30e61143606e576f5ea07d78fd9a180c1f9f13df4a610b9d33fb104ea44f3f50a5fee3886d7efcb10a378 SHA512 40b8a544b87510d5cb098d9ede8c0a00ab2d5a82b3fac816a1377d79377c4daad65b29a04f9dfbcad672d831f1d07104686fba80b29d1591d7922d7c58c66d72
DIST sqlglot-26.8.0.tar.gz 5325732 BLAKE2B 442247956468c411489d3b8ca4edb094eb5814ea72505897e818880acd656daa2d5192b7e1e4ec468dcada2836f708a16ca042d3c51c96982464c1998ae692cf SHA512 8a67977e346f2c67ce1aafd998720eb1eb2e6a0411c4f78b4455f5936961ff274d0e9553a5c62727698499c9e7d98daee76836d0fc0ccb6b55b472f88cfe6b73
+DIST sqlglot-26.9.0.tar.gz 5327761 BLAKE2B eacd37927f50c2124142666d41028d5a8e7f8ae8164012f0364ecd5294eec6ea16d7fa46d4d11e3c7d2436a2aec50179a0b4ff490f92408f9e0b14571d93ec69 SHA512 9f7f1b217daa667dc5f5418e1102e7a55a260948f3d651827f01069bb4f58e42e3774679e8dceb41b64f43472daed54d6f7a390a864f10b53ac675a0fc65c747
DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2
DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
diff --git a/dev-python/sqlglot/sqlglot-26.9.0.ebuild b/dev-python/sqlglot/sqlglot-26.9.0.ebuild
new file mode 100644
index 000000000000..8807dc7fd20d
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-26.9.0.ebuild
@@ -0,0 +1,177 @@
+# Copyright 2023-2025 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} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.16.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.23
+ clap_builder@4.5.23
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ either@1.13.0
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ indoc@2.0.4
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itoa@1.0.14
+ js-sys@0.3.76
+ libc@0.2.169
+ log@0.4.22
+ memchr@2.7.4
+ memoffset@0.9.0
+ num-traits@0.2.19
+ once_cell@1.19.0
+ oorandom@11.1.4
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.22.6
+ pyo3-ffi@0.22.6
+ pyo3-macros-backend@0.22.6
+ pyo3-macros@0.22.6
+ pyo3@0.22.6
+ quote@1.0.37
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustc-hash@2.1.0
+ ryu@1.0.18
+ same-file@1.0.6
+ serde@1.0.216
+ serde_derive@1.0.216
+ serde_json@1.0.133
+ syn@2.0.87
+ target-lexicon@0.12.16
+ tinytemplate@1.2.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/sybil/sybil-9.1.0.ebuild b/dev-python/sybil/sybil-9.1.0.ebuild
index a0c25b9ddfa7..c50a683a6f19 100644
--- a/dev-python/sybil/sybil-9.1.0.ebuild
+++ b/dev-python/sybil/sybil-9.1.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/pytest-8[${PYTHON_USEDEP}]
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 41764972aead..53d911ff583f 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1 +1,2 @@
DIST tavern-2.11.0.gh.tar.gz 233387 BLAKE2B b1b26e7d9fc4069c7056072ab01c9937245304982f78df236e9bcaa795feec6a1db7192532dba6d17d362af874bffce601bb9652b5f1ecda99c59387f717bb15 SHA512 456fa6ebfc6f47ff9a473e3f416aff9f88b1f9b25c898786d15472072859e1659c089a9c668e6ddc4ecfc0cc8c233417d4768e0f7228800995509a5a34294faf
+DIST tavern-2.12.0.gh.tar.gz 239452 BLAKE2B a9bef9dbebbdf25f09f158a3bf908769bb56280ff7939557fce454f4169093e362abf1d1cf36f220cd398bcde1c19f7f545d2f4d4ff2318bebd91da69f88c155 SHA512 1b1d997372330b14dc7b106762538ca16646fdf84b344c9db81ab1896678dea2d96c4c801c941c33ae856c670ec405962b76b5c044d1b8e94938effe675cef5c
diff --git a/dev-python/tavern/tavern-2.12.0.ebuild b/dev-python/tavern/tavern-2.12.0.ebuild
new file mode 100644
index 000000000000..e9909c270d57
--- /dev/null
+++ b/dev-python/tavern/tavern-2.12.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 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
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+ )
+ local EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p tavern
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 8a91b85a7a21..a4b89723ef84 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1 +1,2 @@
DIST tox-4.24.1.tar.gz 194742 BLAKE2B d0f383b42c9c0e05ef08598ec32a6096c6e8dcb49108e0ecd755fabe613dee4c1b5d3d687841ac96478f7a1bde781ec83fda5f757982f459bad31a5b1bb7d249 SHA512 8d7a3cd9c6140463dd2d2e1df7845c676f750ca23c0a9d528ee4fc7923bcadea94cfc0e7a1d70bd436d867be5f2edddd1576569777f2c15a0e11768cd932b6dd
+DIST tox-4.24.2.tar.gz 195354 BLAKE2B b4f1c49e719e169116888a3120a0690cb0208b257c15c4a0c6aa5d3340b4ee787e6af43f9c00c71358e3818732d99f40b8eb36afef369407040c82d1265d1b19 SHA512 864189ae85bb7bd8545de0b0e6e39b1a62248f51888ab829ac6bb5674646ac7c4a07a2500aa86ebc0f55ecd48c8e1d6811eae7dd4827bc9fee71d88e7d0df885
diff --git a/dev-python/tox/tox-4.24.2.ebuild b/dev-python/tox/tox-4.24.2.ebuild
new file mode 100644
index 000000000000..e5b14a410c51
--- /dev/null
+++ b/dev-python/tox/tox-4.24.2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/tox-dev/tox/issues/3290
+ 'tests/config/loader/test_str_convert.py::test_str_convert_ok_py39[1,2-value1-Optional]'
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/typeguard/typeguard-4.4.2.ebuild b/dev-python/typeguard/typeguard-4.4.2.ebuild
index d04b4acfacb2..53fa5f2c3e59 100644
--- a/dev-python/typeguard/typeguard-4.4.2.ebuild
+++ b/dev-python/typeguard/typeguard-4.4.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/typing-extensions-4.10.0[${PYTHON_USEDEP}]
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index 2b1afd3ed486..b11d69c72c36 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,2 +1,3 @@
DIST types_gdb-15.0.0.20241204.tar.gz 19947 BLAKE2B e4b9e90f49dd2100f95be6d8cf323869581e46054b3130c1b4465b66cb7e58380de37af40751d06a581a5690aa96c11a0e4b7187c7bda5b9acb823c5572f2525 SHA512 f7acc0bad022244d95a45a6bbf428e893f7cd8e5e88ea34459bb209a7e36c6a34bac78a5824d9df39a0f6f8e0360285e478ed3d3c894bffa76d52c9bbc3b2b56
DIST types_gdb-15.0.0.20250306.tar.gz 20140 BLAKE2B e2cd08a1696c8bff596aec8d1aa12a4edbeb14b7ba26790fc9b4d913804c882ecf5a364ff2b66e4e31f5a4146493e6b9cf452436c0de495f90b9ffec096729b9 SHA512 f68a4249ac63a1e5658c8d4c88ed74af13465cf3772163b96609520f0424b8b4603df14f299d7241601e1b266b80b3012ebb78c7e05e1daedbe1abba0fcfec1f
+DIST types_gdb-15.0.0.20250308.tar.gz 20122 BLAKE2B d13a87811b924514c63497e1b39888040af7daebed05dc38adf8b13da814b230bc00f709a52bc489e3b197451db6dd5382981d2ad04532165a946b940cbeddbe SHA512 6b85dd612dc63786bddb60f6c6850d520a41227994691f600f54010b64b4bbab883526463578812a655fb7ad578d4ea707b361da634ae3caa0d6ccdd889eb068
diff --git a/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild b/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild
new file mode 100644
index 000000000000..e4968cc85273
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-15.0.0.20250308.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2025 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="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild b/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild
index 0e219e5d22c5..05c00a3b8227 100644
--- a/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild
+++ b/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
diff --git a/dev-python/weasyprint/weasyprint-64.1.ebuild b/dev-python/weasyprint/weasyprint-64.1.ebuild
index 22dcd1f0f150..f2e6ecdc41b6 100644
--- a/dev-python/weasyprint/weasyprint-64.1.ebuild
+++ b/dev-python/weasyprint/weasyprint-64.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND="
>=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index ba79ab4f4ebf..fa19e3ea120c 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1 +1,2 @@
DIST ytmusicapi-1.10.1.tar.gz 311622 BLAKE2B 02aa3176567c7394835a6182ef94c7ac625cff2265e245c04797b2d3e821c0083044e116a2a4950eb849f391746aef9fd7f8f038b2c3cee4f8f5f924fce25509 SHA512 ed4c4e2a615370c0179cb336ed56d840b052f0b3d9bd72b4734cb0ce6d77627761ded5341a5bd67a51197795c4539f2150d650732708f6cb7b8540bb4532db22
+DIST ytmusicapi-1.10.2.tar.gz 311488 BLAKE2B 39f9ee3010bbfab893938e2b01841650fdd3b2a46bed4154589098d42a909f4313ba8535d42ea62d48a077eb79c193ec75f6df2fa741408211cf4ec31a9f8ab1 SHA512 7d2d1a4dde485c6c96eac7a9e06df2c87367b0e61df6f441924c1d00974c32a2ae7149e3a1d95612a57d2c7d5c2223f03cb95de4e76af5366f2d64bb639473b5
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild
new file mode 100644
index 000000000000..04ea031c17bb
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.10.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 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="Unofficial API for YouTube Music"
+HOMEPAGE="https://ytmusicapi.readthedocs.io/
+ https://github.com/sigma67/ytmusicapi/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
diff --git a/dev-python/zmq-anyio/Manifest b/dev-python/zmq-anyio/Manifest
new file mode 100644
index 000000000000..c490424fa90e
--- /dev/null
+++ b/dev-python/zmq-anyio/Manifest
@@ -0,0 +1 @@
+DIST zmq_anyio-0.3.6.tar.gz 12910 BLAKE2B d32307d3a137b8490eff2e4b39238943f567579239369d4e700c2342163971b5a1e1caa9f8caf888f0935229d3e5e7edbc7886a507678dcdf175446f27db7b58 SHA512 7d5141bfd05dfab89da9f7624ef87f74cdb95bd5d1620423b7dc6b30b65f2f5ecee2208a4fec103caad71f10d8ca6fb92716e491402722bccd9d8aa820855f6a
diff --git a/dev-python/zmq-anyio/metadata.xml b/dev-python/zmq-anyio/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/zmq-anyio/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild
new file mode 100644
index 000000000000..903bc81496e9
--- /dev/null
+++ b/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+# PyPy: https://github.com/davidbrochart/zmq-anyio/issues/22
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asynchronous API for ZMQ using AnyIO"
+HOMEPAGE="
+ https://github.com/davidbrochart/zmq-anyio/
+ https://pypi.org/project/zmq-anyio/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+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-27[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-26.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/trio-0.27.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/zope-testing/zope-testing-5.1.ebuild b/dev-python/zope-testing/zope-testing-5.1.ebuild
index 9f69209d3ac1..30422a1145f1 100644
--- a/dev-python/zope-testing/zope-testing-5.1.ebuild
+++ b/dev-python/zope-testing/zope-testing-5.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
!dev-python/namespace-zope