summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-18 07:15:14 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-18 07:15:14 +0000
commitfd00436ba3c32c6792c7e3213e497a2ba78f1269 (patch)
tree7cca9010836a019934448c560bd7dae363e5e4f3 /dev-python
parent9975fab92df0a33f9350e366d99da941448a8cd3 (diff)
downloadbaldeagleos-repo-fd00436ba3c32c6792c7e3213e497a2ba78f1269.tar.gz
baldeagleos-repo-fd00436ba3c32c6792c7e3213e497a2ba78f1269.tar.xz
baldeagleos-repo-fd00436ba3c32c6792c7e3213e497a2ba78f1269.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.51.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.51.ebuild67
-rw-r--r--dev-python/cliff/Manifest3
-rw-r--r--dev-python/cliff/cliff-4.11.0.ebuild39
-rw-r--r--dev-python/cliff/cliff-4.12.0.ebuild39
-rw-r--r--dev-python/cliff/cliff-4.13.0.ebuild39
-rw-r--r--dev-python/dulwich/Manifest10
-rw-r--r--dev-python/dulwich/dulwich-1.1.0.ebuild124
-rw-r--r--dev-python/icalendar/Manifest1
-rw-r--r--dev-python/icalendar/icalendar-7.0.1.ebuild42
-rw-r--r--dev-python/inline-snapshot/Manifest2
-rw-r--r--dev-python/inline-snapshot/inline-snapshot-0.32.1.ebuild65
-rw-r--r--dev-python/jsonschema-path/Manifest1
-rw-r--r--dev-python/jsonschema-path/jsonschema-path-0.4.0_beta8.ebuild50
-rw-r--r--dev-python/librt/Manifest4
-rw-r--r--dev-python/librt/librt-0.8.1.ebuild (renamed from dev-python/librt/librt-0.7.8.ebuild)0
-rw-r--r--dev-python/openapi-core/Manifest5
-rw-r--r--dev-python/openapi-core/openapi-core-0.19.5-r1.ebuild74
-rw-r--r--dev-python/openapi-core/openapi-core-0.23.0_beta1.ebuild (renamed from dev-python/openapi-core/openapi-core-0.21.0.ebuild)12
-rw-r--r--dev-python/openapi-spec-validator/Manifest2
-rw-r--r--dev-python/openapi-spec-validator/openapi-spec-validator-0.8.0_beta3.ebuild55
-rw-r--r--dev-python/openstacksdk/Manifest1
-rw-r--r--dev-python/openstacksdk/openstacksdk-4.10.0.ebuild96
-rw-r--r--dev-python/osc-lib/Manifest1
-rw-r--r--dev-python/osc-lib/osc-lib-4.4.0.ebuild49
-rw-r--r--dev-python/oslo-config/Manifest1
-rw-r--r--dev-python/oslo-config/oslo-config-10.3.0.ebuild57
-rw-r--r--dev-python/oslo-context/Manifest1
-rw-r--r--dev-python/oslo-context/oslo-context-6.3.0.ebuild36
-rw-r--r--dev-python/oslo-i18n/Manifest1
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-6.7.2.ebuild33
-rw-r--r--dev-python/oslo-serialization/Manifest1
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-5.9.1.ebuild37
-rw-r--r--dev-python/pandas/Manifest7
-rw-r--r--dev-python/pandas/pandas-2.3.0.ebuild195
-rw-r--r--dev-python/pandas/pandas-2.3.1.ebuild201
-rw-r--r--dev-python/pandas/pandas-2.3.2.ebuild201
-rw-r--r--dev-python/pandas/pandas-3.0.0_rc1.ebuild200
-rw-r--r--dev-python/pandas/pandas-3.0.0_rc2.ebuild200
-rw-r--r--dev-python/pypdf/Manifest2
-rw-r--r--dev-python/pypdf/pypdf-6.7.1.ebuild (renamed from dev-python/pypdf/pypdf-6.4.2.ebuild)2
-rw-r--r--dev-python/pytest-env/Manifest2
-rw-r--r--dev-python/pytest-env/pytest-env-1.5.0.ebuild38
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild59
-rw-r--r--dev-python/testtools/Manifest2
-rw-r--r--dev-python/testtools/testtools-2.8.3.ebuild (renamed from dev-python/testtools/testtools-2.8.0.ebuild)9
-rw-r--r--dev-python/tox/Manifest2
-rw-r--r--dev-python/tox/tox-4.38.0.ebuild92
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.1.ebuild130
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.10.4.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.10.4.ebuild164
57 files changed, 1397 insertions, 1216 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 48b02daa00d2..329fbdf2e91e 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -7,3 +7,4 @@ DIST boto3-1.42.39.gh.tar.gz 1078948 BLAKE2B 15a852156234ae0ac04c7ff2d47bfb0da97
DIST boto3-1.42.44.gh.tar.gz 1082573 BLAKE2B 98ac0981ec6df7594dcfcbc1ccddcbe8e9f4423cd61e034279dd4c9b52a5b251f158b1a3ec026dec02bf3178a3e30dc61086cdf53ff2516b7ee6b22ea32bfb3d SHA512 16b05dee6df917a8be2b4e09bc44f4032a08c059eb6aea5d9bf76ad38951ae589b4fa244f0d8b591123622fc3244d955bc028dd397a79ca0ab3d6dcddb7ae0cd
DIST boto3-1.42.49.gh.tar.gz 1085810 BLAKE2B f9015a7ea5ff20a8c65d2ce25de3df2dab0e41dd28adb40a23c8294e477fb7163e77d2d8ddfab2d6143019d5f71c0b7b34c05e86d7fc35c2808aaf46f51caeb3 SHA512 364c194b48058af0c3d3daf89b0d84c6fb13c1c64df866b61169506adacb7dd36eacaaeca38a3ee0efe0b01c5887da1a1219078318cf8e5238bdd9662e2d1339
DIST boto3-1.42.50.gh.tar.gz 1086325 BLAKE2B d81f65b37af6cbec127dcc3e188880b31c6516b9870e33888117b70acfb739ac7677010b0496707518fce190e8bf49453de044ca3dd4e3a7a5cf57b75b496676 SHA512 1834d06a828e7ba1b8cbee90040afa1c0b128646d53f5cd4b253ce000c4970375484480c89c4d9ee1b6cc769d466af2a5595dd11205b373b4fe373867ffadae5
+DIST boto3-1.42.51.gh.tar.gz 1086626 BLAKE2B 2e08abbef723638076c39fd515659bde8fb485868e6951525a1930a5e5cdff5ac0a5683302e295d64bb737a333d7da36d950431c78baafc5e29fb1783c5097ca SHA512 8f51f5dc3b37ffaad6c4c2a87408b54dc7d8dce6c08009876c3475c3e95a247e78baf83144715c6b485a66abbc725948e248c6f032467f5bdeb4029f4a9fdf2a
diff --git a/dev-python/boto3/boto3-1.42.51.ebuild b/dev-python/boto3/boto3-1.42.51.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.51.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.16.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 bc0c9169f6bf..d729ab7c7942 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -7,3 +7,4 @@ DIST botocore-1.42.39.gh.tar.gz 15795159 BLAKE2B 3485a55d4fabb1b7431035d9d22e5e1
DIST botocore-1.42.44.gh.tar.gz 15820139 BLAKE2B a7047f799dc39ee8f49c7128e91e0f11f20c38b946ec5555a75e6fd3f8691fe396d312b9ff3023fc031415cc0846fe94f5d9a5357e31f9d0670cf7e534474609 SHA512 519b7e28d5b46e7e6ac3b375f1926670d361695b34f07d8eddcf48fee8af2b3674040fa5a3b1a27961f77c435a3c4c78deb1802933f08d993dfe4cb782ea4b2c
DIST botocore-1.42.49.gh.tar.gz 15843630 BLAKE2B 823ba230ac7ba7fb3ecef8c716ff0fab0669920cbb3633105e1587c788abd5e99cddfd7ad7c896342feafd226c10eea6fcc2a888a12bacf8fd120ffc5ca51e21 SHA512 c8d73ed693936f97d0b61a9c84c00c3671891afe3173cac3a9610831c02c82c2583c285f746efbc884cb910f5f935a1a369991524b20ef79e7dc467d72497575
DIST botocore-1.42.50.gh.tar.gz 15844813 BLAKE2B 17738a393aee02ecf689acbb95daa9e1a8350913e8d8e24d00e0cd8a25f83bd688363558594f6cc22627a2d79c28b52dd2a99be64d2dc9023721e71c0de1881b SHA512 ebdd01be0d7653c2d31b77007998bfa09f1e67df1054e1bba4b121446fe1aa25a8646de8002621b870cbcd35614c80ce56ad89025f0b017c8d90ff3e66754a16
+DIST botocore-1.42.51.gh.tar.gz 15803682 BLAKE2B 9b986c8171c3e4d8770d9996b995c2a440bd18f2e66c4bead3dbeee2f83b234576aebd3ce0d26e15a2a383cb1951111c06ebb1e614d29b6e1a818deb3199fa90 SHA512 13779007ca629d687fdc631dcd3e3f72f91f53496010f94d489c84132180cb71ff1209b933ac6de5a26adaa63670d12cb0229b8d3be35bd673cd9f0d0417ed09
diff --git a/dev-python/botocore/botocore-1.42.51.ebuild b/dev-python/botocore/botocore-1.42.51.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.51.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
index 30823b0500e7..07526519085c 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1,4 +1 @@
-DIST cliff-4.11.0.tar.gz 86638 BLAKE2B f4e6e4f7ba1e9dc46c40988ef92f808c4f3c03ad53ce5f8b9017a98ceb619d3d797b8ca4922b2104fbed95205b3378e9577a1c68791b3d49aaf7f44f69295126 SHA512 43f60294bece3e6b5f326ff605f9db0c5920326cc35c3953f21135ce8f68ca6f31f35a77c2d39f12b0fe005d6aac1403ae45935919e7f08631a5cd076f3eb820
-DIST cliff-4.12.0.tar.gz 86665 BLAKE2B eaf18a9af695da4ed892c0f962b54de90b5d1df00ccc69fed2d62de79226e9bdc69617bcac04443898983e2543a43d2222249c06c4d23edea0a1b71cf446df05 SHA512 be56ef236b83884c5520d05ce367799c1ca741bf6b0b1393857092a5b8f5554f4e95d03f45998122b76e8a304d88d610088398906befdcf2f5ed0e43ee238fb2
-DIST cliff-4.13.0.tar.gz 89337 BLAKE2B 37dd455d79c5a41d76d58d420596f5b4ff9c0a05037cb7ec5eb7e635c09c8e6e087d4cd6fbac1331136383dd58470636ec2edeb1f99acb690a1c5bc907184590 SHA512 c3a64e36a3a1d25c0cf0ac6f2e899d8b4ee21b362dc08354004caddd0850603dd0019f4a7f807268c827ecb76ce1d659642614f737f9f33dbd4f28b374515bbe
DIST cliff-4.13.1.tar.gz 89394 BLAKE2B 30144a3c4f0462053f493ae8780e8722e4078082da1b146d70cb3d16519a3dd9c7a6ab463c6058810ef56dbd7eb11998e560bd42dcbf401a34cde2beaf3b7466 SHA512 b72a040d46f392ee54c5680c947f0ee95d98a64224192dabf79cb53867c9e3f572b9ff7807ee00fea885838becc92c0994fdb24ea64a472f961d69c5c3939228
diff --git a/dev-python/cliff/cliff-4.11.0.ebuild b/dev-python/cliff/cliff-4.11.0.ebuild
deleted file mode 100644
index dfa49e6129ab..000000000000
--- a/dev-python/cliff/cliff-4.11.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Command Line Interface Formulation Framework"
-HOMEPAGE="
- https://opendev.org/openstack/cliff/
- https://github.com/openstack/cliff/
- https://pypi.org/project/cliff/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/cliff/cliff-4.12.0.ebuild b/dev-python/cliff/cliff-4.12.0.ebuild
deleted file mode 100644
index 43fae42e1f41..000000000000
--- a/dev-python/cliff/cliff-4.12.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Command Line Interface Formulation Framework"
-HOMEPAGE="
- https://opendev.org/openstack/cliff/
- https://github.com/openstack/cliff/
- https://pypi.org/project/cliff/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/cliff/cliff-4.13.0.ebuild b/dev-python/cliff/cliff-4.13.0.ebuild
deleted file mode 100644
index 4364a4461446..000000000000
--- a/dev-python/cliff/cliff-4.13.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Command Line Interface Formulation Framework"
-HOMEPAGE="
- https://opendev.org/openstack/cliff/
- https://github.com/openstack/cliff/
- https://pypi.org/project/cliff/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-5.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 407faccc1f32..e1ce730c6ec9 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -7,17 +7,23 @@ DIST dulwich-0.25.2.tar.gz 1126499 BLAKE2B 6e2f5dd6dd1ff32cdde8303215d3c212bc9e5
DIST dulwich-0.25.2.tar.gz.provenance 9326 BLAKE2B 4fcc5bb9ef5e2185f58fbb2a95a31a3e1ad8d3ef5bd8e7b3b6fb1c61a38da60bf7106367a2d7ce723b42958f03588404ca29184fea44b86a54a6015aca5ad9a7 SHA512 c046142cfad02d6d172bb1512f86dc1d606e11eeb4d937e1eb202713a2edf68c72a10f2250b2bb41166a05d0e7be1021908ec4ce4c54486e456dd135e8427b84
DIST dulwich-1.0.0.tar.gz 1135862 BLAKE2B 0ebd27998344bb4a088104413319b1c74a6ade9a0f69f9b64a34b9b578752026809a9856416e431974a5897e742df7fe4b3155e42f883bbcf84db852bd7d0b60 SHA512 e2720cf84698ddc0f77f5013fe27ecd910564ee7854212dc8618a42e2481c1576af8d878240f45d45c41084a76ccb5aa204cd4138b9220de8473673dabfae544
DIST dulwich-1.0.0.tar.gz.provenance 9361 BLAKE2B 309dc38a86668b0add37a312a8d96a330a46017967db66c25c886fc99b3331d0ce27c206519a36b88802e8b0334eb1ec0720a5ff1a5a8bfe399c272cb0283c97 SHA512 4d6d69f8e387d3cb9086daf48a07b28dbf5bb10f3ceda62d612020dca9b990e432d5f8f2ef8f0d061518f0ae95dd27fcad05ab217c4893512132c93008caaa22
+DIST dulwich-1.1.0.tar.gz 1178580 BLAKE2B 34c4f73e8f72091c1b0cc0dce69b4db6eb9649aeb4db429d12e2089eff0cc68e4ab62b5e5fbe2a33a1f3a92010f071fa492f5dcd4996704b366986c99cf1a7cf SHA512 010576262ea78b86cceb64e9a19fa133068457669f675ee68b060de26f2387207a7a8305492e57ffabb3c3d01a8e5b98a132d1f7396a1c9bc3c2565867b2f3af
+DIST dulwich-1.1.0.tar.gz.provenance 9772 BLAKE2B 088b649527839758e181a04bc49cf7bf889ff39fe6056ccdf427435a8089caf1e613cc3efee9066d3306d3e9731751d948e50b562f719d4aa91234ba67ad9302 SHA512 bada36af17a7d0465ed9baf323878a195242790d589d129fb5137410cde8dfc35eb8be164e5cdbd8afe207e5461f427063e353c14b17b115bd9a258c6ffb82b1
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73
DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0
DIST libc-0.2.180.crate 812207 BLAKE2B 086681e1f488aa2ab8a477655e01bc27dc6c578fbf9eb2bb429828164825a5d450dee9bf1bc38afc8e1be5d849eddf384db75b9f4d3c64a0fde6cc37919c1b80 SHA512 5427ac2a7c03d02f14acc66c3a187fbb4e336a88e8cccf7f8281fe95f958b845c0205ec47aac2f6ba6ab8b8c4b5cd0d943205c3f78ad2830d44c3b7779c317ef
+DIST libc-0.2.182.crate 814873 BLAKE2B a5fae27ee77495d8638297523d7428eda4a608109e7e1b67db1ba621f7700761f8131710a49bbd24bedf62f8df7ecdeaedb5def47201146a05b4288ee2f92515 SHA512 7923eeb0ee1db8b5b00a6a4352cf5fd3f877a2f727af5857ca49ceeab2dc7519137eb3a982f5a763ae61fbe422ba8f0fe83d92dcabcfa18c23fae619960f96db
DIST memchr-2.7.6.crate 97616 BLAKE2B 3429786e97f1aa078892e417c8ed8198ec727969517309049b842e44097e58038583508aa974e6246888c18e11f9d23863c1bb012b542c5685250fe34e250d7b SHA512 38843817334da88ad74ce679b4401cf948cf8138815f3acc5eb0d005da3aabceb2216e20887e79344396569a2fa136e3aa1f7f3251a00d07dd6934cee79f4fad
+DIST memchr-2.8.0.crate 97780 BLAKE2B 228ce0b6fe8b168f5c31031690a5eb44466609b64c5c221e0b3f56fe331b4f25c0124d613c94ef030b225000978953641f5b07458d530c1d50eec3e1d54e4274 SHA512 8089238153493a0ff6adf980efd1ea2ba10eeff9f33fff200268692662d24152a8c14a4dac37fbc6a55dca741701fd256174f10a9838ca66f038f08e090de12f
DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
DIST portable-atomic-1.13.0.crate 195086 BLAKE2B 232b1d78c459067819dd6662ed14d4aaa1bb8157cafdeb8a61b4726ecda05068350a6e53158d2eb321cea544c688e0b3d5ac05aea77f8259ee342430c91b01e6 SHA512 1eae32e2f45a3ab92a7aaa4914995927d99b7ae4c9d4e5bc817436a06583298a1557a94b4857649356d82178125493e6c5030750b5a489c3c4e6fc3f8d501bd7
+DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
DIST proc-macro2-1.0.103.crate 60024 BLAKE2B e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259 SHA512 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce
DIST proc-macro2-1.0.105.crate 60319 BLAKE2B 0c67b9c5561234d78c3bbe71e2774877b01c5798c6def669accc273dfb1188b360627aac9303157bc27fa85de84ec7b87d0cf6e1d1b07d19527983e721609681 SHA512 520f9af4f0e9b56ac9ca7a05649aeb538d235c4f53b85a4a9a2474998ad8b96a5f97aa4e117a949adb087fc908f6150fcea783950189f1772097a986eec564c9
+DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.27.1.crate 1172212 BLAKE2B 29ea2d7dffa41ac5414aa5bc537b90e5979dd4a05a04c4cb1d2b70d6d5b7f9cb506fe864236f65495e7646406b695d5891af5cad2d67fd665a1ab4357fa31921 SHA512 f4c8d65b0a95633850597d6b29298c4a14aa3239fa245684cf6caf275f070698b35b03bfb3f256aaca0cec0d31211c51e2f2650a9d12eddce2a4d5d1f81e06a2
DIST pyo3-0.27.2.crate 1171342 BLAKE2B 421039fe650e01546661ab98593288f8058694d513261fe0025851a68b665bdfc001692c60a5a34ede92d13a6003e8f261e4bcdc17f67518a156f52916d2ff76 SHA512 b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
DIST pyo3-build-config-0.27.1.crate 35565 BLAKE2B 2dfb7e1c07ff0f7cdad8f77e4a33ce7696f914f29d931c967f0fcf24fe257b6e421cb2f8e2820a5e66440490cfd96eb733073651a153fd6932f2da5c1068187a SHA512 9add95c372ac2db8e3e719ca2b393aa1e18b6786a7d34e113b07a7e0ad9698ad2d3753a1e7707e4df1edbf62c4fba2df6e0227e5658d5d368ac1dbf76a0e9455
@@ -30,11 +36,15 @@ DIST pyo3-macros-backend-0.27.1.crate 82521 BLAKE2B fc5a1516eb0c55525cf648114274
DIST pyo3-macros-backend-0.27.2.crate 82513 BLAKE2B 9154f0275ac031fb456c313176490b7f98e033a9ff43caf32ca717e6dedc2c32435af5e7d9d2e784690fe2a379c033f0dc036b18c630fa7cb3c3365e335e3a12 SHA512 811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
DIST quote-1.0.42.crate 31504 BLAKE2B a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0 SHA512 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
DIST quote-1.0.43.crate 31587 BLAKE2B 98b16b90a6f4a2c17fe4c3b428874265cd550e96db116642bcf9ca5300780115c11baa591858fbd92e024ca0d59a385275e33b7b5ba4da946e07d1f0df6e245f SHA512 ecceef4e34e0ccf260e2f958fc8b6595f488a6cf6b2d9230bdea33aedf3b41ccb2e72f8810ffda8607bde9be5a3aaac518d6f3e48e41e5040915cad26083889e
+DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d
DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
DIST similar-2.7.0.crate 53928 BLAKE2B 41d6aec64403069dcf81a9a00b9db041967b89d09cf9f2371444928f32bbc2a8c6066adb93eaf25c72a257fab87e24c160265d687c4e33848728a4ddd374012a SHA512 4a2559d2e47e7747eb2bde0f02a0e652ff0e116d1d3c3756dd86fd48f114e2b42157b860165e5cc29c2123cf19c64ebd17f023aaa05950de03ab5752562206b3
DIST syn-2.0.110.crate 302184 BLAKE2B 68135017080bbdcee324fc4c98a719d70f9abe3f0a0913b82ad5dd96c8969712bb50d1bb387ed5e60b9fb64e69d6a1e0070361b4c41bc7c0804a4b674099222f SHA512 f9a393a3edcb49d039926bafa46f8befcb840da2af80329eb8b0efa1a2911e5db3e531d1866341f78cb4c28b7a122a07e269263262ff372c27334c7988f536e1
DIST syn-2.0.114.crate 304636 BLAKE2B 88ec8c2a781cf33b9961744166ec8d3acd46e770fc56d2d4353d8d1578bf0b629bbd294db3334379fa8570b7537e26f72872ee18a92b037499bf746eac81cd3e SHA512 42d935971246f1bc605f0d0a960c143dc31c96d27ed5427d3bb2baf46a3871852450a47556cb0eeab1e1333b208ed6fbb3832c1038e91f874680f8c68719d184
+DIST syn-2.0.116.crate 305969 BLAKE2B 68bec34f707325ced89dab5d67587fdcc3b5245c87bd16c1b65f5c832d4369b500e0485c9a4407667098248c856bcd091c936c06e0bf373e0b8c761bcaba85ba SHA512 81e1a5388d688a4aaf00ba35428ac82b9b4bb6e703c4321a898140d6fd40cdaa32762bf0e0ea0d9276f4322f673dbc39d3c46c275dcf69533c57ba4d68702ea1
DIST target-lexicon-0.13.3.crate 28498 BLAKE2B 397315667737abde41949081f8377f704c3a1105790162249a9f0c08b60f012e67d66550e9063d900ac98f5191d13c5ed23d1a8045f99373e7a673a3cfc029e7 SHA512 23422df6edb2a8cb0a9f048864faf76ccb27d6e97fbed7b208b77206941b196f155896a0381150e387142e976439a0a296dcf4cbb4df6bc0e11c65f97f979443
DIST target-lexicon-0.13.4.crate 26832 BLAKE2B 923aace3258de547e6813c7d58069a0d3b18941f05debef5954cf872490d9be8bc2036c8e807ee3f74d33c59cb01ce5b105bff95c79a79596cf328783633737a SHA512 0bad8add6b8767f1217b9a3aa83fb176f080ed9241ebd3a208ce3196650b01254c306520f1f950571bda463994631b64af9ddaca8a2478fc40f64b1381e880e2
+DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
DIST unicode-ident-1.0.22.crate 47919 BLAKE2B 766f52249631092af952df717e09e1eb0d2a8e87c45e65113f0b2b88b42e8b406a87241fadd368ceb9e13339362b48cdbbc6f699f95f448ab45dbbd861615d62 SHA512 81666679aaa2eebfe1429827fa2a88ee0b52bd69723067132c24252070133b3731287bcd880ba16d16274f038c7b27bcf637e9150b6cd955fb4ff49642078125
+DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/dulwich/dulwich-1.1.0.ebuild b/dev-python/dulwich/dulwich-1.1.0.ebuild
new file mode 100644
index 000000000000..1454a6798637
--- /dev/null
+++ b/dev-python/dulwich/dulwich-1.1.0.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/jelmer/dulwich
+PYTHON_COMPAT=( python3_{10..14} )
+
+CRATES="
+ autocfg@1.5.0
+ heck@0.5.0
+ indoc@2.0.7
+ libc@0.2.182
+ memchr@2.8.0
+ memoffset@0.9.1
+ once_cell@1.21.3
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.27.2
+ pyo3-ffi@0.27.2
+ pyo3-macros-backend@0.27.2
+ pyo3-macros@0.27.2
+ pyo3@0.27.2
+ quote@1.0.44
+ rustversion@1.0.22
+ similar@2.7.0
+ syn@2.0.116
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+ unindent@0.2.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="doc examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/urllib3-2.2.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ dev-python/gpgmepy[${PYTHON_USEDEP}]
+ dev-python/merge3[${PYTHON_USEDEP}]
+ dev-python/paramiko[${PYTHON_USEDEP},server(+)]
+ )
+"
+
+distutils_enable_sphinx docs
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+pkg_setup() {
+ # avoid rust_pkg_setup which will die when there's no Rust found
+ if use native-extensions ; then
+ rust_pkg_setup # implicitly inherited through cargo
+ fi
+}
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
+
+python_compile() {
+ # make extension build errors fatal
+ local -x CIBUILDWHEEL=1
+ unset PURE
+ if ! use native-extensions; then
+ local -x PURE=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+ unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+ unset EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index f9642ddcd478..8d037df12064 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1,2 +1,3 @@
DIST icalendar-6.3.2.tar.gz 178422 BLAKE2B e3c34b8b9372f66c42ea1be609e77e45c03a17585157699cd6aa4c521cf9b35d78e3d3821811b1fbd828c1add81b26ff3047565c826229cfbf1a3dab42fc96ea SHA512 a74067a527d46e26a8c50c6ef1ec9a264534349fae624df75388c9167b509d829f6a60340975b6aaeff1f7544bf5318ab24cc33e2bf7189fb8f57c00fea44bd8
DIST icalendar-7.0.0.tar.gz 436350 BLAKE2B 6ea30c35f6de88fe1c61a70603d907cc0029b9057cea0eaa0cdb8fbbd89eff8a53ee073e83a20515600cfc82ffa9a1c55a259144740ac3f05c395eb15481ca08 SHA512 c920cf6f16178d7425e469dc299aad7a903b0c0066a4d811b19ecdeb2863e0e2f19bdcb65f91068c19bcbacac94d8657f4bb7f8e605db26ecd016625743cfb44
+DIST icalendar-7.0.1.tar.gz 439216 BLAKE2B b5ae676fccb3ebfda2f59fd2f66126304b63eb8a296d0d1aa66250972bb9a930409835e65fc0bb7cd2eb892985de16dce22e8d047f7123d265c96611578ca9e5 SHA512 6c209ebe41f4795843a3d1dcb04a4994d6f23ae2904e63819412259be420802db673cb7f1136942a5fa1322a0dc4526a398f91bf439d1b8c3ce1d13080f57cdc
diff --git a/dev-python/icalendar/icalendar-7.0.1.ebuild b/dev-python/icalendar/icalendar-7.0.1.ebuild
new file mode 100644
index 000000000000..de26d7b0ce4b
--- /dev/null
+++ b/dev-python/icalendar/icalendar-7.0.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="RFC 5545 compatible parser and generator of iCalendar files"
+HOMEPAGE="
+ https://github.com/collective/icalendar/
+ https://pypi.org/project/icalendar/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.10[${PYTHON_USEDEP}]
+ ' 3.11 3.12 3.13)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytz-2025.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # upstream puts quite an effort for funding.json, but failed to
+ # include it in sdist
+ src/icalendar/tests/test_funding_json.py
+)
diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest
index 255f4e4f1908..e8cbb5bbe15a 100644
--- a/dev-python/inline-snapshot/Manifest
+++ b/dev-python/inline-snapshot/Manifest
@@ -9,3 +9,5 @@ DIST inline_snapshot-0.31.1.tar.gz 2606338 BLAKE2B 96e90f9b3633d71a85b5ec14b23f4
DIST inline_snapshot-0.31.1.tar.gz.provenance 9119 BLAKE2B d316ce0e53e2af1a35c1d6c242fcab732c9edbeefdfe9829237c9d34e45e3aab058ce3283a52ce7d7505c65e0b2235d78d79c6996e938f06ef3d9f9b12cc788c SHA512 f5d92c2500d98ef6f0d60e510de4ee308722cbd6b55db3d457e30b671af26a67ef74c8029e4a328167ea8b79744bf531f15bf417fe5c88dee711c4822cc1f7a2
DIST inline_snapshot-0.32.0.tar.gz 2623331 BLAKE2B ed29345b9236292aa820e3926b96ba11e8ec1faaa5fbeea796bd7d4bf4ad192a1455bfc7a28d77f2bebb05daaa4b4edaf3567f81644475cf404e831fd866f2e7 SHA512 cb4f3474ddceff6b4db01b9fce25c083b6a2eb4eeb6968e4ac5a99517bdb57c77a579b5f7b3712676ba1737bdf241fae1df69087f9110730caea441cf485ebd4
DIST inline_snapshot-0.32.0.tar.gz.provenance 9665 BLAKE2B bcba9dd58345c697d5ba7de4852e08be915cb3ba170a51a4289cdb3cc2b66dd126fe6b284b3346928cbf84b9720d5fc46bd6a265a392e825550f5ce809990a8c SHA512 afe9d82d4973fb6589a0845ad005ec1d74abcd76bb840e5d4ea1ded3195c69e4cc5477f89a4ba9255f3624c322ffcb93bc3f2764bc848dd3683164858540b1fa
+DIST inline_snapshot-0.32.1.tar.gz 2624124 BLAKE2B 289571be18d6d674f400abe8ca862b2e58b3bdf617d77e8277ced64eb4b7769239d05db9856ec12ad9f8aa9c4717f975c25aec2f786fda6e86659fdf72045bda SHA512 c91b426c1186d236e958c5a1b6bc87b66f35ba989db6b22607ce2867debd01c22600ee9c52211a22654480ac2caaff099c269ef3d487d599064cd9329b215266
+DIST inline_snapshot-0.32.1.tar.gz.provenance 9473 BLAKE2B 5b9e956faca6e1d2b74bfd6e891693caf1524888cf0398747fc356016dc908d092b06eed3fcf276ff961d05604f6d1cf3ef4d2183baebf84136570fc4a810d43 SHA512 85f312be7f289b93603e286eea153622b85b6f56bba58d1f7d6464bd88e335020be46d7389d9ab0d3eb3d7c4a5661b9239c8064d3ca6faa452e170a825a75058
diff --git a/dev-python/inline-snapshot/inline-snapshot-0.32.1.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.32.1.ebuild
new file mode 100644
index 000000000000..0967f87cbd6d
--- /dev/null
+++ b/dev-python/inline-snapshot/inline-snapshot-0.32.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/15r10nk/inline-snapshot
+PYTHON_COMPAT=( python3_{10..14} )
+
+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}]
+ dev-python/typing-extensions[${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
+ 'tests/test_docs.py::test_docs[categories.md]'
+ 'tests/test_docs.py::test_docs[code_generation.md]'
+ 'tests/test_docs.py::test_docs[testing.md]'
+ )
+
+ local -x PYTHONPATH=${S}/src
+ epytest
+}
diff --git a/dev-python/jsonschema-path/Manifest b/dev-python/jsonschema-path/Manifest
index 2f1921edde20..958188ec58f4 100644
--- a/dev-python/jsonschema-path/Manifest
+++ b/dev-python/jsonschema-path/Manifest
@@ -1,3 +1,4 @@
DIST jsonschema-path-0.3.4.gh.tar.gz 40126 BLAKE2B cc7884ab41a0cdcfbd292831f9ed2a03f82af30f4482499c7940633741560228df59c4157457e8c44c57fb73f0f6142f10ad23d36f444fea71a84cf6309d953d SHA512 85b791a374d61bedf66a0ca44b6906ec74f02ffe991c1cb220267c85c0e7b493375d712d7ca0828681c9c15f170bc29d4b808b00778895fb13f1f7ff3cdf2a9c
DIST jsonschema-path-0.4.0b2.gh.tar.gz 58162 BLAKE2B 4044b9efbbaece7fddf8c7c00bef56fcee55c65c247bab3637add2a139d7643e5429d20001bf80bbe4de9cc6fe7c8420473bd4cd371c64158a9d2ed8ecb5d8f7 SHA512 756779154d337db3663cf05b54c2650c1b59603ee9961984a0fd41f048043bcb2337a605409538a495da6d4e970ae80a2b11cce2a8867a47f807021ad59b3c0e
DIST jsonschema-path-0.4.0b6.gh.tar.gz 58399 BLAKE2B f43ebc15ec3af93f6887812195dabd5c5405856fe39bfda4a7444bf14da8f8b38016fbf4e10a396b26357a9eaa8d0c01913155e0ed086447a42cc157201311cb SHA512 1c1a050aa76e6028ffafcdd8a95e35245479c1c4621be6be1f9f412a68cd50ed3e53daaa04691774f1d09259f656635c19baba16a2c7b561f26bb42621d38da9
+DIST jsonschema-path-0.4.0b8.gh.tar.gz 59277 BLAKE2B 7b3fb5cc410f26b5e4960b300851194a887e27e50c05ca5818e7cd1e118f6657a55841092f2cdac130f166eddeca81e48d06fb25c60a5380859581531d9c05bb SHA512 719b57f6581e540d152863365ab85f7c9aafb0ab79880e6ccfca462f2d64892636276d741acc09662cdba242ce1e54833a42bd38048ce6c7299d9609715f9bac
diff --git a/dev-python/jsonschema-path/jsonschema-path-0.4.0_beta8.ebuild b/dev-python/jsonschema-path/jsonschema-path-0.4.0_beta8.ebuild
new file mode 100644
index 000000000000..d0864dd1f159
--- /dev/null
+++ b/dev-python/jsonschema-path/jsonschema-path-0.4.0_beta8.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_P=${P/_beta/b}
+DESCRIPTION="JSONSchema Spec with object-oriented paths"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema-path/
+ https://github.com/p1c2u/jsonschema-path/
+"
+SRC_URI="
+ https://github.com/p1c2u/jsonschema-path/archive/${PV/_beta/b}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+if [[ ${PV} != *_beta* ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+RDEPEND="
+ >=dev-python/pathable-0.5.0_beta6[${PYTHON_USEDEP}]
+ >=dev-python/pyrsistent-0.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ # remove random pins
+ sed -i -e 's:\^:>=:' -e 's:<[0-9.]\+:*:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/librt/Manifest b/dev-python/librt/Manifest
index c65fb4fa7328..d4d128a63e63 100644
--- a/dev-python/librt/Manifest
+++ b/dev-python/librt/Manifest
@@ -1,4 +1,4 @@
-DIST librt-0.7.8.tar.gz 148323 BLAKE2B 9aab34a9170f32dca52cab0fa9bee432978661e0bd4ded83b084a13d58983278db27d3c5282c55ab0125d759a6f5471dd4ca8f092bf5b8651408514f567a8a73 SHA512 bd562ea330a64018281deb6b02a87b54bb98e02b0d615bfba6dee8000a1bfe03c3f8e90835b8f5db3211d480663a1e40af95992a1b60c43a173b0865feba3320
-DIST librt-0.7.8.tar.gz.provenance 9219 BLAKE2B 4cfcce07ef22e57af3cc6688fc176fa1acabebefcf2334c80c7213431947be181ef1784272990a7d294070502aaa529fa6a7fcfbe64490d945a0e547f56ba15c SHA512 59e411c757a18d28c4a3cc43030557ab1f854293eb6696e4c9547eefd3aa76a369bb695acf924e6d03de44f221e026222088d60763495a68594c6512f99263a8
DIST librt-0.8.0.tar.gz 177306 BLAKE2B 5072835303e9d8be728fea8c0bdcefc19811581cd19ccd21ad3b39ae94dc31682f02971dd8fa1c9666ee007104a425d0f4ab7a643911e6817d494a17ec4c0950 SHA512 22849b5b49f0ff48e09a8e03d5f6ba7823c78490bfc13296e23ad8d4b14e5c3d717c9cb8aae766da161188a07d13276dcca48d01d2293bdd902e2c55fc8dcb36
DIST librt-0.8.0.tar.gz.provenance 9078 BLAKE2B 0a1405a29b306166301432819b80da0cfe4f715fc12d2cab392a8b2707b28516c0821b3ce30e51f4fbcf1ec427befc398d09169e5f29e6a1f205ba65eeb4c561 SHA512 130d5a4f75d252b4b53d0463a804ea4e4afd83b8223ec64785b57cf60a092192d7f4720cf8eef0dd25cf207a4404d0a1748b47dcd2a85959cde2317a740ad11d
+DIST librt-0.8.1.tar.gz 177471 BLAKE2B 9a126fb58c75ce420e789d516806e3089ef38ef67a6d19c71e8028f61b6e3a1c1804ebe89280877df9ec0fefb3045da7c4d1a060f1635d6455e48b6cedfdc405 SHA512 0cac416696dd87a1cd9c8276946d7ea25d125b07fe9bb0abc09a5590e549bb781944713f1c83edb83eede3a0038175cc33d8ad3fa4e945ed916aa3c590f91020
+DIST librt-0.8.1.tar.gz.provenance 9403 BLAKE2B 204a0608d5d88e937497eca45e1df0499c12f3b20886b6c983d9f9faa5a1b7577ccd4824805879deb45c91f3dec6007ad15f71d10a85ebaf62bb20c6ee4b4a45 SHA512 c906baf149855c13ab356e3eed93a72e64d3ad49430d50398652d916ad6d429d7852412fc92b03fa141de7527cf48c5a17638304a230d41f233dbd99193addea
diff --git a/dev-python/librt/librt-0.7.8.ebuild b/dev-python/librt/librt-0.8.1.ebuild
index e5481a1c1dd2..e5481a1c1dd2 100644
--- a/dev-python/librt/librt-0.7.8.ebuild
+++ b/dev-python/librt/librt-0.8.1.ebuild
diff --git a/dev-python/openapi-core/Manifest b/dev-python/openapi-core/Manifest
index 0c85a91c9dae..cd49339d44e7 100644
--- a/dev-python/openapi-core/Manifest
+++ b/dev-python/openapi-core/Manifest
@@ -1,5 +1,4 @@
-DIST openapi_core-0.19.5.tar.gz 103264 BLAKE2B 46d2c47819056f82d4ed74c43455e107d14d181627d5bb11d34c10a3921dd287297ba27632122dc656884039a0c61381ececb6d085bf990ea73cc898326c0318 SHA512 6b41e686682f5265d8268e1c6789393f8539754b827b69fab2c78e83c07637f4f243ce6d06ec5ab3f1870ae7944dfc72b5e678fb959fefd06770107abe66cad9
-DIST openapi_core-0.21.0.tar.gz 105730 BLAKE2B 29a6397f9a7cf3ffa193b5c2dfe8cd86a7342ebbae66f3c9264b783016742a3a13a672e194bea5bb710c5e93c4d87bde9fb3e59d79fcbc63bd04db4a3e672926 SHA512 c1b3bcc0f2ca327f57ba8e50dc54a2034c6dc431272a47aada1a3e2ddb47f1efd4112a65c7578e77359ef963fb84b2d85aac8075a852cc52734e824d30e5e542
-DIST openapi_core-0.21.0.tar.gz.provenance 9779 BLAKE2B bd39af7f0375b23e73339f7b658177da48ba29c3b209349c02383ef8a05188105d1576b72e96ea541a3c34b08a89e2943fff42e91130d9dd8d77eeb31c13d184 SHA512 0fd19ba0348d72104cb373cb946b0b226a1ec3b1a89e3943264fb96bb4daeca57b7a21956505f91979edc001edaa40770c8228d9282e737cc001b54f49c30b49
DIST openapi_core-0.22.0.tar.gz 109242 BLAKE2B bf64e91e77b5a7a6ebd75a51cf0422b1cd7ba92be6f7d826c3f236df7877004ea4d9e04ba684798bd82b623e5c992109d27bbee6019692a15c6ffee5e4b10df5 SHA512 9d007ab74eb61c446afc19624595cc584f69da76713f5f6ce1d931cfe581b9632705226be3e9e93ea191587a3cec98f20e627a923d59596ef0ce0bfa8dd3807d
DIST openapi_core-0.22.0.tar.gz.provenance 9826 BLAKE2B be43b254d91c0e1e91f3a7fef8a686eb17ff050073f019df1922718f1eec038fab7fbed9354c6533376f7b71f2c6da75964d44b09b4d9b1673f27fdd8a14a5eb SHA512 7e89655ca6480f1e758e158ff6071e064c52678d0138d501048306f348e1d3afb2506f5de848718d289bcd7eef25ecf2d97d51751fcdcb371b3c2f1f87fb45b7
+DIST openapi_core-0.23.0b1.tar.gz 109765 BLAKE2B 760b8a9b744a887a1680a0e15741c024457daad14ea08f641b2e1fd942c26880a9f4517b79522a794eb57caf9b76668b577921b3963fbb486b48d68a29ffd301 SHA512 7b11abe02392aff493a67e54174b043c28974bff3d9a0531341c6ab507a4f35aba68d184e62af4d1f06504936eedef9c5e366c61c2625d1a0dbfb699f2925c7b
+DIST openapi_core-0.23.0b1.tar.gz.provenance 9682 BLAKE2B d6d0bdb01863d9a08e56a3897cc3d57dd4b41e2c8a572e2f1f99ffa9d9304b460abf09fc13ba1225fcf27a0f19b42b3d6891a689de842c878c175d91094e19b9 SHA512 dfe76d562717815380cd9ca3f9f7d70b44278e4cc876b99df5ad2f12e5806ebc0d9bcf42752dbc926ef87808bbf8c9487723f1ddfa902952cf9439119aa989a9
diff --git a/dev-python/openapi-core/openapi-core-0.19.5-r1.ebuild b/dev-python/openapi-core/openapi-core-0.19.5-r1.ebuild
deleted file mode 100644
index ea4ae3749d10..000000000000
--- a/dev-python/openapi-core/openapi-core-0.19.5-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Client-side and server-side support for the OpenAPI Specification v3"
-HOMEPAGE="
- https://github.com/python-openapi/openapi-core/
- https://pypi.org/project/openapi-core/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
- dev-python/isodate[${PYTHON_USEDEP}]
- <dev-python/jsonschema-5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
- <dev-python/jsonschema-path-0.4[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-path-0.3.1[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- <dev-python/openapi-schema-validator-0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.7.1[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/aiohttp-3.8.4[${PYTHON_USEDEP}]
- >=dev-python/aioitertools-0.11.0[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.26.1[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
- dev-python/webob[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-{aiohttp,asyncio} )
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # missing dependendencies
- tests/integration/contrib/falcon
- tests/integration/contrib/fastapi
-
- # TODO: these tests fail to collect
- tests/integration/validation/test_security_override.py
- tests/integration/validation/test_read_only_write_only.py
-
- # unhappy about modern django
- tests/integration/contrib/django/test_django_project.py
- tests/unit/contrib/django/test_django.py
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- sed -i -e '/--cov/d' pyproject.toml || die
- # upstream pinned it over typing changes
- sed -i -e '/werkzeug.*</d' pyproject.toml || die
-}
diff --git a/dev-python/openapi-core/openapi-core-0.21.0.ebuild b/dev-python/openapi-core/openapi-core-0.23.0_beta1.ebuild
index 8e8dadcc8068..84e11d179acc 100644
--- a/dev-python/openapi-core/openapi-core-0.21.0.ebuild
+++ b/dev-python/openapi-core/openapi-core-0.23.0_beta1.ebuild
@@ -17,7 +17,9 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+if [[ ${PV} != *_beta* ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
RDEPEND="
<dev-python/asgiref-4[${PYTHON_USEDEP}]
@@ -25,14 +27,14 @@ RDEPEND="
dev-python/isodate[${PYTHON_USEDEP}]
<dev-python/jsonschema-5[${PYTHON_USEDEP}]
>=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
- <dev-python/jsonschema-path-0.4[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-path-0.3.4[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-path-0.5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-path-0.4.0_beta8[${PYTHON_USEDEP}]
dev-python/more-itertools[${PYTHON_USEDEP}]
dev-python/parse[${PYTHON_USEDEP}]
<dev-python/openapi-schema-validator-0.7[${PYTHON_USEDEP}]
>=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/openapi-spec-validator-0.9[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.8.0_beta3[${PYTHON_USEDEP}]
>=dev-python/werkzeug-2.1.0[${PYTHON_USEDEP}]
"
diff --git a/dev-python/openapi-spec-validator/Manifest b/dev-python/openapi-spec-validator/Manifest
index ba04cfbe0198..2fe93b1523d5 100644
--- a/dev-python/openapi-spec-validator/Manifest
+++ b/dev-python/openapi-spec-validator/Manifest
@@ -2,3 +2,5 @@ DIST openapi_spec_validator-0.7.2.tar.gz 36855 BLAKE2B 87914f72a4bcaa2a1b190902b
DIST openapi_spec_validator-0.8.0b1.tar.gz 37067 BLAKE2B 63db2482dbde6e2aab4c7030c5414359368c93483f9dfb9f0ee18842f404ac963ae2d6985592ad79afd382bc4326380021f5a9a49cd1fc44e1ca52e505d07c31 SHA512 d7b112ccd473fb026f9241894f9d8709c50f5b500d1bff945f40ce197f6511bc15ec6f8f8b346243f6d9d4ee803cb7268e172bfce2f1bff2a87bc8c5907a166d
DIST openapi_spec_validator-0.8.0b2.tar.gz 1744624 BLAKE2B 4fba95e782c3135a48e552dbedb7dc772d4854dbef1f4a9077628ac6a8acf614cc4747fe346a17ecf8ae1a5368ecfe12313780131e8dacb2246848fcaebd19a2 SHA512 3c71a10b310fe53e6d1ff1dedf957fbdf8cdbc1d593c03f47d7cee88b260a291cd8ebb3ee2a812592ad2f97d53c0870c8b7caafec9acf14320e53ac58f411a5e
DIST openapi_spec_validator-0.8.0b2.tar.gz.provenance 9947 BLAKE2B 740ee9b414612ae2099c5f0c6450b4f64775d96c894ab94c6cc001f1c7436bf01ea4e4e58184b0697ae770e2040ab57c3c71c1e1423e8dbf57b44d6f1829c46e SHA512 f2e00ff25754c65de4c7cb29c35c715a566f49e932e2c6a5cbc784c963b169e4bf1d7ad6d13cf9dd9926dee0a8a8b581c6952c0e9e5b164f0f2062a84b3bc5ff
+DIST openapi_spec_validator-0.8.0b3.tar.gz 1744633 BLAKE2B 65b2c0961960a3a26fe8a0225148d643dba16e2e77403f5ff3d0fa48f5a5675759a6f615be30cd3a63fa060ac9102a802072c9c70ece8fbd9a1f2155b264c471 SHA512 d71b56936c27438831c3972d97079dbc078258c20f53b48c9d7bbdeffa457e61b2208e71f329e781069c29c8fa8f03a3f0f81e5705242bc012bd002257dc0df8
+DIST openapi_spec_validator-0.8.0b3.tar.gz.provenance 10006 BLAKE2B 4a7add3d34ecca72e60de61e4cc62e547d5f85ba53e132afb3f6637c2ce113b4b2835b1a138789997d97cb960507023818ee2c9ae67003f6fbdd80826ee4c074 SHA512 a0291c8e9f8550432bdbc5ae4a3f1866e20d45251f867741f0d059f1512b31808008771db078699c010448de0a70f08f3d71e4823adbc51e276cd09eacc600a9
diff --git a/dev-python/openapi-spec-validator/openapi-spec-validator-0.8.0_beta3.ebuild b/dev-python/openapi-spec-validator/openapi-spec-validator-0.8.0_beta3.ebuild
new file mode 100644
index 000000000000..e2f24aa0e0a2
--- /dev/null
+++ b/dev-python/openapi-spec-validator/openapi-spec-validator-0.8.0_beta3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYPI_VERIFY_REPO=https://github.com/python-openapi/openapi-spec-validator
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 spec validator"
+HOMEPAGE="
+ https://github.com/python-openapi/openapi-spec-validator/
+ https://pypi.org/project/openapi-spec-validator/
+"
+
+LICENSE="BSD"
+SLOT="0"
+if [[ ${PV} != *_beta* ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+RDEPEND="
+ >=dev-python/jsonschema-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-path-0.4.0_beta8[${PYTHON_USEDEP}]
+ >=dev-python/lazy-object-proxy-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_shortcuts.py::TestPetstoreV2Example
+ tests/integration/test_shortcuts.py::TestApiV2WithExampe
+ tests/integration/test_shortcuts.py::TestPetstoreV2ExpandedExample
+ tests/integration/test_shortcuts.py::TestPetstoreExample
+ tests/integration/test_shortcuts.py::TestRemoteValidatev2SpecUrl
+ tests/integration/test_shortcuts.py::TestRemoteValidatev30SpecUrl
+ tests/integration/test_shortcuts.py::TestApiWithExample
+ tests/integration/test_shortcuts.py::TestPetstoreExpandedExample
+ tests/integration/test_validate.py::TestPetstoreExample
+ tests/integration/test_validate.py::TestApiWithExample
+ tests/integration/test_validate.py::TestPetstoreExpandedExample
+ tests/integration/validation/test_validators.py
+)
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ # remove meaningless upper bounds
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 3a8729c087ab..911a4c96f5f2 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1,2 +1,3 @@
+DIST openstacksdk-4.10.0.tar.gz 1319494 BLAKE2B ad38f63d626c904bd0f2e61216a12a6291be24a8d20de2db8c0092620e41592cab4afb28281c212319ac285cbc62a330f136560eee9a031166ac687786d4fd67 SHA512 2a0b13884625662c09e5a60626fbd9a12c53157c69039a8936370d4ad3e675fcaa02a6f472e75568e18e95cd9c36f3c41b5d31468dc48af84cb32b2a240252b9
DIST openstacksdk-4.8.0.tar.gz 1309981 BLAKE2B 41b047b7e120c72cec8555daa7910870ca6f3ca56a14865e5f684d0754500728fc38974a25664b4aecb21bf37e5b06fdd8755dc13a88bbaa0fe4830903dc1db9 SHA512 993476e818648244c091f3b26bf9d532346859014de353bf45869531325c0c67ac66d1493be38c02389f51991c134ea87342ce89cc57073a8b9f62e606f108f1
DIST openstacksdk-4.9.0.tar.gz 1316550 BLAKE2B af03d1db2c0cfaeb00831f4c9b5dadb6bd3947cad3b13d5d942a648dc56f93438c60f8ea95fe073380f0b5c2d2f66f9172b98ca526ce10f7a9bf18a421140ba3 SHA512 71c30844ce2db587b561cc4baa3231056dc91313e110618c4d2de5ed2ecb919eff98a0387bd83edc8441b45322009a61dd9038374e641b52432e13e47ea315aa
diff --git a/dev-python/openstacksdk/openstacksdk-4.10.0.ebuild b/dev-python/openstacksdk/openstacksdk-4.10.0.ebuild
new file mode 100644
index 000000000000..18398b222280
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-4.10.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ # stupid test checking if they pin to the newest os-service-types,
+ # except they don't actually do
+ sed -e 's:test_ost_version:_&:' \
+ -i openstack/tests/unit/test_utils.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/osc-lib/Manifest b/dev-python/osc-lib/Manifest
index ad5ac4e1138e..ab8b6c463299 100644
--- a/dev-python/osc-lib/Manifest
+++ b/dev-python/osc-lib/Manifest
@@ -1,2 +1,3 @@
DIST osc_lib-4.2.0.tar.gz 101802 BLAKE2B a3bb7998e8f54786606bcac528c1562c0d405d14eb5079b46ee5cb849c9284e183d3b4baee2a3ea803ac8e9c45262f3e058eace6b262c13088463a8e79a49154 SHA512 27b393187b97764ec10b0693713724377bfe636613bb84c6edac6aa52668fcdcbaa067e7dfdfd5c6b443a00adbec4dd9fc1542a9f1a9c36652b7dab874fc9e10
DIST osc_lib-4.3.0.tar.gz 104796 BLAKE2B 412a01ca32a4929bec3b7253f64123d50adca81d515df9b3e0bfeba9a9c0627ee2d0091919cd6ad2b25bc277e740d361bc46c8d9b981dfba703b91b1266781e0 SHA512 ce0185629ee71df090efd98c6f702b3977d89e5c1a1f2dda78a4df0ef63ee184fc3a67ddf26b67f2d3314066b376e6b976e5a14a654f287edfdfd38dad77b478
+DIST osc_lib-4.4.0.tar.gz 105435 BLAKE2B f4a9f359d8376aeaa94f70594993d66a5cbd396c7d827155f2d72df847d823f394410732a194a1ec7a112ebc494902fbeef84ebedb5e209f284d6ac324655024 SHA512 0d949c2f172324f12ae130a3487d6a017968bf2737685e274d5778705a9413a1f401edfa08d64573450715b347d583c2819583c5781ddddeb5f8eff632d69775
diff --git a/dev-python/osc-lib/osc-lib-4.4.0.ebuild b/dev-python/osc-lib/osc-lib-4.4.0.ebuild
new file mode 100644
index 000000000000..882b127f5c05
--- /dev/null
+++ b/dev-python/osc-lib/osc-lib-4.4.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A package of common support modules for writing OSC plugins"
+HOMEPAGE="
+ https://opendev.org/openstack/osc-lib/
+ https://github.com/openstack/osc-lib/
+ https://pypi.org/project/osc-lib/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cliff-4.9.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-5.10.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # need to skip all tests under TestTagHelps class
+ # checks exact help message, based on another unittest runner
+ sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/oslo-config/Manifest b/dev-python/oslo-config/Manifest
index e1a27409ed71..b265213052e1 100644
--- a/dev-python/oslo-config/Manifest
+++ b/dev-python/oslo-config/Manifest
@@ -1,2 +1,3 @@
DIST oslo_config-10.1.0.tar.gz 165089 BLAKE2B 253e10e6d949fcd773a0c394a8a8d6a45e59e63c20f9b596eef99868c73422e5eb5b7a57c9e57fe3451511f8c719fcc36abf6b02eeee85c7f2b9d57a370f14ba SHA512 319be3b18ddc3a1f34bfd72fc39790e3916ddb9fd86f76f85b10d5d544bcd48619900aa60bd6f9d564be184272f665222eb102e271f6e4832c5725be99769d75
DIST oslo_config-10.2.0.tar.gz 163256 BLAKE2B c9521c5dfa3f8103c53de47cfa93a579e0619ec37f1f1692c3ed92cb114fc7d339b7acf723dc3d190826767f77f790f2b0c3c82d61b720080e617143e6527d2a SHA512 6673dfffb763fbc3baae574928ad75a02a6e490ad22f1e297c78c4c2e8d50f58937f64af79e758f6795285545c4176bac12c81d2cbecfd754717d15567f6b684
+DIST oslo_config-10.3.0.tar.gz 164302 BLAKE2B 973e637cd4e75904a651fda32517a5fd4b42c69fe4f6674ac6163a4eab5588c5188ccbbc923861b0f9b4c587304746df676ab6c5994842da14edec6594eee925 SHA512 c72ecea5670d4e9267096f5499821156fa795d359ce072ce9b730155b10b218768926d5e4104f5a4aa3d2f9a79db2e419d227567e9ff5d83e900efad956097f1
diff --git a/dev-python/oslo-config/oslo-config-10.3.0.ebuild b/dev-python/oslo-config/oslo-config-10.3.0.ebuild
new file mode 100644
index 000000000000..a4c46e314dd9
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-10.3.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.config/
+ https://github.com/openstack/oslo.config/
+ https://pypi.org/project/oslo.config/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-5.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # broken by some dep upgrade
+ sed -i oslo_config/tests/test_cfg.py \
+ -e '/DeprecationWarningTestsNoOsloLog/,$d' \
+ -e 's/test_sub_command_multiple/_&/' || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x COLUMNS=80
+ eunittest -b
+}
diff --git a/dev-python/oslo-context/Manifest b/dev-python/oslo-context/Manifest
index 93208b374c2a..5b49f6231c07 100644
--- a/dev-python/oslo-context/Manifest
+++ b/dev-python/oslo-context/Manifest
@@ -1 +1,2 @@
DIST oslo_context-6.2.0.tar.gz 34983 BLAKE2B 5433de70d7342dc5106c5a842fb5a96362aa0b2f81ac834e662fcae5fb0302ea544232114707eeb231e57c5dc8ecce4eedf52d0592580fc0c20365bc300508d1 SHA512 ed28670e68a05fcf163f9cf47b6e0df659073a2de50271d7ef22685aa54802d01801d33482b734f52d795d90c6570a23275d7065195085ba4df9c8d61b71788d
+DIST oslo_context-6.3.0.tar.gz 35129 BLAKE2B fcf40c715802eae7d687f4643464ca2b8739df6583f72cabc750ea0455693addaecc5827cf0eff4ada834d71891f40ebd1536897121e03622637fd9573c345d7 SHA512 ad188cb30e76a77d039ae7a4395b098a8b9b49e42e1587c3fa9034968da6f26d126872b055cf5f3ae09e56c13305d3673a2a8871377c6b25dc3fbaf9f3f0798e
diff --git a/dev-python/oslo-context/oslo-context-6.3.0.ebuild b/dev-python/oslo-context/oslo-context-6.3.0.ebuild
new file mode 100644
index 000000000000..48d4808b124a
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-6.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.context/
+ https://github.com/openstack/oslo.context/
+ https://pypi.org/project/oslo.context/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme
diff --git a/dev-python/oslo-i18n/Manifest b/dev-python/oslo-i18n/Manifest
index 4c4fd1624530..99733dd2771b 100644
--- a/dev-python/oslo-i18n/Manifest
+++ b/dev-python/oslo-i18n/Manifest
@@ -1 +1,2 @@
DIST oslo_i18n-6.7.1.tar.gz 49721 BLAKE2B 7e67605d1faed6f36ed0639d82b6bf0e99cafb7cf2e4db25a37042ab25773e8ae5c3d226f7db2614b4ad485ebdfd1e7688eb9b48c8c069b8d929917525192784 SHA512 ad340ea02997654e97d23de7a662e6f2e92bb19e20979a7a815cb0a2013fd40ef7342c75a256966bb5b6c4ebc70903de2cfa1478c051d759af0ea0a91df8f26a
+DIST oslo_i18n-6.7.2.tar.gz 50005 BLAKE2B 751e153d9abe77e533e301b22b320e985476524fb08b842e43c74f67eeda07e108c395fe7e117db6a47df80ebb25747ef489f57bf179ff25e293ab7d79250777 SHA512 fecc8ae9ad0724da0fd010b27347d35eb5d9b6e91d9735cebbbe6e5152f6ecc9fa68c08a2e86ec9575d8b908ea34654231625c02d03c02e255d5a22ed20548f1
diff --git a/dev-python/oslo-i18n/oslo-i18n-6.7.2.ebuild b/dev-python/oslo-i18n/oslo-i18n-6.7.2.ebuild
new file mode 100644
index 000000000000..d57a77aa4df0
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-6.7.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo i18n library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.i18n/
+ https://github.com/openstack/oslo.i18n/
+ https://pypi.org/project/oslo.i18n/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/oslo-serialization/Manifest b/dev-python/oslo-serialization/Manifest
index ec0a41dd60eb..8d0b4310a2ec 100644
--- a/dev-python/oslo-serialization/Manifest
+++ b/dev-python/oslo-serialization/Manifest
@@ -1 +1,2 @@
DIST oslo_serialization-5.9.0.tar.gz 36949 BLAKE2B ed1bc228b4f370efb37eb893b64db1ceca58518fb3fedb3c1989c1c552d578e8d950211f5321fc337f00f3d90ab0f133ef5dc913bb32ddfd017f2aaadbabb686 SHA512 0d16a91f9d32ee8083cb50e850ed691f1d5045c3fb3cdced49174bf48fdf1c5b7ba47c6e326177e0a2ab565698a7efb2285f36dc89eb043c3c3b5dfeae3e0da9
+DIST oslo_serialization-5.9.1.tar.gz 36935 BLAKE2B 563bb77e9b8897112eacac25bc5c9fefe9acde42aeb1a01679b6a248d44f541e11de621e784a5e2e3226fc05704699e12a4b7891e140900be1f418f8aac48ade SHA512 edafaec15a81d3c4c48ad4a993819165c9b9cdecec7bb5305015710f6cb04bd36f0ed347d6d0ea9432f68535af2a1662d0ca55edd0a689a5aa9523127ce4e27a
diff --git a/dev-python/oslo-serialization/oslo-serialization-5.9.1.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.9.1.ebuild
new file mode 100644
index 000000000000..33dbaf1416a1
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-5.9.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Serialization library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.serialization/
+ https://github.com/openstack/oslo.serialization/
+ https://pypi.org/project/oslo.serialization/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index 1e6d2da13fbb..86ed9f42eecd 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,11 +1,4 @@
DIST pandas-2.2.3.tar.gz 4399213 BLAKE2B eca6d31b21f6385c606b3c6f8f4eedc5871719ad5e039e99c01cc16e335a493c2159d208c2d88b573b661adbeaf1172ea1296d13d51b60602966cbc344dc367b SHA512 9bbff5cf51d7fe5e53b207b3593ba92560dabb15294d6509c5be55e0c2a737fad156ca46e56a7e0bfba7d791edfbcbdf885d6f82e2e1a48b2d5e0fc0ef5e56f5
-DIST pandas-2.3.0.tar.gz 4484490 BLAKE2B 4fa8ad780e47bb9cfd6dfe3ea89d7c217d2d9bfce66b7cbf81e061309b60fb938b70ea98088c97f37c364abec261e68ec4d40f826265a3d7cb964160eac120b1 SHA512 f7c61b7ab30a67343c11a174209c88f24e6aef4224a0649a31be294e102dbe02fe38be4c5b3050d6c175c780d33da8c582491d7b6832eb212daa2c651bf691a3
-DIST pandas-2.3.1.tar.gz 4487493 BLAKE2B d20f7f7b16e02d70f7cef228a20d0b1a1e7a8f4f2376f723b96ea38ca0df6e4bb9943b7ecf5d9f1f614e76f0b4bf84cf94c9a8768a8c5c045595bc052b7763bc SHA512 8d87295b7150708dfcd0d313933aa8ab056cd62eb404a540d3e96df16a5f78921fe1a56fbee15af2d159990465cc1bd939520fa640365b3ac892704dba991aea
-DIST pandas-2.3.2.tar.gz 4488684 BLAKE2B d63a81eb06806ed80847322741f0e3e34c8a51af4794b0a18816ae2e10fd27c25b015da95f4a6c2cfb9767b9388025a3b5522817f9013b50c589d5ecf7ae7f64 SHA512 4cbc4db60e36f07e483322eb734d229ef67af042a8f8be5f2285b3607f1a1f122ecdd95884ea12b1850b5d98423e2d0895fa5c738df6b40ff1950fe6d4371708
DIST pandas-2.3.3.tar.gz 4495223 BLAKE2B c31604617900d439020dcdd66fcbca1cf3b720b6f4dd8ea51891946ad04774754cf7636a2ffb9fe746d15911a88153d36d4033b6a0207e9c7a1653a0f677570d SHA512 4179acb9fd9d1c5d543bb19b22483b4c2b17a36d5b10270a02ff4d8370b43c16a93673bf5509a5b1d1c960c0fde9238bbbf5b309c6745d2abf3d934535f3fd85
DIST pandas-3.0.0.tar.gz 4633005 BLAKE2B 7084d2098e2f95c339c7638333161285e3bc969d0ba68df485c316445ab572ab99f2f4abfac5e22fa117c3af7a45cc412f95822996b75cabb489cc3e1d25673b SHA512 da05f1dc83caeacc95f5d5c84fec1949eea9bc4acd4763a8204a83174c5f45a6555410cac16241a530a584565963c6f6f7ffa7718c31e93d61dc7a47d8fa6c1f
DIST pandas-3.0.0.tar.gz.provenance 9455 BLAKE2B 22caafd024bd01c8afc97b764ec19a71a4cdf4c2838d9853720ba801e280e5dbd587de2822805617b78bbf9d95c0b6eb81786a30e30aeb2224f9100855678e34 SHA512 b756eb102dc05afb1eed2ff22177dda0fdc0cc54db1ac45a3115748d7d7c09610d9332276bd448fcebb50a1e66242b2131b2e251b67bdedbad56e6b285728581
-DIST pandas-3.0.0rc1.tar.gz 4591349 BLAKE2B c724a6415d3769e23166e845a86554d4ec359b79c68a5714495def119dd3228a5b2c428757c7ea8e78e713623b222ef9ecec1908520f8cdc3080c595ecfcdf5a SHA512 e30ec13c82ad93f841c339d5c73d4574c37ee40adfea1d6bbe50c7281ad50715b772f90650a98c8f61c7445f2a055e715f2375d1e1ff694b90cffd14a3a0fd36
-DIST pandas-3.0.0rc1.tar.gz.provenance 9566 BLAKE2B c959e091ed7e67c746539a34da5f0991cc3a3e713834e9d017dc0790d827634063d0881e62767ff9abeb4450eba826e11967b0ccdc6c61933c3a4bc6929943f0 SHA512 b4720fd67511b5f3d5b1b5a5232a812d4d4785e8b7ec8cea69b19d46e31c6652ba174361571bf08a488a945f07c8c384d3e26ef3cccb7ddb7f8538e9e9460fd0
-DIST pandas-3.0.0rc2.tar.gz 4611940 BLAKE2B 274813d9616479e061290b63a2863711c413324e6aaf376129f5a63144829c51f4d7d6c49558f92501514dae0c2f4d0bd0f1b4f5572ddc1192871df29bc33f4a SHA512 7bd899bb1dc9bd2146e0d409912631ab962bebe4990d3e97a823adf669ac1c9fac4ccf4b2923aaafe461932302efe256aea77f28e0df8808651b415d27e22fa4
-DIST pandas-3.0.0rc2.tar.gz.provenance 9519 BLAKE2B e2b5396777786534b897550c9ec6834f2dbcfad5e9afb6f6d186b93f34cef6fb097ba34a67974a6acdd327de74b9cbf6e4a4fc6a582ada1bb031a62c9fda7a1f SHA512 68d1037ceb78f0ddc2cfa260c48903d3721af81ace37bceb566f390ac23a8396d5fa5d6f6b51ac6854c8bf09587afbd9f99105f5709ae622ffcfe4ba7c3732b1
diff --git a/dev-python/pandas/pandas-2.3.0.ebuild b/dev-python/pandas/pandas-2.3.0.ebuild
deleted file mode 100644
index ad50af5cd3d7..000000000000
--- a/dev-python/pandas/pandas-2.3.0.ebuild
+++ /dev/null
@@ -1,195 +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=meson-python
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi toolchain-funcs virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv ~x86"
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/pyqt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-libs/apache-arrow[brotli,parquet,snappy]
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/pandas-dev/pandas/pull/61331/commits/12b1d00622ffc8b99986da2f4478cc2df4da213a
- "${FILESDIR}/${P}-xarray-test.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # deprecation warning
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
-
- # requires -Werror
- tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
- tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
- tests/copy_view/test_array.py::test_dataframe_multiple_numpy_dtypes
-
- # probably pytz, doesn't happen on main (where zoneinfo is used)
- 'tests/arrays/test_array.py::test_array_inference[data7-expected7]'
- )
-
- if ! tc-has-64bit-time_t; then
- EPYTEST_DESELECT+=(
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
- )
- fi
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest pandas/tests \
- --no-strict-data-files -o xfail_strict=false \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml test_stata.dta || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy2
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pyqt5 dev-python/qtpy x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.3.1.ebuild b/dev-python/pandas/pandas-2.3.1.ebuild
deleted file mode 100644
index d27e1dfca19c..000000000000
--- a/dev-python/pandas/pandas-2.3.1.ebuild
+++ /dev/null
@@ -1,201 +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=meson-python
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi toolchain-funcs virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 arm64 ~riscv ~x86"
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/pyqt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-libs/apache-arrow[brotli,parquet,snappy]
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/pandas-dev/pandas/pull/61331/commits/12b1d00622ffc8b99986da2f4478cc2df4da213a
- # (partially applied to 2.3.1, sigh)
- "${FILESDIR}/${P}-xarray-test.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # Note; deselects relative to pandas/
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # deprecation warning
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
-
- # requires -Werror
- tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
- tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
- tests/copy_view/test_array.py::test_dataframe_multiple_numpy_dtypes
-
- # probably pytz, doesn't happen on main (where zoneinfo is used)
- 'tests/arrays/test_array.py::test_array_inference[data7-expected7]'
-
- # virtx?
- pandas/tests/test_downstream.py::test_seaborn
- )
-
- if ! tc-has-64bit-time_t; then
- EPYTEST_DESELECT+=(
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
- )
- fi
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # nonfatal from virtx
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- nonfatal epytest pandas/tests \
- --no-strict-data-files -o xfail_strict=false \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
- rm test_stata.dta || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy2
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pyqt5 dev-python/qtpy x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.3.2.ebuild b/dev-python/pandas/pandas-2.3.2.ebuild
deleted file mode 100644
index 7dda3809bb33..000000000000
--- a/dev-python/pandas/pandas-2.3.2.ebuild
+++ /dev/null
@@ -1,201 +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=meson-python
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi toolchain-funcs virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/pyqt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-libs/apache-arrow[brotli,parquet,snappy]
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/pandas-dev/pandas/pull/61331/commits/12b1d00622ffc8b99986da2f4478cc2df4da213a
- # (partially applied to 2.3.1, sigh)
- "${FILESDIR}/${PN}-2.3.1-xarray-test.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # Note; deselects relative to pandas/
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # deprecation warning
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
-
- # requires -Werror
- tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
- tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
- tests/copy_view/test_array.py::test_dataframe_multiple_numpy_dtypes
-
- # probably pytz, doesn't happen on main (where zoneinfo is used)
- 'tests/arrays/test_array.py::test_array_inference[data7-expected7]'
-
- # virtx?
- pandas/tests/test_downstream.py::test_seaborn
- )
-
- if ! tc-has-64bit-time_t; then
- EPYTEST_DESELECT+=(
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
- )
- fi
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # nonfatal from virtx
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- nonfatal epytest pandas/tests \
- --no-strict-data-files -o xfail_strict=false \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
- rm test_stata.dta || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy2
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pyqt5 dev-python/qtpy x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-3.0.0_rc1.ebuild b/dev-python/pandas/pandas-3.0.0_rc1.ebuild
deleted file mode 100644
index 982ec8503a85..000000000000
--- a/dev-python/pandas/pandas-3.0.0_rc1.ebuild
+++ /dev/null
@@ -1,200 +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=meson-python
-PYPI_VERIFY_REPO=https://github.com/pandas-dev/pandas
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi toolchain-funcs virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-fi
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.14.2[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/pyqt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-libs/apache-arrow[brotli,parquet,snappy]
- >=dev-python/beautifulsoup4-4.14.2[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # Note; deselects relative to pandas/
- local EPYTEST_DESELECT=(
- # missing data not covered by --no-strict-data-files?
- # https://github.com/pandas-dev/pandas/issues/63437
- tests/io/test_common.py::test_read_csv_chained_url_no_error
-
- # require -Werror
- # https://github.com/pandas-dev/pandas/pull/63436
- tests/config/test_config.py::TestConfig::test_case_insensitive
-
- # deprecation warning
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
- )
-
- if ! tc-has-64bit-time_t; then
- EPYTEST_DESELECT+=(
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
- )
- fi
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- case ${EPYTHON} in
- python3.14)
- EPYTEST_DESELECT+=(
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-numexpr-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-numexpr-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-python-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-python-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-numexpr-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-numexpr-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-python-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-python-pandas-not in]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-pandas]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[python-pandas]'
- )
- ;;
- esac
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # nonfatal from virtx
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- nonfatal epytest pandas/tests \
- --no-strict-data-files -o xfail_strict=false \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy2
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pyqt5 dev-python/qtpy x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-3.0.0_rc2.ebuild b/dev-python/pandas/pandas-3.0.0_rc2.ebuild
deleted file mode 100644
index d164de0ae2e6..000000000000
--- a/dev-python/pandas/pandas-3.0.0_rc2.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYPI_VERIFY_REPO=https://github.com/pandas-dev/pandas
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi toolchain-funcs virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-fi
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.14.2[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/pyqt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/qtpy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-2.0.0:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-libs/apache-arrow[brotli,parquet,snappy]
- >=dev-python/beautifulsoup4-4.14.2[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # Note; deselects relative to pandas/
- local EPYTEST_DESELECT=(
- # missing data not covered by --no-strict-data-files?
- # https://github.com/pandas-dev/pandas/issues/63437
- tests/io/test_common.py::test_read_csv_chained_url_no_error
-
- # require -Werror
- # https://github.com/pandas-dev/pandas/pull/63436
- tests/config/test_config.py::TestConfig::test_case_insensitive
-
- # deprecation warning
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
- )
-
- if ! tc-has-64bit-time_t; then
- EPYTEST_DESELECT+=(
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
- )
- fi
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- case ${EPYTHON} in
- python3.14)
- EPYTEST_DESELECT+=(
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-numexpr-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-numexpr-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-python-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_simple_cmp_ops[float-float-python-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-numexpr-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-numexpr-pandas-not in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-python-pandas-in]'
- 'tests/computation/test_eval.py::TestEval::test_compound_invert_op[float-float-python-pandas-not in]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-pandas]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[python-pandas]'
- )
- ;;
- esac
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # nonfatal from virtx
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- nonfatal epytest pandas/tests \
- --no-strict-data-files -o xfail_strict=false \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy2
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pyqt5 dev-python/qtpy x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index e64f35d8cd65..63a259b4cc26 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,5 +1,5 @@
-DIST pypdf-6.4.2.gh.tar.gz 8295275 BLAKE2B 745936795cabbdd7f561743fb7a0e6b497a683fe23f32560336e82c3f5866a289ffd771e60f73d1782f73f5019191375704f0bc66617eb24cec860ab2613af8d SHA512 985f5a41bf2ab9ea9930dcd6a8f203596d1b50518f63ee815e0e6e74e050afd9a124b380fd8066c7f0b134886a645e165598d7764e3a40c3670df7e8de5c1995
DIST pypdf-6.5.0.gh.tar.gz 8301408 BLAKE2B 9df78a6d9cd8da07d55649ad92491a97d9fc02ea5329b8d6697a05f27a3c0dd1225271dfc4fda7cee6f6c571e328559cd42ead3535904f69c7517a90aa4dceb9 SHA512 09b098660affaaab94c2b7c3aec25538c639c1b15190aee01fa6d9e5882ad75299d53629bd4566bc7c667bfbad8cc8dc05a389598f29dd777121ea9eb10bea40
DIST pypdf-6.6.2.gh.tar.gz 8364619 BLAKE2B 8aed0d554c764ab5626a86fa4d6513e9a0c0fed26843d2f84ca1c613a67284660b6607d1a12678a41f3086dc1624770b558134f765b49268d28d9ce25ac2732d SHA512 310261c47f9d1dfcbbdb95138d76b90ceb202573e148edbb3a30cf74f1e20f0afd831131d3dcbd39e918ac44507a32cd50465f44e8aff5780ed66ed611bd6c22
DIST pypdf-6.7.0.gh.tar.gz 8383964 BLAKE2B a01ca5d9fb391cd1b0b770a02e3bf3e4354f779a40219a71c47d606ba5f32e29fb595d9745ee103665fca6cc7ff6233d3adb2b16fb096c2007622c3de4148732 SHA512 d0e514a5a3ea1b8798a7d53b5df8851747b858d46e454ffa37257b782c83ff6fef92959bd72f98889b870eecb7f4e47bd5353fb2b6b253aeff9feb6b80e49070
+DIST pypdf-6.7.1.gh.tar.gz 8383738 BLAKE2B 6d6fcc887a415cbde840d24e6783b1316b3d7fcad82c3741dfe74b66fed9559329cf55f7577347a29d52163585474554e1768a39da6762d1ce02abbb06049980 SHA512 57fc21625809971a1cb4b7ee40d7b612a0698eb91cb8e8e80fa50f1c3eece46374ed3d74bab2766e9dce69cf50149b822dbb16a020c755c570b52d0f115f1c84
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-6.4.2.ebuild b/dev-python/pypdf/pypdf-6.7.1.ebuild
index 2bd3de61de48..6a4b0c6b2c64 100644
--- a/dev-python/pypdf/pypdf-6.4.2.ebuild
+++ b/dev-python/pypdf/pypdf-6.7.1.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
BDEPEND="
test? (
diff --git a/dev-python/pytest-env/Manifest b/dev-python/pytest-env/Manifest
index e96c1460a0f2..67449ecdc6dd 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1,3 +1,5 @@
DIST pytest_env-1.2.0.tar.gz 8973 BLAKE2B d7ce810c44090d6b45e045ec765d9d560b5f257f0cb020d61875744331dd3a798cbe13fca2bb126beebfb765c0bd76019f2b09d6cb7e1ee34bfd4ea8ff65d94d SHA512 b7848196b2417871c976aed54751f5dc46c59e5a0bebe2d5c3d2801e80aa95b06eb5e9a90afba2bdddbc831fc1612cdc9a7fe74b32710035a37949701dd2d316
DIST pytest_env-1.3.2.tar.gz 12009 BLAKE2B 942a34fc9ca86ec6aaa5ec3716bfe6f4f93c9d80681d92da8163f827d1f443b785c3b64291523c8763cb174a8696e5bc106b984fbb1f109d1aad61d9a9f777c6 SHA512 c2c9937bb6171b41534fae199e61b1be1e4952e737bf831aac1e481104d04ddda6c5e50e14bb6682c9f60ff6f727f660c5cd0ac96a467cafebbf445ef3f78a5b
DIST pytest_env-1.3.2.tar.gz.provenance 9278 BLAKE2B 939265bafde103b1b9d3a959a46c8d4daf2b4ad068374303de5c9de12fbced5b670a30a08e2ae6d5625909a07708034aaf34ea4484cec72719a1c11df25fa264 SHA512 7d2f1541090a4f47c4b48d591a24b647612088118bc9beacc2768673bd93c4ee86b229f4c12748f7b2cdf5f39d0d61b575efa80b3510f20287f1c80ec3659878
+DIST pytest_env-1.5.0.tar.gz 15271 BLAKE2B 7f51bf0692001694e84cc7a1362afc19a9efe97e2097e3db5707e75874e8da48749ed57775d48dd5d9813639d5b458b0f4455e1b93c198ef2d58ccda451cc153 SHA512 d01fa03103d1e3b4485f43643d7352ebd568a2cf6edf09054b8358d4cda10000f1cab5d9d70cdc11e7bd751764c46a3c0bc23fb7ef89bc0947c5e78b59efab78
+DIST pytest_env-1.5.0.tar.gz.provenance 9521 BLAKE2B a9e47fcacde2971219552cbdcc162965c92a6c3fbb8f66cd92016f4d56857c34124f0a7f27103c94206cde14dddb751fd14549b5197fd0d66671bfd8004a3fcd SHA512 8df34d11ee0cba32de21e947f8033d1fd11b6bd68de82972d24a1def2425cd8fc68571a97988c76e19910613f8945c289fc77efb29a75c3f65f363556940c106
diff --git a/dev-python/pytest-env/pytest-env-1.5.0.ebuild b/dev-python/pytest-env/pytest-env-1.5.0.ebuild
new file mode 100644
index 000000000000..140bc12df856
--- /dev/null
+++ b/dev-python/pytest-env/pytest-env-1.5.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-env
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin that allows you to add environment variables"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-env/
+ https://pypi.org/project/pytest-env/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/python-dotenv-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-9.0.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index 82c0f377c0b5..1a58eb45a768 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,2 +1,3 @@
DIST python_openstackclient-8.2.0.tar.gz 930209 BLAKE2B 4b5230b6dd369c9566baf47c764e5c7a96eec3a8c8201927457aad5f6b8b2e2b423210d8f31bb6e5dbca7ad29bedab0b1d33f5c880f6bf02bc70f87b9b12d504 SHA512 6710249f5b573a1f0026b67ab940f124657e20c829c651337e188410176ce7bd56413c7780e9a6207c00b385eb94b680d760c0e15f834c5bbb92782e793cdda5
DIST python_openstackclient-8.3.0.tar.gz 941302 BLAKE2B 75fc3cadddba36fc87f81bddc7db1a1993bf493b3ca44be17d5ca7df33229938954eb7ab2d2d729b507c7e3abaa6bc55b27a459e1ba533c5658cb2e8aa70b9f3 SHA512 a1ba91297ff417b414d40d7c302bd8334c886bda07688898d0a455cdc70a0ba495189eb7e842c3a4bca1d54f8071c90489804e0e83fddd2e9beee6d17da39ae0
+DIST python_openstackclient-9.0.0.tar.gz 944832 BLAKE2B eed30eee035450268eb8be6fa8e6bf5f2513cb5a36fabcac3f6389e4325739d80d30fc4b1ac61b91d0fa74c6a416a5fa3bee6e303cf28599ba2ef38058365233 SHA512 a42c2f5af76c9403982eef8b1711779155e18819c4028a80f27c60ec2bac862be060d60909eb1a0f4d069f23edc8c7163e4b61a29daddcf3060763192be490d5
diff --git a/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild
new file mode 100644
index 000000000000..2c3a16a9d45f
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-9.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-4.13.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
index 3e829ec4b9cd..3391ab461a44 100644
--- a/dev-python/testtools/Manifest
+++ b/dev-python/testtools/Manifest
@@ -1,3 +1,3 @@
DIST testtools-2.7.2.tar.gz 201430 BLAKE2B d827d8e66c85908f4d16aa0762c3b0a454d374a0d23323fc3c123027f55f0e85f4fea9a24b5d1d0279266af2185f08abbcbbdcb785014b237df45a6448587611 SHA512 5815519d2b72d6b1e9f453c02793c70eb7d3b6580a211fb3708cd6121aed3c6100ceb1e35321f481a63b1f999ede030e43f1ae91d3621faf461c1908db767551
-DIST testtools-2.8.0.tar.gz 201854 BLAKE2B 1ab2643e5ec7c9b56c01227a6fd8d8626cb8b8440c3353cf1a04af91476b139b0cf50895bcca177e6798b167414833fd59a5cede4e89698ea1f6c563ecce7b22 SHA512 409f67de2e307eca3fe266822bd6fa0b98dcccc8dcfc26a9e696f345a8f3339b6b4463a738f28fe9505e11585722d8d1d7a3aa2319727679adb172e4d105938e
DIST testtools-2.8.2.tar.gz 206889 BLAKE2B 4c25e88d5602c00ab9079d5ef504648cf7f59ae63d8844d5bdbac2b215db64234925ee9ce89532ca71d681031fa4d656e1c60413f731aa135791b43edbbd6015 SHA512 2880b5e8c92e59e3d9cad7b6b64781763a549abf74672a46f0b3a33300793d91ea8453fc364d497ae7492095385309e6b150a712fea4529324cf4673b6e60aa7
+DIST testtools-2.8.3.tar.gz 215317 BLAKE2B b3247497a492ab2c89e90dd30e2154797bed9a48b43f12a4b28bdd76cf8ee07d38f877f5e3407adc24c9f83473a873a2099aaf450f25fcaf734b0af88e3841fe SHA512 3f91f638d04e7e0d2c5a5723a8ed19e49aaefc7c31cb9db789d97dbc8ff8fdfdc6f924a02c412730451aaae78f7eb1e3ccb80acd9ad87048c9b8fea24b6a3e58
diff --git a/dev-python/testtools/testtools-2.8.0.ebuild b/dev-python/testtools/testtools-2.8.3.ebuild
index 208b128b1a41..6b7d74be0868 100644
--- a/dev-python/testtools/testtools-2.8.0.ebuild
+++ b/dev-python/testtools/testtools-2.8.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,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"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -34,11 +34,10 @@ BDEPEND="
distutils_enable_sphinx doc
python_test() {
- cp testtools/tests/__init__.py test_suite.py || die
if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
- sed -i -e '/twistedsupport/d' test_suite.py || die
+ sed -i -e '/twistedsupport/d' tests/test_suite.py || die
fi
- "${EPYTHON}" -m testtools.run test_suite.test_suite ||
+ "${EPYTHON}" -m testtools.run tests.test_suite ||
die "tests failed under ${EPYTHON}"
}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index b08c2e763c08..1e0d31aa296f 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -12,3 +12,5 @@ DIST tox-4.36.0.tar.gz 210043 BLAKE2B f9ae83438f050577b7d7a3084d1e0bb7138b6cb3cc
DIST tox-4.36.0.tar.gz.provenance 9099 BLAKE2B 630575fcc9bec7c8ac5951a980e31b2abf5318563b815d0b60e117995ad9be6ebec36b23b984d09f4da66e02de8c0d86822b82eca2b86e0635165825f60cad47 SHA512 2169d6158fa405209c74c96805f04b3e6b1b917dfff6c6fc460707a9f91edf2b51a0b12ebc0fb46586b7532bbafbf0dcd5e16f21bc26bbf4ddebbd22bf195a0c
DIST tox-4.36.1.tar.gz 212677 BLAKE2B adc9ca41d00d73fb1a45f85934ab6619fff90b33a7b89db742be499b410bd6c78c3231ec8379bb36242f16bbe8ae0994ad16c6bf91f1ceb70aac8efb462731ff SHA512 66f3949b528fa1479db438a2a9c8eb71e088cad35a8c42c9b22d445a07aea3fea98a87179f7fc4b8c5e294d3a7eded4d2c9ea541f2afe7246bbc62af57145e8a
DIST tox-4.36.1.tar.gz.provenance 9381 BLAKE2B 7d802ac1866abb6383b797fe9845562edaa2a5d806b272d4b53221d819f02661d61697698bc72f355082a28b2ede860004c77bd7a07e8d09163e2e2d5e9da24c SHA512 19810bdeba1feb52d4573c5e3fed6b20e1fbc9c2e05c5a191cb2a192096bd096cbeb133b2e888fa89c1fe7bb156179b13a3a679ea418878315ccf259f8b73db8
+DIST tox-4.38.0.tar.gz 215498 BLAKE2B d7fa0df218c205bf90d213fab3de5c729750db4ef89f2fc41754e66e0114bc2dae4ef775a4071f49218a5ea97f66510b9f86b69b88e353dab00eed2ca523e363 SHA512 1a16cf4ba44e59cd433a62405dbdccffad06ccdff8ed417344aad26ff1c35095f596ff008be4ac7c4ef94ae90e01e4454fe018417c6dac9f23516a1314128260
+DIST tox-4.38.0.tar.gz.provenance 9232 BLAKE2B 49593ac7877b6feee78ec58944f19c622a56a431266d8101d7dc2fd779626f4f1a5e204a2acf4a413207b6c930dbc2ab9dd5cbea9adb07e37480e7a0e1e040db SHA512 9e03320bd129dada7771f8cf8a8a5e51afd9c2a893d70607ccd8fe07e003cff603b775029fad209558e8dfce22b002a87353253cb331f7c098ab761fbb58621e
diff --git a/dev-python/tox/tox-4.38.0.ebuild b/dev-python/tox/tox-4.38.0.ebuild
new file mode 100644
index 000000000000..42367ebe26f8
--- /dev/null
+++ b/dev-python/tox/tox-4.38.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/tox-dev/tox
+PYTHON_COMPAT=( python3_{10..14} )
+
+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}]
+ 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/psutil[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{mock,rerunfailures,timeout,xdist} )
+# xdist seems to mess up state between successive implementation runs
+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
+ tests/tox_env/python/virtual_env/package/test_package_pyproject.py::test_pyproject_installpkg_pep517_envs
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ python*)
+ local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" time-machine )
+ ;;
+ 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]'
+ )
+ ;;
+ esac
+
+ epytest -o addopts=
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index 73ee917bdcd8..e233aa36d331 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1,3 +1,4 @@
DIST translate-3.17.5.gh.tar.gz 1244591 BLAKE2B c8e6cc72e5ff5c324da69d58ed0bd6a6c72257b902797b8673eda49b8cc80061aee898fdafa23a604c6527a9c4d1e3889813d50d876566c408a3e5dde467882f SHA512 eb44c62b73fafaf2844fc75705d2bb48f39d636cb3e30f5b4d770d576326ec59c7186ab3a24e80136fd96bd294eaa59e621f46cf539cf710f0ec7bd676bc9b11
DIST translate-3.18.0.gh.tar.gz 1263818 BLAKE2B 2c31240428dfcd3af50c9325a22edeed8e14751787dc52497c64d309a77214c18313813432ed68e4a09b6da1c386beca2676bf544f24255c3bb7ad7e0ecd4e8e SHA512 5f8f5bcd4172d46974f312de89360ce3be2d434c3498c28e60c26d6e77ee6c6c7d610fd0c0d4ac7267e3a224db07908a18d53c79025f660148acd532410412f5
DIST translate-3.18.1.gh.tar.gz 1266842 BLAKE2B ee27941987046ee1ac545c360d1d87f68e275dca7c9a5b364f35bf130add441e8c5ac515df0cebedcbdb4a7922913455fe5556c537508cc79410542fd6288588 SHA512 aa006d8a0da390367667e9c1e9583bcd490e21a6d63b6beebe9513ea6c0f404646b306ac28ac6eea1f75929c411e1ab3faa21182c748f9e505c025c57836dcb9
+DIST translate-3.19.1.gh.tar.gz 1269545 BLAKE2B 276fe81b651269caa3a2f4f5924dd1e9df80e5e59f5048d5de983bcac3d9e3a00db4b3dc08c352d809fa0d40cf27c012d02519247a9e9c30986c4c61692ca9ee SHA512 fe5e45da1fc05b67dc64ac690072cf7e00603be165995558c1aaa1121f365dc507c73f06407e24bb07e78b9ed645e728b5b9b30e4b5cf8b5d7a692d3dcef737b
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.1.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.1.ebuild
new file mode 100644
index 000000000000..74f9adb4cf7c
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.19.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip unnecessary pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+}
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ tests/translate/convert/test_fluent2po.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index c9a7046cfb81..0f3a8f925f3a 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -1,6 +1,7 @@
DIST uv_build-0.10.0.tar.gz 361570 BLAKE2B e94909f789b4f09b407b2441261c60235d9e4572c3cf71e9947fb285fea1240be90faa9edf0a8a6fc9b0992103a0c99c7edcf32d969267482f63a354a2f00b94 SHA512 c053b31df98966b1e2d327d912d610f7844fe98565ab0f396cf87c3f9cfcafcad142fc6999d23afa7a5819a69995195d9ed65f76d6179a890c842db6e8e2aebb
DIST uv_build-0.10.2.tar.gz 361619 BLAKE2B 846ebd454b8f9ec126bb25671c39e75b6f22b0ec60ccc7cd0775ef84df0ed8ba9cad94d343538def6c5ebfa142df60bc502ee732017f0d5abbd53392747d9c6c SHA512 fee7ddb7eedc2490eed4240120b6541b6d4b247dd428e8e6844895880d4ed8310dc90a5a0805ee77a5ea179b753212719cf9e2be9baad19c5661e7df50d84f34
DIST uv_build-0.10.3.tar.gz 362506 BLAKE2B 36e938850caef030cc3492c89a30c15ce7a8374b3c02baa1718e24d51441a63e0e30c0af936bb58e0772128e66f7b35d9626b61fa471313913e6920ac006573e SHA512 b49b5089b34d18851264f4f0645021828a7b5a8a46b393d4a67e9f99d508aa12f24d9fcb7c821d585a5dfea8c2a4fb1980853df64cb63fc07cde63eb9a27440f
+DIST uv_build-0.10.4.tar.gz 362535 BLAKE2B 2c392629b8e8ff6e81bb04fe182453c97b88320746ba813c40b742b9356be9b0ab9becd9f0d365d4d87b798aeb8fc21e16584270d56f63a52e31530ff5f601ab SHA512 f7d6ff75d8f5e457ade32943aa4eb80d393299d83324608df8822b5f1fb232b66a1fe2e1c218b1e8165d13c37937f3b56d9e3fc97a325b8989d73a11ae30a7b9
DIST uv_build-0.9.15.tar.gz 354021 BLAKE2B a47350ead8d9672d09967bbd7f9ac2f8e231e1dd5afb8c20e59926429792d3872feb1f8e4d7a9318ec447a99ce8add0503dfba0be2b970b2f192f954b472f1a7 SHA512 11fa1ebb1cfc184bd5bedf5e11fb28f14abf118183d94cbe0ac9a1b83f150a69836f0547a671e8cf16527d84ec61dd5b2983efafe5aeccd86e94cda79e1de664
DIST uv_build-0.9.21.tar.gz 357539 BLAKE2B 721e12e0260301d3234f3fbc76d5944c9b15e14b345876d3f231314f64f15c5e6c37c8c7155e24605c928dbe52b12b3b02cd2f0a1373b8d93b017f2c122ddf19 SHA512 1e2885f978fa45e1481a72a35d5734ef80d3ab7da0213fc41cad8c4e49756bf0b172cea570d25a6b0461c6dd13fead8a8fae356b11ec758f8bd7b915faa322c4
DIST uv_build-0.9.25.tar.gz 359005 BLAKE2B b0c8307919092aa0abbca7da379efd315f54c4d70c066633a3524fb1a78fcff0831e071086050b240536a123d965706337f09c716814e5655c9051cd4d879a19 SHA512 601eea260c615b6102c0e6a766d7c5fd0585c72005fb813a22cdc3f568c2f57042f72d3d16822f1c1773e1f9e8580d1f77b1e73b940a026c0a8e8783ef817f7b
diff --git a/dev-python/uv-build/uv-build-0.10.4.ebuild b/dev-python/uv-build/uv-build-0.10.4.ebuild
new file mode 100644
index 000000000000..639745396c25
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.10.4.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 95a36339dfe4..0cca3fb76b7e 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -4,6 +4,8 @@ DIST uv-0.10.2-crates.tar.xz 40488272 BLAKE2B 7b60ce55ac335b4f22c14e4029451e5931
DIST uv-0.10.2.gh.tar.gz 4927786 BLAKE2B bdbc9014a9362121205f12046eea0999838c9a72bf6d3cb347c51c13f92cb7b5b4524b4abcc81caac297645f2863e577981b033a4ee6a29166cd818aec06a6ad SHA512 7592217ce76cd0a418a4979df045890e215c5bcff53d18e34924e0d57ec388fc8ce56b3fdc7ee473f131de5d04a4349b1dbb9d5a585493a0cd9a22dfd51e9cfc
DIST uv-0.10.3-crates.tar.xz 40664424 BLAKE2B 78f8834b7f78b74448d77dbb9e12f31c472561e8104fee73fdd70b449818b2deaa6e6600ffec1e65b533fa1b39c3703f43a71996e90036b4e045c1ec786184f0 SHA512 e79f416a6afc01cafca081e34759ee3f873239f321a17147b1ee1badbb22289feea29d003da79ca2274ef151f4f42947be4675182be4912a9590ee7f84a9165d
DIST uv-0.10.3.gh.tar.gz 4944734 BLAKE2B f2b65afbcdb88ec7d77b22ac44123aca4a2e6424d69abbd290d9b51a6470f954938e8cd9f5bb65fba2b3a5ee4383692fab3a15dd020529935021a547e3fed11d SHA512 a8f41a5fc74b30f8e0dd7bd24786148a35230f14237872211e56539f3892b02b59a0e06ad6400fa000b13c659b6286065294337c73749f6c51aca17f22ed5d69
+DIST uv-0.10.4-crates.tar.xz 40639148 BLAKE2B 3cd5b71f5e276b0df754d452014e068eefbc90ad15888e130de0678f7e423ec2c28fea97d4ae896e0b6104ba3fe67a62ad5e968fab1fb5064b618df00aafde18 SHA512 c7cbfd337f382b759de159c7dd1b28419228ad18d3da1fcbf16e23eaaec0dd02cf68f16d6ed834b1046700702d22b4a1448de20440889078f5aab4750fce921a
+DIST uv-0.10.4.gh.tar.gz 4944819 BLAKE2B 2b450f9822454118d18720449cfa0ad07279bf35077e61cc7212fe14a919468c35c7ce50c6d458049536b25b3e80fbd5d710c74c8fad45a99db58152acaf3d8c SHA512 0ca01e6d42ac1e773b0366b9ffa44806ec4c19a920f9c33c9d6cc12dbc60d7564b8667bce85628db1e571b7c478bec3946c48875a42f45f77da6be78f2de5f37
DIST uv-0.9.15-crates.tar.xz 46539408 BLAKE2B 57e582f56e12858292d1dfaec10292eb58fb118051618875eab0d2dcd4f55aa89de6f788b3aa5013ce5e03068bb404ef04faae633d5c208f382366ac5ddf70df SHA512 4db7549d6902682db7af385e5099e74bbd82e54aaf45a44fe64416fda91e065f4bf978b9db55ab72f2872f9e8933b49020102b959c1d2bcef4b9a9877ac1e789
DIST uv-0.9.15.gh.tar.gz 4887603 BLAKE2B 422a3c004abdf052438b145400675010b1adfc8cb8d49979367544e2d381389594188276fe603ffa983f5926be624f5d863053bd79342eeee10caf1260b2a479 SHA512 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381
DIST uv-0.9.21-crates.tar.xz 48642776 BLAKE2B 4ce225a3639d02ea05014c2132a7fd8baf53f3bd0bf3cafc6ebde144f2cea982426835f91bcb587e8dba122afe381c5a0ffa654667d4677f0b0b18b4b63a2f2e SHA512 db391109602bf1afbe868740ee977e76f92911136f61a9db8918ca89bcabdad02b75f1892cef200a370ea91829e177fd6c775aff9522f72fb90f2fc9d3acb22a
diff --git a/dev-python/uv/uv-0.10.4.ebuild b/dev-python/uv/uv-0.10.4.ebuild
new file mode 100644
index 000000000000..73993f9a17fd
--- /dev/null
+++ b/dev-python/uv/uv-0.10.4.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.91.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
+ ZLIB BZIP2
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+
+ # uv is now forcing bundled liblzma, sigh
+ sed -i -e '/xz/s:"static"::' Cargo.toml || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}