summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-12 07:06:05 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-12 07:06:05 +0000
commitf0274c4ecd47f07ed79a4e68d8f1c40b69fb8357 (patch)
tree682fdcb4070705654f50f15a5b0572a24d4b51cb /dev-python
parent3dad153e71100e4c3161573f4ddad4f8dd848d05 (diff)
downloadbaldeagleos-repo-f0274c4ecd47f07ed79a4e68d8f1c40b69fb8357.tar.gz
baldeagleos-repo-f0274c4ecd47f07ed79a4e68d8f1c40b69fb8357.tar.xz
baldeagleos-repo-f0274c4ecd47f07ed79a4e68d8f1c40b69fb8357.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.40.7.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.40.7.ebuild67
-rw-r--r--dev-python/fasteners/Manifest1
-rw-r--r--dev-python/fasteners/fasteners-0.20.ebuild37
-rw-r--r--dev-python/gpgmepy/gpgmepy-2.0.0-r1.ebuild (renamed from dev-python/gpgmepy/gpgmepy-2.0.0.ebuild)6
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-1.11.1.ebuild46
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.137.3.ebuild125
-rw-r--r--dev-python/inline-snapshot/Manifest1
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.27.2.ebuild61
-rw-r--r--dev-python/markdown-it-py/Manifest1
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild41
-rw-r--r--dev-python/mdit-py-plugins/Manifest1
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild30
-rw-r--r--dev-python/moto/Manifest1
-rw-r--r--dev-python/moto/moto-5.1.10.ebuild114
-rw-r--r--dev-python/multidict/Manifest1
-rw-r--r--dev-python/multidict/multidict-6.6.4.ebuild65
-rw-r--r--dev-python/narwhals/Manifest1
-rw-r--r--dev-python/narwhals/narwhals-2.1.0.ebuild40
-rw-r--r--dev-python/nbxmpp/Manifest1
-rw-r--r--dev-python/nbxmpp/nbxmpp-6.3.0.ebuild35
-rw-r--r--dev-python/parse-type/Manifest1
-rw-r--r--dev-python/parse-type/parse-type-0.6.6.ebuild35
-rw-r--r--dev-python/pebble/pebble-5.1.3.ebuild2
-rw-r--r--dev-python/pypdf/Manifest1
-rw-r--r--dev-python/pypdf/pypdf-6.0.0.ebuild51
-rw-r--r--dev-python/rfc3161-client/Manifest1
-rw-r--r--dev-python/rfc3161-client/rfc3161-client-1.0.4.ebuild128
-rw-r--r--dev-python/setuptools-scm/Manifest1
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-9.1.1.ebuild52
-rw-r--r--dev-python/sigstore/Manifest1
-rw-r--r--dev-python/sigstore/sigstore-3.6.5.ebuild62
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.43.ebuild112
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.7.3.ebuild76
-rw-r--r--dev-python/zope-schema/Manifest1
-rw-r--r--dev-python/zope-schema/zope-schema-7.1.ebuild51
42 files changed, 1308 insertions, 1 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 4bb81da0f27a..a706e67401cc 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.39.14.gh.tar.gz 974493 BLAKE2B 14c6295f20cab6390c81d399585c9bd8291163a206e212400f44a23d871f43f02c76c0fae5201855cdd77cf45b598b5ceb86320b584fb48a5acb142133aa9d22 SHA512 332cc223c87f0823fded9c885c47892e0dd0abdd4346968425cbdec8e9eacd1d3d22720cb3a615876c47ba031b8b1f4a592d325c812e37f86690b0554438e9a4
DIST boto3-1.40.1.gh.tar.gz 978197 BLAKE2B c93f3550d41c13292dd8f4dcaab9d896faca127684a3ca72c253aa42ac44277c27ff0d68f47754c408701e97f0cefeda81e94565fba808544d5c16efaabb00d9 SHA512 c94eb4584161932f2d03ca9bf402a6e55358124e48fea94b71a5e22774aac6312f8ba7c69a18824c306b16a494cb3ed613cb96244c2718adbd53dd3b5829f934
DIST boto3-1.40.6.gh.tar.gz 981330 BLAKE2B 929b4326d8d48e46750128e6236776b86fd5e59f0aab113e3ec797f18f138c7f52b30a79724f97de8083fd8e8baa04169e68e219ef5acf592561dabb838b4374 SHA512 65431a0d084298f51e0eee1753119f811261e9e57fdc5fa0491c9ce8d4fc745e705aed22527c8c06e003227c5c0bccc1a659e04bcc96a68fafb61bc53ec70a84
+DIST boto3-1.40.7.gh.tar.gz 982158 BLAKE2B 36ab4722eab1c76514138e93e4ebf5ebf50714649d02c7465ecdbc74fdf32921270d3a71d67ffc788940ba0ef1b4c4b9e588c7c7777171de91dceecde18f7559 SHA512 48b237fb61d28f44543dbb6e4ea19e2dfd8c766ca9e7c17ef0d7728af72eed09a7ecb6354427d6aacf89a28a6dc54391c665a5aa248b65680918f9518f33dbbf
diff --git a/dev-python/boto3/boto3-1.40.7.ebuild b/dev-python/boto3/boto3-1.40.7.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.40.7.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_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index f438278e4df0..cc760643ac57 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.39.14.gh.tar.gz 15002421 BLAKE2B a054f85ee0076f1445e122e497683b31387323f52036f914ab1474eb14b32f923459079c539d0a1109c7f622e93e614b8550f9d5ce6e34a0e0a581561e12c9d5 SHA512 716c68404b06b24442da1b1018cfe06256a2b2855f846bd061ef44332db8a624cfd8f16a06169b2337d1c8e54c034aa46f3f3063f6e8d6c4020d1e50d30b6910
DIST botocore-1.40.1.gh.tar.gz 15055179 BLAKE2B 0fd7e4f74e51fe45284fe550bb853964e3f6039c2d5904996bc3f40e3912b75af4eab4c378edbc85b61fb6b3f5d1583493ad71540c7170c5a0ffb7ffefc5d99f SHA512 4a0b5d075f8335c5b9c08bad1088c31ded92deced98a7f606cf07853657f41d8f3ab224b13172d007c8de6d2127edce662c4deadcb8d4ed8693432d77b8e38e6
DIST botocore-1.40.6.gh.tar.gz 15096678 BLAKE2B fb76ace4058c814bb8ef17bb216f5f7355eec401e4108d8a6569e07f97b14becb9e99652364dacb7e46e62f3ffaea2e5e1cd241ae832fe0a359ed58bbcfe3500 SHA512 faa311f29da484083f49a9ae7beda844b8878750c7474916ff7200b4a5fdc01e26295923c7a0f0bc4e4b1c22e5381f69546b8685fdeb2112f1c61810d3c9b58d
+DIST botocore-1.40.7.gh.tar.gz 15098734 BLAKE2B d1ac4800e3cdce6a47f4c9da23b30768df3acad0113bf9da87ae2523d74840a79ee29775c072615e2080f7e98b268060801fe9cec653f5b1251c3b6d592422f6 SHA512 e1e81e4d0d0224614680244e4f7986f47a3042039b50ad61ceb4c589a14d11eaacfa1aa501a5791174a202813bd1db256802a73fb8d66c2b517d75ddfa67760b
diff --git a/dev-python/botocore/botocore-1.40.7.ebuild b/dev-python/botocore/botocore-1.40.7.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.40.7.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_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~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_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/fasteners/Manifest b/dev-python/fasteners/Manifest
index 5c4944fb5274..2b4a392adeda 100644
--- a/dev-python/fasteners/Manifest
+++ b/dev-python/fasteners/Manifest
@@ -1 +1,2 @@
DIST fasteners-0.19.gh.tar.gz 43188 BLAKE2B c30f4dc3da6605aa2552f58ae1071b51efefe2aea59ca8815fd50eebdbe7e826756cd9923485d6fb99dcc39196def485f4c1346a234bc7af09e2426c84b6a0d3 SHA512 47db216ff5bad5c669ca2d9be0ee09feba4a3d55ed0eac8d3623bd3d112b0b87fb9019f8785d035ec32ad9fa9e4ae7d1c92a576c97eec29acc82711d7e71a465
+DIST fasteners-0.20.gh.tar.gz 42740 BLAKE2B 89d3f3432bff3ec6716a96b51867227a4cebfe05cb8ed9554480dbcc0d31b2afa1d173b3dd4cf786688f74e994c6ab390c77898fc045b5636d10ab626103e57c SHA512 539ce5b16f70a73fe6b7296a1bab3b751eff7b7385b980eba3e4d6e42eb263448fd074f325529a30d982e1c366a122aef46bc359578a370ef1278225c09a5f71
diff --git a/dev-python/fasteners/fasteners-0.20.ebuild b/dev-python/fasteners/fasteners-0.20.ebuild
new file mode 100644
index 000000000000..b224be35a512
--- /dev/null
+++ b/dev-python/fasteners/fasteners-0.20.ebuild
@@ -0,0 +1,37 @@
+# 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="Python package that provides useful locks"
+HOMEPAGE="
+ https://github.com/harlowja/fasteners/
+ https://pypi.org/project/fasteners/
+"
+SRC_URI="
+ https://github.com/harlowja/fasteners/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/diskcache[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_eventlet.py
+)
diff --git a/dev-python/gpgmepy/gpgmepy-2.0.0.ebuild b/dev-python/gpgmepy/gpgmepy-2.0.0-r1.ebuild
index 2f0622ec09a8..808ff519cb67 100644
--- a/dev-python/gpgmepy/gpgmepy-2.0.0.ebuild
+++ b/dev-python/gpgmepy/gpgmepy-2.0.0-r1.ebuild
@@ -63,6 +63,12 @@ python_configure() {
emake -Onone prepare
}
+python_compile() {
+ # otherwise distutils will try to build out of S
+ cd "${BUILD_DIR}" || die
+ distutils-r1_python_compile
+}
+
python_test() {
emake -C "${BUILD_DIR}"/tests -Onone check \
PYTHON=${EPYTHON} \
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index f728a397c135..0c65ba0fc737 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,2 +1,3 @@
DIST griffe-1.10.0.gh.tar.gz 413051 BLAKE2B 261cfa96f1dd2e2157ff2ddedab50d4df500a05bb801a5f59da74279b6858a6c478933063ac0515892d9fae7298cb6a24d51479f722e9825b018b9fba0b50cc4 SHA512 ee7fc9aff2f0bfee6f8fbc07e2b6374a546ef9194c59c1d720d5930707dc6ae771c30119fd95345e3a93457bf8ce29155237eb6b5482fbc56f39a219b2dad948
DIST griffe-1.11.0.gh.tar.gz 413868 BLAKE2B 6e071d8f6ae816a6fa334c249e2ded1bcef63ff9846fb464c0ed95e55fa73b3155ce3d80d80af54f09317235bf71d269b927e0f3e57bbded6e0ba93a00ffd80f SHA512 86476488cbfd28a49b02eac668f26c7cd605b8273b90edfec30efc83dd6168398b48a581f5bf47191b8e70709966e9bd47a36cf3b2043643687780049fe26eaf
+DIST griffe-1.11.1.gh.tar.gz 413977 BLAKE2B 437c2c294c6cd1f7f891c3c9119cb76fb5d57d667505d1ac901b953a59f035594a6554a463292bd9e166c14eef89a1fdc7217f7994ce992c03d4f9cd68f0cfcb SHA512 a7a01a955c1a46420077915fee4b7b15253e20d519b659450b530fee0ac7c851e7b8f264676845d3c369b4964f3b9fdf4e4f0640e6cda1eb7d54b6a1a8fb4939
diff --git a/dev-python/griffe/griffe-1.11.1.ebuild b/dev-python/griffe/griffe-1.11.1.ebuild
new file mode 100644
index 000000000000..34986ff350cc
--- /dev/null
+++ b/dev-python/griffe/griffe-1.11.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 81d4b5dc3a55..b58dff0f0a65 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,3 +3,4 @@ DIST hypothesis-6.136.0.gh.tar.gz 9596080 BLAKE2B 65acbc8ea75e6fea22d7ee1329f684
DIST hypothesis-6.136.8.gh.tar.gz 9600513 BLAKE2B 9960a384a07e49e611e5985a645a674074896a0595d5714a7fd85c05ef03f51c51defc071eda6f87ee88bca6f8cfe8cdea5cbdd338388902db7be6fcd5082610 SHA512 7e14a7b8dce15dc654d12036cd58e652de75c610310d805fbdfe4dd3e970ccf5ea80e3dd7628182d3075c5276fb1341d1ac40c1297896b7be507b05ce0140a48
DIST hypothesis-6.136.9.gh.tar.gz 9600678 BLAKE2B 85f37b3c0476e0a65da2ba656aa60b4464e835e8234ed2ae4d9f2b4f1320b4e7627e142c943182e5e644e6c32931402078885e78bfe256afcaa61e245e9cee3d SHA512 a3c9513d8bccfee2c3aef627d588d121c1c9365073719d816a0b1f7755b0f0460c6c3711a57aeca4b7e481f90433122b6ef0f4b2f16f3337fb2e64f01bb0ae39
DIST hypothesis-6.137.1.gh.tar.gz 9604403 BLAKE2B ea59f519a85d47803607c2ff5aa34e9eabe713897867ea643e0aa16d96872ab31a2c25ab924d819bce7bb8483cf99702441287fb586348a415b1298f84747ea3 SHA512 7b2b45906738844bc7d584b950e956814dfd75877b0a0901d9394029f8bfc3266da561d1919d964861ebec3fa66bd556c6b7e5c03931dc95d9f41ffd53cffc49
+DIST hypothesis-6.137.3.gh.tar.gz 9612265 BLAKE2B bc0c98872b08013194a11cad69e07632c04ac8f413a4dedb0a1a8a17112a477baecb2865fe11d189dff6b88d043d58a576e3d5de7edc944624dce680753cfe51 SHA512 6cdbd2d3e3aa69f8888d809fa81191279fa1a6321f6ba108dd8bc9956aab60fe82f22b3b442e561bb88961befc0dcdf3c854696ca979672122bea3285a7c163c
diff --git a/dev-python/hypothesis/hypothesis-6.137.3.ebuild b/dev-python/hypothesis/hypothesis-6.137.3.ebuild
new file mode 100644
index 000000000000..7a7443937da6
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.137.3.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index ebb65328b3b2..849c88077bbe 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -3,3 +3,4 @@ DIST inline_snapshot-0.25.3.tar.gz 343645 BLAKE2B 9605768671431b1dd3b50d85d6a71c
DIST inline_snapshot-0.26.0.tar.gz 344185 BLAKE2B 49921529fe335226ae6dc66d33fc89aa84d6026100af2edee2ea6e2a532717788814b8746c92a462b1bb794cc255eb37f4bef16f99ad6d6d0c422045ec95e335 SHA512 2410f0b6e9b04279ce20459a3d41db42efb97a68d85f72971d700cec7d0f3074961291ab423605ebfcfc515cc6f49912efc593f86e2b4df5500073f1c9fe3944
DIST inline_snapshot-0.27.0.tar.gz 345721 BLAKE2B c73f566fdbe8c454ffd047f3d5afe32c50db8c8195594243f5758fa17e0f6f705bb0e7aae88f8d32bad8d09b8e987cda1af61e67eec8b2fdfaf473e03a08f350 SHA512 1a48fad492a1da4d1555967a6c99edfaada35a64951c7021ba751f4aaabf7154e5dac30e0cb0cff5dad18c2256da257f7cbfcf90b0e0909890b7308b1384373d
DIST inline_snapshot-0.27.1.tar.gz 345865 BLAKE2B 7919cba6f3f0fc2b14599bed7c5c73181d61ecb48be7b622704966d033b77590612d2cb0f2eef7de3a18e63be5b612c84dc731bcce6a9336069c93eebf7a4c0d SHA512 23f8c11ad8d88945da62a451d54eb26f36c65c64a807c90f08fef4a8fe3a40ce8f6a128b0aab47ea5e2decf95c26fdd28986792efe611c1d90e5fe5b3cbc4ef0
+DIST inline_snapshot-0.27.2.tar.gz 347133 BLAKE2B 98d8f295da11139269c97091ca957c9f7b42530d2f712442f37f9ed3eb8d4bb12a8aebc16e413352483235e40fb56d32c2accd528a4ecfce4e9675f2b57de96b SHA512 68e58853236a3a9323873f6f052f5abd06a18a0649eafa73b81c6f6b41b4913fe93dbf4a4355986676d89a0ff03ede3e3891b5daa6cae1b97baf8756ae344033
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.27.2.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.27.2.ebuild
new file mode 100644
index 000000000000..dd22ca843ec0
--- /dev/null
+++ b/dev-python/inline-snapshot/inline-snapshot-0.27.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2024-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="Create and update inline snapshots in your Python tests"
+HOMEPAGE="
+ https://15r10nk.github.io/inline-snapshot/
+ https://github.com/15r10nk/inline-snapshot/
+ https://pypi.org/project/inline-snapshot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}]
+ >=dev-python/executing-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/black-23.3.0[${PYTHON_USEDEP}]
+ >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/mypy[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,subtests,xdist} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pyright
+ 'tests/test_typing.py::test_typing_args[pyright]'
+ 'tests/test_typing.py::test_typing_call[pyright]'
+ # TODO
+ tests/test_formating.py::test_format_command_fail
+ )
+
+ local -x COLUMNS=80
+ local -x PYTHONPATH=${S}/src
+ epytest
+}
diff --git a/dev-python/markdown-it-py/Manifest b/dev-python/markdown-it-py/Manifest
index 7afaac0b4e51..941b68deb9b0 100644
--- a/dev-python/markdown-it-py/Manifest
+++ b/dev-python/markdown-it-py/Manifest
@@ -1 +1,2 @@
DIST markdown-it-py-3.0.0.gh.tar.gz 275478 BLAKE2B ab264d6de015262e770b5da9c26a48a9fa40209119e38e12e4185aa8b5141986df62f2ff44d80c2d62732e75408b3a70bf35ae9b7ca899ae284636cc62ded710 SHA512 820265595ab650f5ac64419d5c2687d1ee361d2a0550b9d94e86ec826cfe5e89cbd69e59d6582aac41d3b95f00ce4a0b7213bf6cd590fdbd8fd9b743c7418759
+DIST markdown-it-py-4.0.0.gh.tar.gz 279903 BLAKE2B c878259ae684875dfd9dd017ff5b541b842f2ef917e0f23fa00df77646684794f904eb3693106ce859853a375f8bd2e877346ef775341ed4452856f1793aa8a9 SHA512 617927d7038e2918b395c720d4b8d8327342c266c75b6fd5957961944c2bed51a8e2f01a9c184e5d85dfc4fd8b28e07f3cc1d677aa29192e1a8e54f29d6a0829
diff --git a/dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild b/dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild
new file mode 100644
index 000000000000..a1520f3afb30
--- /dev/null
+++ b/dev-python/markdown-it-py/markdown-it-py-4.0.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python port of markdown-it, Markdown parser"
+HOMEPAGE="
+ https://pypi.org/project/markdown-it-py/
+ https://github.com/executablebooks/markdown-it-py/
+"
+SRC_URI="
+ https://github.com/executablebooks/markdown-it-py/archive/v${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/linkify-it-py-3[${PYTHON_USEDEP}]
+ dev-python/mdurl[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # No need to benchmark
+ benchmarking/
+)
diff --git a/dev-python/mdit-py-plugins/Manifest b/dev-python/mdit-py-plugins/Manifest
index 2e749a21b419..1aaf3f287b22 100644
--- a/dev-python/mdit-py-plugins/Manifest
+++ b/dev-python/mdit-py-plugins/Manifest
@@ -1 +1,2 @@
DIST mdit-py-plugins-0.4.2.gh.tar.gz 64576 BLAKE2B 30b2594db09c15362c7800a3cf2219d2f1ab1d43678f7fe6a33c699027bea446657708e2ec08a0dc03fe6b644f8a5ac4c02c63cca2738488eff8027faf976f0c SHA512 203a0243968eb9240436c992b70ad0a4b13a747af9ec1799408975cf430d908e8c161cc6810385e21e09eb2d50aeae73f0aed11790898e5d6291b0d4c20521cd
+DIST mdit-py-plugins-0.5.0.gh.tar.gz 66467 BLAKE2B 17c95adb7ff1ae627b0491d2e02dd864ce06cc70ad05b00088bdcfafa2d254344e2aa830f16166ba35eae01561a93ba7021ffa6597c5c1b44d52e80bc4dc5098 SHA512 2da41e32000ba735466969cc890e0d8f07d6e5ef6cb604b9cf7c02cf4187849fcd9734cef38807afcdd492c7a43795386798fbb86885b2e7ea522bc28b3d0796
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild
new file mode 100644
index 000000000000..2888d717c5b4
--- /dev/null
+++ b/dev-python/mdit-py-plugins/mdit-py-plugins-0.5.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of plugins for markdown-it-py"
+HOMEPAGE="
+ https://pypi.org/project/mdit-py-plugins/
+ https://github.com/executablebooks/mdit-py-plugins/
+"
+SRC_URI="
+ https://github.com/executablebooks/mdit-py-plugins/archive/v${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/markdown-it-py-5[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
+distutils_enable_tests pytest
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index 24a44c4652fd..14a20ec8eb47 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -1,3 +1,4 @@
DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937
+DIST moto-5.1.10.tar.gz 7087004 BLAKE2B f00161e7df7540c9ff569d8833a4d97d6b702b2209e0ea4550dec05135c215c09c38e907fa93ea202597f3ee7272619cbe0c987fba028d4240d4be1195acab43 SHA512 3d4faefa2b23cebe44be1a43f8993a3cb254e976d65b6cc1fe8fbc3239d41d252504ec166c17283ff1067937de5b6220810dee714d9c3071e12ee216c3211bff
DIST moto-5.1.8.tar.gz 7039961 BLAKE2B be2231a13036e2a5c925c7435ebce3adeea6ac03d9806d010d1c067b4e2d008f642a234fb80e082e5053332c6580d130f232ebe0b83d59c55977ea3a38364914 SHA512 fb8ad9ba2ac94a86261e2862d87d9ea632d2275c6cccf7d248ac95db96f615109add8803bf118625c828c7a2615fc6f20bcf682de1e4398f69add5eeb9fe8114
DIST moto-5.1.9.tar.gz 7041662 BLAKE2B 8121c2022e5af70e71b6d4855ca7f964234ef06f14f8b08e80bd3676c26f6e9a06e8f469e610bcf2882b5468d613a17c3108aff3c344c12dc8331a9f9582b87b SHA512 986d41cc9fa875b5ee51723fdd7669b528dacb6136b6ebb3fa72d4efb3bb89f1fbc44aaa06aa154b80d44c87bca2d93cce30ee32c1ab7c3e8d622b53e011167d
diff --git a/dev-python/moto/moto-5.1.10.ebuild b/dev-python/moto/moto-5.1.10.ebuild
new file mode 100644
index 000000000000..51cda88e2043
--- /dev/null
+++ b/dev-python/moto/moto-5.1.10.ebuild
@@ -0,0 +1,114 @@
+# 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 toolchain-funcs
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.35.47[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-35.0.0[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.10.1[${PYTHON_USEDEP}]
+ dev-python/jsonpath-ng[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.25.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+: "${EPYTEST_TIMEOUT:=180}"
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_dynamodb/test_dynamodb_import_table.py
+ # require joserfc
+ tests/test_apigateway/test_apigateway.py::test_create_authorizer
+ tests/test_apigateway/test_apigateway.py::test_delete_authorizer
+ tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed
+ tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication
+ tests/test_cognitoidp/test_server.py::test_associate_software_token
+ tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication
+ # require py_partiql_parser
+ tests/test_dynamodb/test_dynamodb_statements.py
+ tests/test_s3/test_s3_select.py
+ # require graphql
+ tests/test_appsync/test_appsync_schema.py
+ # Internet
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ )
+
+ if ! tc-has-64bit-time_t; then
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_route53domains/test_route53domains_domain.py
+ )
+ fi
+
+ local -x TZ=UTC
+ local -x AWS_DEFAULT_REGION=us-east-1
+
+ rm -rf moto || die
+ epytest -m 'not network and not requires_docker'
+}
diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest
index f71add1f8b2f..4772d1a4bd5e 100644
--- a/dev-python/multidict/Manifest
+++ b/dev-python/multidict/Manifest
@@ -1,2 +1,3 @@
DIST multidict-6.5.1.gh.tar.gz 116424 BLAKE2B 4c438450a49e7f5a8b5ac49ff124e018aa7e62642ff39ec8b92f6c24e776f9c6ffbaa3d3e8ecafaeff96c8164291d52539a94eb6e286642c4332d3636f691a06 SHA512 7fa411d12b492a2f567c0228e5822200e711a9e1c221595f2a6d40ffaa2c870dfeb9d12f421495e66c2c95673efd7c3275cef9810b1404e7e6afccaac1b6c182
DIST multidict-6.6.3.gh.tar.gz 119092 BLAKE2B f2fbe0c25d527a2841b27b08eb48bb713fbdf4723a0aaba3928abfa0385f3912314f71a2e297212ee0e9bcbe31e64e4477188fd2870a3e3f9f241329fc0a73cb SHA512 ebb517d3f660bb99e19b9ccb7bd5f73579b0cc7ff71ecb4c0a8163bc11c47f564bbf73c47f7b89708631245d7b697944a760952f3ce87125d02b36cac03d4ceb
+DIST multidict-6.6.4.gh.tar.gz 119837 BLAKE2B e60c6195f1bab3916179abe5b509255ac7743d24554a0ea12be9a37f6dbceacdc8e839c2204b3f8499d442a1e54c02de0f36848c67a3fd1b2f996b632ddde483 SHA512 02a6dc8c1dac331251a5a0a04f2c00dab60a524bd4ee1a8923b3747f1dd3d75639952e32b49a2a46f94aa1ff95220503b22cb24c9252a5458d2c7346bd02faac
diff --git a/dev-python/multidict/multidict-6.6.4.ebuild b/dev-python/multidict/multidict-6.6.4.ebuild
new file mode 100644
index 000000000000..d4a2875f519f
--- /dev/null
+++ b/dev-python/multidict/multidict-6.6.4.ebuild
@@ -0,0 +1,65 @@
+# 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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="multidict implementation"
+HOMEPAGE="
+ https://github.com/aio-libs/multidict/
+ https://pypi.org/project/multidict/
+"
+SRC_URI="
+ https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't enable coverage or other pytest settings
+ sed -i -e '/cov/d' pytest.ini || die
+ # don't mangle CFLAGS
+ sed -i -e 's/^CFLAGS = .*/CFLAGS = []/' setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ local -x MULTIDICT_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_multidict_benchmarks.py
+ tests/test_views_benchmarks.py
+ )
+
+ rm -rf multidict || die
+
+ local cext=--c-extensions
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then
+ cext=--no-c-extensions
+ fi
+ epytest "${cext}"
+}
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index b1abe55fcc41..fd88901a7cf0 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,2 +1,3 @@
DIST narwhals-1.48.1.tar.gz 515882 BLAKE2B 89e829161aeb3e7a986d26f11f0108c506c028d2f1685544913c47166865283b1ce62099562df1f85ebe5d4352e6f6d3eecd78da8d62a8a19fc9f8772995ebba SHA512 8096099844fe8042e53f5c8da39de5a843d94c892ef199d11f9ffe3b4ec58acea59d0160a11a51d9d347ddf7229ba997be093fa7e4bd9313e778ebc957da1d83
DIST narwhals-2.0.1.tar.gz 525541 BLAKE2B fe34d06d1539bc95960833b8dd99ee850ece2a2bf4dc818a47d1f8febdcecaf9448427f54313f27ad02cbc84406a7c0f743b77f58a517788fcd97a27dcb7f2d4 SHA512 5462f25adb23c7ddf67329f9aeb9087be5d4698659de43dc17c35d87e43466a32d35f9a9d7d70e02dcf5da6cd3e546a53616241c865213625708be4d1809fc25
+DIST narwhals-2.1.0.tar.gz 529626 BLAKE2B 59b8cf1dc5ea766c5aa00a9b833ea3ef98659c2e09ce4722845789550674dacbe205b0c72ee1ac9359640e83f46a27b1c7a036ea49fcee9e176d34edb57bfbca SHA512 33426cf685d0d45933f869a7ec91a6f9f94e1b62492287203ef0897880d4028703ca8bb0a74f3b038350e15d40c17330fddfcd1e0a20096db1f37d9c145f03be
diff --git a/dev-python/narwhals/narwhals-2.1.0.ebuild b/dev-python/narwhals/narwhals-2.1.0.ebuild
new file mode 100644
index 000000000000..3dc3c97bd38d
--- /dev/null
+++ b/dev-python/narwhals/narwhals-2.1.0.ebuild
@@ -0,0 +1,40 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extremely lightweight compatibility layer between dataframe libraries"
+HOMEPAGE="
+ https://github.com/narwhals-dev/narwhals/
+ https://pypi.org/project/narwhals/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="
+ test? (
+ >=dev-python/pandas-1.1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-13.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-env )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # segfaults
+ # https://github.com/apache/arrow/issues/47252
+ 'tests/modern_polars/unpivot_test.py::test_unpivot[pyarrow]'
+ )
+
+ epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow"
+}
diff --git a/dev-python/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
index 1fdd40eae2d5..321e9362458d 100644
--- a/dev-python/nbxmpp/Manifest
+++ b/dev-python/nbxmpp/Manifest
@@ -1,2 +1,3 @@
DIST python-nbxmpp-4.5.4.tar.bz2 138170 BLAKE2B 00a4919032dd29828dc735695afe9c0814a8fe2ec765a534257768896d9f27bc3a395275d546ad717bdd16c97161e8f0a8acaf43cdb7bd9404e40bc72f2c3da5 SHA512 fcaedae519d8cd2d52cc65721ab1e743569ba1cf7c29f2db41ed5671ba0f2c5b47f1f6d9521e1614e89e21512a4575c6788316cdb86936f0c4886d54c3831bb3
DIST python-nbxmpp-6.2.0.tar.bz2 152532 BLAKE2B ce2e754b04d7f7a16fce67665168c012bf1269ba434ac33b695be62dc19add3d917264a65a859d7d3e5f17a94c038adeb578aca89b1c1b23641e825bdcfcb9b3 SHA512 794924ae2feccff2cbc29e4b7ce68fb62f59f5a6ffcd04f5552916a9496050a85dcd403c1c50f2c5bd54f2613b8106fc5b93c3b192b003cf7b9d1a9723afe162
+DIST python-nbxmpp-6.3.0.tar.bz2 153622 BLAKE2B 9cfb5286c091d12b6e63dbf73d85dc338d1c8b1f3158feee0f31acb836af99034211c4d805f40b89f691c51cb13594e9b7eea2369bdd2cb0f873aa920742b7d5 SHA512 48ffa19d0563da16a113fad141c9d159f80c78dab9d5ba098df913555d632ad00006a64cddd63009a89f228bef1f2b911ce207a70642b75f085b2d9ee91b6717
diff --git a/dev-python/nbxmpp/nbxmpp-6.3.0.ebuild b/dev-python/nbxmpp/nbxmpp-6.3.0.ebuild
new file mode 100644
index 000000000000..2b844179f3ca
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-6.3.0.ebuild
@@ -0,0 +1,35 @@
+# 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_{11..14} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/parse-type/Manifest b/dev-python/parse-type/Manifest
index 18d1ef86fc0d..4041e79d4e6c 100644
--- a/dev-python/parse-type/Manifest
+++ b/dev-python/parse-type/Manifest
@@ -1 +1,2 @@
DIST parse_type-0.6.4.tar.gz 96480 BLAKE2B 04dbee9a4bc132d395b2d20d8cb99ac016dcab65a9eaa29e3f0d6b40700feeda7255aed869a32ef61ffed820ad7b5d2495513c95c0e55ba9759ec9f58d1e933c SHA512 5012ea47f2a9fbdc4962aa11dedef914228f1ec8c88b725374fd434844e4cf22d069016abb49239419188f0455bae9c79eb0259a178e6c292dd8ed8103c2ebe5
+DIST parse_type-0.6.6.tar.gz 98012 BLAKE2B 51e9ce1e24281b23084a2b9d81c34d348532c9e7289fcc287d04e3268a4e308bfa294e45d8d3e78d2a1cdd23b71bca925ae4a88d28fd232a50c1e9a2d23e6ed8 SHA512 26458b47f3d2e2b9e85d66d7f1a13e9e37a5570d97fb042956dc65f6fac35b8621803bd07b93b00a9139f134a0e3f6666b5298f18d73fcff9271518e5729d3dc
diff --git a/dev-python/parse-type/parse-type-0.6.6.ebuild b/dev-python/parse-type/parse-type-0.6.6.ebuild
new file mode 100644
index 000000000000..47675111b3b4
--- /dev/null
+++ b/dev-python/parse-type/parse-type-0.6.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extension to the parse module"
+HOMEPAGE="https://github.com/jenisys/parse_type/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/parse[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+DOCS=( CHANGES.txt README.rst )
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # disable unnecessary html test report and its pytest-html dependency
+ sed -i '/^addopts/,/report.xml$/d' pytest.ini || die
+}
diff --git a/dev-python/pebble/pebble-5.1.3.ebuild b/dev-python/pebble/pebble-5.1.3.ebuild
index 74a219e89c1b..16f108112ad0 100644
--- a/dev-python/pebble/pebble-5.1.3.ebuild
+++ b/dev-python/pebble/pebble-5.1.3.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
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"
EPYTEST_PLUGINS=()
EPYTEST_RERUNS=5
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 8c22122bc0c3..4ed41a2958f1 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,4 +1,5 @@
DIST pypdf-5.7.0.gh.tar.gz 8064655 BLAKE2B 07136de7c9b13a61b2b7e971d06424bcb990e249f4a0298cedaaeba7034c5ef17c003e2e2662e4a7ca30213f334f34e7e4da2beb28c6f24350ca3f924bcdc3be SHA512 b112237b5f65c01be7613564f551ec8923813c379514df6a6340327be3d764e1bc000b928c3f1083e74a3d19b73ea39b46958b5ff5bd53f370161593c2cc7b56
DIST pypdf-5.8.0.gh.tar.gz 8067499 BLAKE2B f751305906f3eb67fcea972437efd52cea4a8eeaf31ed789f30539f3f07fdcaf6ab6c4b5c61f9dc1371116019ebf58c07510ca4f9bb1c6fc255bf6c7264ac7da SHA512 f7a18f52b2c13d2471b777937834849843251c742bb25767094b2de77cf8de59ebe5ce93b9447d22d7d0d7f0bef7ad3e56dfc0b9d8ae736935229b5896e2b75f
DIST pypdf-5.9.0.gh.tar.gz 8074634 BLAKE2B a910a8158aa35876240d77b06c10fc3782b9819624b5c8f1e7892080a01d53b1fec5a2332ce06530416bb0a28602d64d7f9982d794ec8303a5be4eb809316f14 SHA512 6358367c09468808854f9f966a27511c23d938f1092bbb82eae4aecf2527521fde208b86e5b7924fef13cec9ffd27f9046a07a50a280a92eedffdcc670fb88a8
+DIST pypdf-6.0.0.gh.tar.gz 8072420 BLAKE2B 62a455409a13ec0d3cf41543dd696eff7797367648da0b0e6638b1e1dde8bdd585acb7a4cc32c21ee1ac5092f84683b1ae856aa3dd1b71363a49ea048752a0e2 SHA512 2a7e82bec9ae45a67040b088842b1adc7caead64495815a4f78e1327fdb4cb91caf71ad535c0b735d93cc4df25b662774169249675ae6aff099a6321322ec3d3
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-6.0.0.ebuild b/dev-python/pypdf/pypdf-6.0.0.ebuild
new file mode 100644
index 000000000000..7e8501141955
--- /dev/null
+++ b/dev-python/pypdf/pypdf-6.0.0.ebuild
@@ -0,0 +1,51 @@
+# 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_{11..14} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/rfc3161-client/Manifest b/dev-python/rfc3161-client/Manifest
index 9971ebd035e8..4c95ca1cc9a0 100644
--- a/dev-python/rfc3161-client/Manifest
+++ b/dev-python/rfc3161-client/Manifest
@@ -39,6 +39,7 @@ DIST rand-0.9.1.crate 97986 BLAKE2B 98e230dcc51093e9dd842ecfd7fc5727ecbfee1384be
DIST rand_chacha-0.9.0.crate 18258 BLAKE2B aa0efd158877a116b2587177f2da84832ba8153b629aaf8181ca7622bc8ea624b5a5d205d1b745caafaad78d5a55aa08a4f35822b8925acdf7d1212baf62abeb SHA512 f62a7bb067ff984049c96cddccc841cd9931daeb5b25bb69f056bfe577f62b1b35c08f2bb5028590eefa04a9369beead4e6b03607eec97256e0383b20542af96
DIST rand_core-0.9.0.crate 23441 BLAKE2B 8f1543e2f33622edba457c340bdb4c266f8a3c9cdd95a3afaadf487f8dca7760548316227c1decc481a7e1ca5475f6915cfadb1ffd3860631c7a91494ea7f25a SHA512 def4746229c8405ceb46eb9300838918693f17a39a749e6ca42ad73fd02b0f0e14dca0dd26b3f030338db45da0d149d8c563d95cbd71c31995c5ab6294bd087a
DIST rfc3161-client-1.0.3.gh.tar.gz 56144 BLAKE2B 7ddfa2bfd837eb3d07a782f38e288bcb448e3a2d694e1d8aff1ccc4ea899df43d3dbff34fe46e67a3785db95c502e58cdbc1b06f712ed5717105519e70a3764a SHA512 b40b813c4fa6f348a330400b4a11be36cd2b31e4620c5141d522b005f80de329f5c07ff5ef7b83fc5e4c3be4fa7ee7a452d58b45c8811d9cd52cf6d4a630956b
+DIST rfc3161-client-1.0.4.gh.tar.gz 57899 BLAKE2B b1abb505dedf010383988dbeb2dd5cfb49ef19a5d3b479d6c6253458b21a745bc300b34e90dcf37e286c7284d9588091b290d7c37dfc53ab2548cb332f37fe86 SHA512 96bf1ff902ad9280d7af6e7e337adea7e70da84169938db3291c8c50db4accd2cecb90d7d8ed1c72062132b05edef35ccceb06106aff23c8379047b359fe813f
DIST self_cell-1.2.0.crate 16883 BLAKE2B 56bd187fabc138c530aa23dfc69a330a7d0a8f86609801924fd1f4b0cefc43a99a8ba21d05e59272c9d32b83405b4c980df4f01e529772b760a9564dd8eb0c0a SHA512 41addc9b737d0379c0236b1821d6051d31dca6a76f463e6e56c3bac9015da4243f9fedc3d57e051f68f6f0aa610383a0b2cade07b1ea17e92173e2088a625af0
DIST sha2-0.10.9.crate 29271 BLAKE2B 1d614e0efe085cdb40e05726578a9b4ca6bce93f6d3324f5dc0444cb37054912cdaf5d28d468eac2c0046030d920fced2ccd006953b80865ce8a2d43ef3daa81 SHA512 963adeeb4ed8b0e7fc19085e8721ea13e9b3aea5d115ca1b3dbca495ad14810c6450991dd3753807c293c415aaeb1054b8b4124c72e7090cd9e86f09fcbb4f80
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
diff --git a/dev-python/rfc3161-client/rfc3161-client-1.0.4.ebuild b/dev-python/rfc3161-client/rfc3161-client-1.0.4.ebuild
new file mode 100644
index 000000000000..b7396aea83f4
--- /dev/null
+++ b/dev-python/rfc3161-client/rfc3161-client-1.0.4.ebuild
@@ -0,0 +1,128 @@
+# Copyright 2024-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_{11..14} )
+
+CRATES="
+ asn1@0.21.3
+ asn1_derive@0.21.3
+ autocfg@1.4.0
+ bitflags@2.6.0
+ block-buffer@0.10.4
+ byteorder@1.5.0
+ cc@1.2.2
+ cfg-if@1.0.0
+ cpufeatures@0.2.16
+ crypto-common@0.1.6
+ digest@0.10.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ generic-array@0.14.7
+ getrandom@0.3.1
+ heck@0.5.0
+ hex@0.4.3
+ indoc@2.0.5
+ itoa@1.0.14
+ libc@0.2.167
+ memoffset@0.9.1
+ once_cell@1.20.2
+ openssl-macros@0.1.1
+ openssl-src@300.4.1+3.4.0
+ openssl-sys@0.9.109
+ openssl@0.10.73
+ pkg-config@0.3.31
+ portable-atomic@1.10.0
+ ppv-lite86@0.2.20
+ proc-macro2@1.0.92
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ quote@1.0.37
+ rand@0.9.1
+ rand_chacha@0.9.0
+ rand_core@0.9.0
+ self_cell@1.2.0
+ sha2@0.10.9
+ shlex@1.3.0
+ syn@2.0.90
+ target-lexicon@0.13.2
+ typenum@1.17.0
+ unicode-ident@1.0.14
+ unindent@0.2.3
+ vcpkg@0.2.15
+ version_check@0.9.5
+ wasi@0.13.3+wasi-0.2.2
+ 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
+ wit-bindgen-rt@0.33.0
+ zerocopy-derive@0.7.35
+ zerocopy-derive@0.8.14
+ zerocopy@0.7.35
+ zerocopy@0.8.14
+"
+
+declare -A GIT_CRATES=(
+ [cryptography-x509]='https://github.com/pyca/cryptography;678c0c59f743e3b301fbd34f1d26112db0cc2216;cryptography-%commit%/src/rust/cryptography-x509'
+)
+
+inherit cargo distutils-r1
+
+DESCRIPTION="An Opinionated Python RFC3161 Client"
+HOMEPAGE="
+ https://github.com/trailofbits/rfc3161-client/
+ https://pypi.org/project/rfc3161-client/
+"
+# no tests in sdist, as of 0.0.4
+SRC_URI="
+ https://github.com/trailofbits/rfc3161-client/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-43[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin
+ sed -i '/cryptography/s:,<[0-9]*::' pyproject.toml || die
+}
+
+python_test() {
+ epytest
+
+ # need this for (new) python versions not yet recognized by pyo3
+ local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+ cargo_src_test
+}
diff --git a/dev-python/setuptools-scm/Manifest b/dev-python/setuptools-scm/Manifest
index 989a937112a4..4a9e8c731e3c 100644
--- a/dev-python/setuptools-scm/Manifest
+++ b/dev-python/setuptools-scm/Manifest
@@ -1,3 +1,4 @@
DIST setuptools_scm-8.3.1.tar.gz 78088 BLAKE2B 6cedb55fc16830d12a28fe5b662c371b134bc4d7ef0e6de446b71152e5d83a031cf763b0753042c96745e82bf9dc42fa7cfee05a9a7e7824a4cf659b0a401a51 SHA512 e924abf81c7ee466241c5d66c39b416c8b308f01df9e1498c55ad6ed9812fbf883d8bcafd6fdcdcb96c5ec42b868ae04088de1870ca09a650fa07eb3ea9901c8
DIST setuptools_scm-9.0.0.tar.gz 184752 BLAKE2B f6ec73dd4733b7cf24cd67bebde9cc96e1c611187774c35fa33e96a29b8aab29c13069ba68e52406dee30e1bf19d2fe38f61031f66b4abb7aeec60a5d3cb72aa SHA512 2d22695ac7036d70d23d8c2613b1c9a9948cc517754b93f38d561065746b8df001d6bae9878477f2df622711b6809b8e178c2c21ad82bdd9c7877b5816251e47
DIST setuptools_scm-9.0.3.tar.gz 187006 BLAKE2B 8e936eda4802aae82d3aafa4ee8d4cfd3beae7afc7df0719e97a268d63a3f1e701334734fcb94c31fa16b11f67b3e38f2097fd9c7951b1d185bc4cfc1d2f6809 SHA512 642b11ec216a7f332492d6cfa6b4972aa7e58bdf6181f62f0e9d8ab8dba24feb771aa4e87facf704aabad500bd75a12d2ad420f00b0f36fb61d3b35158a71ea7
+DIST setuptools_scm-9.1.1.tar.gz 191499 BLAKE2B 1da62adeabc697195c0ebf43131d00bea8a8b85fa556e228bd03b7ec4a110f61938aef5e3c433862c1a93af1e0112f0b327519181b17a9be22927837c7c90a21 SHA512 142affb002a72de841ca18461ebd40ac2a0f5f2599a9c82c020ee0081975871701e17b64e40e8eebbd7be469a572f6eacd1b82d26600c787a168c5cb0066be55
diff --git a/dev-python/setuptools-scm/setuptools-scm-9.1.1.ebuild b/dev-python/setuptools-scm/setuptools-scm-9.1.1.ebuild
new file mode 100644
index 000000000000..c9b3936a5c94
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-9.1.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage versions by scm tags via setuptools"
+HOMEPAGE="
+ https://github.com/pypa/setuptools-scm/
+ https://pypi.org/project/setuptools-scm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-64[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # the usual nondescript gpg-agent failure
+ testing/test_git.py::test_git_getdate_signed_commit
+
+ # fetching from the Internet
+ testing/test_integration.py::test_xmlsec_download_regression
+ testing/test_regressions.py::test_pip_download
+
+ # calls flake8, unpredictable
+ testing/test_functions.py::test_dump_version_flake8
+
+ # incompatible with current mypy version
+ testing/test_functions.py::test_dump_version_mypy
+)
diff --git a/dev-python/sigstore/Manifest b/dev-python/sigstore/Manifest
index fe3c2ddde363..700a98e13bc1 100644
--- a/dev-python/sigstore/Manifest
+++ b/dev-python/sigstore/Manifest
@@ -1 +1,2 @@
DIST sigstore-python-3.6.4.gh.tar.gz 281124 BLAKE2B 563b7cd22e6967c0f5ae74d15b79eca1efb3137966a986d6b7f87fc336f487820ea7a64924e68cc8bedcc473f4722f7f72cf55ee8c3f57d1867e6874b76cffd3 SHA512 1b6d942a68ec8b468541f247f01f0895012a2c0390b44532a369491c1d06a9995b42c9baf3411325e801a64d914de7e7581a59662c1b0e2b6c0e49742c256740
+DIST sigstore-python-3.6.5.gh.tar.gz 281176 BLAKE2B 23d4ccffaa2e779fdb65406f452d0c559a2c0699560d996f3b71d326d38da38bc6a264c3d4195b866d9764289a986de7f732afc64f33995f98557e759baf0c79 SHA512 a4fd2cfe1619db363b33ea03e940ae6d3b97bb838501d704926cf32b63f7c2ce75ace9915ec466ab4a9714c9a2b45578aa3006b9c19ca022c588d50bb53ae5bb
diff --git a/dev-python/sigstore/sigstore-3.6.5.ebuild b/dev-python/sigstore/sigstore-3.6.5.ebuild
new file mode 100644
index 000000000000..8f531a074c09
--- /dev/null
+++ b/dev-python/sigstore/sigstore-3.6.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2024-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
+
+MY_P=sigstore-python-${PV}
+DESCRIPTION="A tool for signing Python package distributions"
+HOMEPAGE="
+ https://github.com/sigstore/sigstore-python/
+ https://pypi.org/project/sigstore/
+"
+# no tests in sdist, as of 3.3.0
+SRC_URI="
+ https://github.com/sigstore/sigstore-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/cryptography-42[${PYTHON_USEDEP}]
+ >=dev-python/id-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ~dev-python/rfc3161-client-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-13[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-protobuf-specs-0.3.2[${PYTHON_USEDEP}]
+ ~dev-python/sigstore-rekor-types-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/tuf-6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -r -i -e 's:~=:>=:' -e 's:, ?< ?[0-9.]*::' pyproject.toml || die
+}
+
+python_test() {
+ epytest test/unit --skip-online
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index b1d8ea2fcfa5..59cd7d14e2d5 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,3 +1,4 @@
DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb63aa6e042b941913ec68dca3654de07087ab967f208fda495f048a5068ced70d642c4b8b80ab32e5346fcefa3bf9bc SHA512 e7ea4920d81914d362134a3c6fd4a2dd4fdb75f6ce17358528d568e2b2ac0ee711a71f6beb894e61d6d1e4e5833034ebde651d73a13f873c682f780e1831b427
DIST sqlalchemy-2.0.40.tar.gz 9664299 BLAKE2B b053b502532d31470e0ceaf1ebe7494d988eb8d74b433d45f9037d2b982355bda4aba9defe681d219cc03ba8e040c6641a749d7a291f03ceb64edb2dc4a02e63 SHA512 7a1db1d61cd80283e339ef92b7e27146ea060db8dc7028b2584df9f9f68a4887bbb2a6b4b4af5ca66c7d132659c7a2d0b47ac2d25ce84fad73ee2dae7808e122
DIST sqlalchemy-2.0.41.tar.gz 9689424 BLAKE2B 99fb9bf250c15bf0402d5aad23bc20e0fe54ce2705ccfd3dfd9c65be5f9e0ab5ca00e0312c01e5ed3b34344d5cde25b457df1bde35c220e6e98e3077a27e6121 SHA512 bb8df574a0e2a0faf8a44e8d217f9eb14b0138aaae7dd947c94b3c4efa6c73b2cf9199303ffed679778002804bc5aa5583b16ddd986f7b4b9235c9d951e284e4
+DIST sqlalchemy-2.0.43.tar.gz 9762949 BLAKE2B 014c547d71a82d91093c3af771cbdf22c33dac3183ae80ca927a627f22fe490ab05a87901c27bc9bda6968b71e8987960dbc071978d3a900c680e3de04cc735c SHA512 8a3c8b9116649ae6c867744b75b9019c5daeaebdcc1b251e8eb526b6ec84168282513b27ca557db3436615b09579864e01173638ccf5bd9a5ecc4537ecf0c695
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.43.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.43.ebuild
new file mode 100644
index 000000000000..5a0d82768ed9
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.43.ebuild
@@ -0,0 +1,112 @@
+# 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
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+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"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # TODO: looks like cursor cleanup failure
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"
+ # mismatched exception messages
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ # TODO
+ test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
+ test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
+ "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
+ "test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]"
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ epytest --reruns-delay=2
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index e96f2b1fc827..e4f47464a371 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1 +1,2 @@
DIST trimesh-4.7.1.gh.tar.gz 13638994 BLAKE2B 4dfc3585decf462b0c9b62336ada80f07b71e2fa66596a828f42978c7957ab336424d3d6d96d430656cff9d7db6ab8bb29b55f70150c90579b22298013546ae1 SHA512 a62e56709800525b1292c607e4ad251c7703dd03c636e82fed52b3ef92cf59a9230ce8bb2c00a8e5ac78e7b41bb34bb29c272bb2fe9f60974e18eb13761f43be
+DIST trimesh-4.7.3.gh.tar.gz 13640391 BLAKE2B 16228912f1f95dcadef0fa1fede4567129059cec78ac64a49fd17a4e68f54503538577854e6d4860c62536c477c58ef518241d3759c1b0a188d2cd92250a5049 SHA512 dada2fd9890700d39741cd1d10c1fe1cfc907055281e9e0ead6f5c017141019d10bb20b580d0ad9e33ff9693f311efdd0c5ae5c52ffce2e7cb69bb5f9f05133e
diff --git a/dev-python/trimesh/trimesh-4.7.3.ebuild b/dev-python/trimesh/trimesh-4.7.3.ebuild
new file mode 100644
index 000000000000..062f57fd3b56
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.7.3.ebuild
@@ -0,0 +1,76 @@
+# 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 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # requires manifold3d
+ tests/test_boolean.py::test_multiple_difference
+ # timing nonsense
+ tests/test_bounds.py::BoundsTest::test_obb_mesh_large
+)
+EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+)
+
+EPYTEST_PLUGINS=()
+: ${EPYTEST_TIMEOUT:=1800}
+EPYTEST_XDIST=1
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/zope-schema/Manifest b/dev-python/zope-schema/Manifest
index 825f6d1b4cf8..a6b340706759 100644
--- a/dev-python/zope-schema/Manifest
+++ b/dev-python/zope-schema/Manifest
@@ -1 +1,2 @@
DIST zope.schema-7.0.1.tar.gz 108737 BLAKE2B ca0d280186ebdaf53abc28bdb1684e31f97e4f4f9d235604702c2652bd4fa0a027d947f375ecee7aba598f072ce140908aaab3b107d6c743d6ee929db5de2fb5 SHA512 a8da9ac2e7239d15ed6cef83b4f500bca989c9ef2b7f1cd06ce532c260a8b8488b6fa42a6b2cfaeee505db87d3235f81815dc7eb80401c9e482141f8bf717e62
+DIST zope_schema-7.1.tar.gz 109864 BLAKE2B 26dccb457128df88700354f0b10895fb898e082010730c714ae8d116d5f85d66cefb5274a6202357a3316b8ae40ecf930fde1a2cd5a01d158926cef6732de822 SHA512 4a462e3e5897377a07f75f2f07a8fc116e7ccf94c4660207d2d0be0c5883f1eb339ec93489958da3019fe150459762a4d62062ac876b1dadbf7449e7899a18ca
diff --git a/dev-python/zope-schema/zope-schema-7.1.ebuild b/dev-python/zope-schema/zope-schema-7.1.ebuild
new file mode 100644
index 000000000000..0504bc8bb9e7
--- /dev/null
+++ b/dev-python/zope-schema/zope-schema-7.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-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="Zope schema Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.schema/
+ https://github.com/zopefoundation/zope.schema/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5.0.0[${PYTHON_USEDEP}]
+ !dev-python/namespace-zope
+"
+BDEPEND="
+ test? (
+ dev-python/zope-i18nmessageid[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "/'setuptools'/d" setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}