summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-31 20:17:18 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-31 20:17:18 +0000
commitf88d1072d6392a5f1578e975c131995517475a40 (patch)
treef782469ad45141b3d357ca6fb75d187315256afe /dev-python
parentea96ffabd1ec563b10a4f21542178662d32938de (diff)
downloadbaldeagleos-repo-f88d1072d6392a5f1578e975c131995517475a40.tar.gz
baldeagleos-repo-f88d1072d6392a5f1578e975c131995517475a40.tar.xz
baldeagleos-repo-f88d1072d6392a5f1578e975c131995517475a40.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/apprise/Manifest1
-rw-r--r--dev-python/apprise/apprise-1.9.3.ebuild38
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-3.3.0.ebuild24
-rw-r--r--dev-python/coverage/Manifest1
-rw-r--r--dev-python/coverage/coverage-7.8.0.ebuild114
-rw-r--r--dev-python/ewmh/ewmh-0.1.6.ebuild5
-rw-r--r--dev-python/fsspec/Manifest1
-rw-r--r--dev-python/fsspec/fsspec-2025.3.1.ebuild62
-rw-r--r--dev-python/kombu/Manifest2
-rw-r--r--dev-python/kombu/kombu-5.5.2.ebuild (renamed from dev-python/kombu/kombu-5.5.0.ebuild)2
-rw-r--r--dev-python/logfury/logfury-1.0.1-r1.ebuild2
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.6.10.ebuild71
-rw-r--r--dev-python/moto/Manifest1
-rw-r--r--dev-python/moto/moto-5.1.2.ebuild115
-rw-r--r--dev-python/parallax/parallax-1.0.8.ebuild3
-rw-r--r--dev-python/pdoc3/Manifest1
-rw-r--r--dev-python/pdoc3/pdoc3-0.11.6.ebuild38
-rw-r--r--dev-python/py-zabbix/py-zabbix-1.1.7-r1.ebuild (renamed from dev-python/py-zabbix/py-zabbix-1.1.7.ebuild)3
-rw-r--r--dev-python/pyflakes/Manifest1
-rw-r--r--dev-python/pyflakes/pyflakes-3.3.1.ebuild47
-rw-r--r--dev-python/pyopengl/Manifest1
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild71
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.8.ebuild4
-rw-r--r--dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6-r1.ebuild (renamed from dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild)3
-rw-r--r--dev-python/pytest-check/Manifest1
-rw-r--r--dev-python/pytest-check/pytest-check-2.5.2.ebuild28
-rw-r--r--dev-python/pytest-testinfra/Manifest1
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-10.2.2.ebuild55
-rw-r--r--dev-python/rich/Manifest1
-rw-r--r--dev-python/rich/rich-14.0.0.ebuild74
-rw-r--r--dev-python/tifffile/Manifest2
-rw-r--r--dev-python/tifffile/tifffile-2025.3.30.ebuild (renamed from dev-python/tifffile/tifffile-2025.2.18.ebuild)0
-rw-r--r--dev-python/url-normalize/Manifest1
-rw-r--r--dev-python/url-normalize/url-normalize-2.2.0.ebuild34
-rw-r--r--dev-python/uv/Manifest1
-rw-r--r--dev-python/uv/uv-0.6.11.ebuild170
-rw-r--r--dev-python/xarray/Manifest1
-rw-r--r--dev-python/xarray/xarray-2025.3.1.ebuild118
-rw-r--r--dev-python/zstd/Manifest2
-rw-r--r--dev-python/zstd/metadata.xml13
-rw-r--r--dev-python/zstd/zstd-1.5.6.1.ebuild33
-rw-r--r--dev-python/zstd/zstd-1.5.6.4.ebuild33
44 files changed, 1017 insertions, 164 deletions
diff --git a/dev-python/apprise/Manifest b/dev-python/apprise/Manifest
index 4cc834105a0d..35ff7fbf0bd4 100644
--- a/dev-python/apprise/Manifest
+++ b/dev-python/apprise/Manifest
@@ -1 +1,2 @@
DIST apprise-1.9.2.tar.gz 1779362 BLAKE2B 903cd3fdabb4c00348687de447adcc30dfcb8cfee797e9a661b6278ea249b5c03baba701a0716d5d9efca5e77ed3b4ff05a7aa136ec54d2ebfb7a8ef47ba76c6 SHA512 57316bcce6de3ce6dbe19eee6a8bebfa8a3e10066054c47f3225c4fed397762c749939b29d2eb86460698662d125f97898551004d1e02886b31a0c46d41e7875
+DIST apprise-1.9.3.tar.gz 1795515 BLAKE2B 50b6d6b5b9d53a9caf4bf0b4408c0f6c3755527baacca300fd21c090ed65e1407975e5ed468b1d9a6e1ed6e0853ad4014aef2843c89dcc0f2ee9529401ec3b7d SHA512 9b75db6f9926a8e19f75662737df1a8848b26db0c84ecc9e816838fd25f6e7ea291462ff201b36f4f33536d83fd821910be762988a573d503f137f76b1bae9c2
diff --git a/dev-python/apprise/apprise-1.9.3.ebuild b/dev-python/apprise/apprise-1.9.3.ebuild
new file mode 100644
index 000000000000..ae6cfe70e161
--- /dev/null
+++ b/dev-python/apprise/apprise-1.9.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Push Notifications that work with just about every platform"
+HOMEPAGE="
+ https://pypi.org/project/apprise/
+ https://github.com/caronc/apprise/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
+IUSE="+dbus mqtt"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-oauthlib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
+ mqtt? ( dev-python/paho-mqtt[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/babel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index 48e00f3e2554..f20f1c97b391 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,3 +1,4 @@
DIST bitarray-3.0.0.tar.gz 126627 BLAKE2B c00d45f2ac165c8bd801932cadf2437b1665f7acf2aea821f976c9550a188443d43b6ace08d3af8db2c27331dd090e51174f96b92aa8ebcf3eb5210d52b5d336 SHA512 36ff7305e66bb766888de7598d6596315caeb34acfb6dcc56130b9ddefea15b31e90eabb8b65ce676bbec08c38e8cd39784edfa8b50f53c3f7a6b7f23795fa85
DIST bitarray-3.1.1.tar.gz 135976 BLAKE2B b27949162c185e2b5631bd4758d6b7c070cc9ffcf9aa22dd343c29eb9e40b97e591f957b7e4882aadd805d84b7ac7c08ffa020431869aa180b2d6f6414abc1bc SHA512 dc34dff5c10c8eb5b0693a680a999c9ecd9d7ea0680404a6f97094fc450c96f5c4a16c49e4c5f4a5fea54ba46b6a49794d0a48c6ab7b0422f1a9b356d71c514c
DIST bitarray-3.2.0.tar.gz 137064 BLAKE2B bb84759f4cfc35879645ebb4384194e9b14ff0b25fff5eaf4fc2d828d250f97a0417eee72e4eddf98d9a4761e8de421ec663e4e05f879d606ed5c6aea602e73b SHA512 cacaf04800309f7eda59f02473afb6497cd49c245cc01b1e472f6e9917e36332c05bc123b152c289fb3a7adeaa9b308190b1e183f749d8711bc91c47ea7c6e02
+DIST bitarray-3.3.0.tar.gz 138729 BLAKE2B b32e0d8c2a174a5c60fc89df2475060d5725480af6fcacc78bd621363775f80d0eca9ac92ca88092080816baad120d66ff915f47d2126774327742ac5b105c24 SHA512 cd357239ea6eca83604160499a93ab7b3215c20a7e5a944b63bb4570dd4c76dca713bab9b24c7c05eb4597069c44d1aa1529fd8dfcad1992a7950eb61de38ded
diff --git a/dev-python/bitarray/bitarray-3.3.0.ebuild b/dev-python/bitarray/bitarray-3.3.0.ebuild
new file mode 100644
index 000000000000..aea47d8e463c
--- /dev/null
+++ b/dev-python/bitarray/bitarray-3.3.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index a8dd8a9d3cc2..b0bbefdec3c6 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -3,3 +3,4 @@ DIST coverage-7.6.11.tar.gz 805460 BLAKE2B f035dfb27242926727875a806acd6725720d8
DIST coverage-7.6.12.tar.gz 805941 BLAKE2B bebcd2f29706445ac73ca1e1ba7a80b88eb7b71ee0f475ea6fe4d7e2bd535b709af6cc5e1dda9734e9487cdcf8d3b6f24c96eb2e7161a9d8356afe733b162339 SHA512 6f5f089938b0d107796ec7f5eb62047533bb45377612845cc044f44ceb10285252783d5ad1aefde698374d8330c012ff59007d21b00e4cee79c268fac70f6a71
DIST coverage-7.7.0.tar.gz 809969 BLAKE2B fd55156b50d44c4ff4304cc0b14a634cb74a170d7558c33479618f4d402c5d0cbf3fe1c37f5f25062a02ac32c07d26ff7c821acba8cbb44f398c10d777739988 SHA512 5025d1305d0d4ff6cfc9d7494c5c027c26645a94f572d99026a24d497d8c9f43ad9df230f864fc92e88ebb0f95b0a377206cbbb15548dd7da5a1c4ddb4d77d63
DIST coverage-7.7.1.tar.gz 810332 BLAKE2B 859efa6da1451fdfbae5c190b6254d3ba9e4aa8d45e668fc223d752930a02d97071d0f0cef61c86eb7bc933c5f57c81600ddb2c7f648d171a46b46eb2af73177 SHA512 857dad56eaf4930b4e1e881d9c5f195669f2cd21b802d8dae117531b8eb7db328361c6797c4ad5d85eeb9358a6db183eeba20ea34d627bf7b082a21c0ca2120f
+DIST coverage-7.8.0.tar.gz 811872 BLAKE2B e2054d58c31fb772b907220d2d8a768242208eb8ab829b579d3a1b081ae9169d8231bf79488e581ef95f53aa22682807fb74200859d8f49a739a3d9ac9859546 SHA512 ccc502d28a2a14ed9fa0b18a87b73ae0a3bd806948ca0887285c388399fa21aa8433d6fa2734ef6c42c92537edb7221406a91aab52b3cfb78bd8b77e6bea394c
diff --git a/dev-python/coverage/coverage-7.8.0.ebuild b/dev-python/coverage/coverage-7.8.0.ebuild
new file mode 100644
index 000000000000..f3675c8426ed
--- /dev/null
+++ b/dev-python/coverage/coverage-7.8.0.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+}
+
+python_compile() {
+ if ! use native-extensions; then
+ local -x COVERAGE_DISABLE_EXTENSION=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # mismatch of expected concurrency in error message
+ # TODO: report upstream?
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
+ # packaging tests, fragile to setuptools version
+ tests/test_setup.py
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3|pypy3.11)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/ewmh/ewmh-0.1.6.ebuild b/dev-python/ewmh/ewmh-0.1.6.ebuild
index 3d17552b9fe2..5807f33238c8 100644
--- a/dev-python/ewmh/ewmh-0.1.6.ebuild
+++ b/dev-python/ewmh/ewmh-0.1.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,8 @@ DESCRIPTION="An implementation of Extended Window Manager Hints, based on Xlib"
HOMEPAGE="https://github.com/parkouss/pyewmh https://pypi.python.org/pypi/ewmh"
LICENSE="LGPL-3"
-KEYWORDS="amd64 x86"
SLOT="0"
+KEYWORDS="amd64 x86"
+
RDEPEND="dev-python/python-xlib[${PYTHON_USEDEP}]"
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index 927cdc9aca1e..767d31e0b9c6 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1 +1,2 @@
DIST filesystem_spec-2025.3.0.gh.tar.gz 430334 BLAKE2B 99b066224ee9a8f6bd241480e639f2e5dc47ccd5df02d08a9084755ca363ee4e9c65627b6bb1960014fd017e2c7d50525b61e36d818a34d68905c8fc366edf72 SHA512 aba1570a8083a007f566d3ae7a1e1e64ea3caad2da9a616adf06e0a94a39652f7e9c1d1316c328a11bc433410689b4aaa0e67b0902262984b9457918658b7872
+DIST filesystem_spec-2025.3.1.gh.tar.gz 432007 BLAKE2B 44771506b41887b0d025b963e9589be5481de78e8946191e1583340de5a77396f93dd8e6c2db7771cea5082e22b7b76be50905c8d8a2cb6efcae36810464a1ef SHA512 00d0c3fe3ffaaa8510d93be8c9375ea5a277ccb7a0a9c7957635ebc606e1af624f81f5d65cbadc3bce77815ef4a12a2c96672d43a819a5e387c240f50f20b0d0
diff --git a/dev-python/fsspec/fsspec-2025.3.1.ebuild b/dev-python/fsspec/fsspec-2025.3.1.ebuild
new file mode 100644
index 000000000000..6cdbdfed8fde
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2025.3.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+ https://github.com/fsspec/filesystem_spec/
+ https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+ https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+# Note: this package is not xdist-friendly
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges
+ fsspec/implementations/tests/test_github.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
index e2aab48ae560..f3dfe8920ab6 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1,2 +1,2 @@
-DIST kombu-5.5.0.tar.gz 460768 BLAKE2B 9dcf5eb966b9ec98acd659adece254503f21fd6e6976ae882e0d78a9701cbb5bec7a84938d8d4cc438c326d50d0bf8165a48f61f061afa913e92edf443013883 SHA512 25d5c3b168c31a1de97188be0f55c6df858533e36040d64363de2edeb8562c019a249e8b608b192ac2482ce7d73fd48838e5890f78c488c30b2d9626c8352b7e
DIST kombu-5.5.1.tar.gz 461398 BLAKE2B c9b26be04e9c2f20ba099d8eb28d6b62fddfbc177510cb92f2b75a3d3e5a4f8453aa3322e0de5e487fa445b7b3a1a24ddcc27c1d83fcf893a303e35f5048d444 SHA512 ddc417107274c2e280b59f994b49f34bb74515dea3e1900b4eeb1426ec65c93b13db859a727b3dc0781d6fe7e84c65397c9ddb41c7647314f0fdf189549e93e3
+DIST kombu-5.5.2.tar.gz 461522 BLAKE2B 473c5a413ce497ff2f028873313ef43bb92d4c87d2f119318e36358af1bd60cbcf76ee6c3d387834d7949c9668c35937dad65f6ed5bde96de4a71a7e64a4dce1 SHA512 44dc34066cd68ae604768db8d133defe496e6aae2d6a12af3d45cfa47352120c2549fd528b6fcf64263f6f9d0b4d948b8bd7f14159af3cbf04ae78c7211a3ba3
diff --git a/dev-python/kombu/kombu-5.5.0.ebuild b/dev-python/kombu/kombu-5.5.2.ebuild
index 014c78a74a5b..e17dda40b8f5 100644
--- a/dev-python/kombu/kombu-5.5.0.ebuild
+++ b/dev-python/kombu/kombu-5.5.2.ebuild
@@ -22,7 +22,7 @@ IUSE="examples"
RDEPEND="
>=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
<dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
+ >=dev-python/tzdata-2025.2[${PYTHON_USEDEP}]
dev-python/vine[${PYTHON_USEDEP}]
"
BDEPEND="
diff --git a/dev-python/logfury/logfury-1.0.1-r1.ebuild b/dev-python/logfury/logfury-1.0.1-r1.ebuild
index 3e0abdb7390f..64fcc5bd2064 100644
--- a/dev-python/logfury/logfury-1.0.1-r1.ebuild
+++ b/dev-python/logfury/logfury-1.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 28fb38ae8a77..02ae11e296c1 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,2 +1,3 @@
+DIST mkdocs-material-9.6.10.gh.tar.gz 14812031 BLAKE2B 505d6585d99aabd1b97f3853173aaf83085c58064c0f76d91517e92de311d52e7ae3c6c2ed71c66bbf013e88d6b38ae5eab64799076238bd46e2e36b745541b7 SHA512 c2589ccc0ffe21217d57fb91a5e247c026f2c32496767a72d604152c80913e03d015291fe3a31891618e53c167348c2cd08db5b986ac0c8c820e091f381d596d
DIST mkdocs-material-9.6.8.gh.tar.gz 14926223 BLAKE2B ce5f0ccc1f19787bbf631f0e71f1b252920e32b6e99616066c18d417e5086f8f612411fb8ba41909df8ee1fc24907879ec87234c42cd8fd6088555b46b7c7d67 SHA512 26d9677d95903c4c3a7890decb11557168dbf26c1fbd7ba1406bebf29a813283ccf43c7173a69136508ff753d61fad2ee3f49a897514fb7f6fa914070d2570b6
DIST mkdocs-material-9.6.9.gh.tar.gz 14809122 BLAKE2B 14c07f44c93de9c74ca6ee64b9be0ef2b7c06f40fa3bca95fbd935cec783ee16d02c50c77ed6b0b62fddaa9f0dcba769db1d86ca4da4363aa48c4940d5eb83f9 SHA512 166c7a5fe445e07286ccc36040a3caf4e070ad86fbcb556fa380ed91b6adfd96c881762f0cb7b96ee1f5d04ff4d65018ad119973e07920c8dd037f32c1322c46
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.10.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.10.ebuild
new file mode 100644
index 000000000000..7faef3c81d56
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.6.10.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+ # import backrefs only when used (i.e. never)
+ "${FILESDIR}/${PN}-9.6.7-backrefs.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index f5532e11c52d..7c2cdc6db6a1 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -1,2 +1,3 @@
DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937
DIST moto-5.1.1.tar.gz 6647375 BLAKE2B 6b12e46010798d776f148b8a8e99c7f65ce9c98cc086698be8335308952049f073eef99f8f41dd7868dd02816d3f1e12c9d8a5e8216644d7e9166f894aec44c6 SHA512 cabb57321dda5670ab81c01d5defe435939949ec77de4ec0ab14a72d18a180e10c67e78c2859b528c2eb6039b018a9be4d4909c9b5b3d73fad45a82be8240312
+DIST moto-5.1.2.tar.gz 6689364 BLAKE2B ed34b8f299924140196b200393dd554808d6b71fabbe671832b7655a3a4fa4f553ff3c11770b118fa3e04d7e957707fdc47e1027265529b0b25936d1590191fb SHA512 6ff45b287987df1c2573c9557b5c7c444f50bf13ed5b7aa458273cbd0e99d8c893b0517089d72520ae3566a3c65ca4aae20fcc0f1d404f5c30bf58b2f84e638f
diff --git a/dev-python/moto/moto-5.1.2.ebuild b/dev-python/moto/moto-5.1.2.ebuild
new file mode 100644
index 000000000000..fa22c67103ee
--- /dev/null
+++ b/dev-python/moto/moto-5.1.2.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.35.47[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-35.0.0[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.10.1[${PYTHON_USEDEP}]
+ dev-python/jsonpath-ng[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.25.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+: "${EPYTEST_TIMEOUT:=180}"
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_dynamodb/test_dynamodb_import_table.py
+ # require joserfc
+ tests/test_apigateway/test_apigateway.py::test_create_authorizer
+ tests/test_apigateway/test_apigateway.py::test_delete_authorizer
+ tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed
+ tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication
+ tests/test_cognitoidp/test_server.py::test_associate_software_token
+ tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication
+ # require py_partiql_parser
+ tests/test_dynamodb/test_dynamodb_statements.py
+ tests/test_s3/test_s3_select.py
+ # require graphql
+ tests/test_appsync/test_appsync_schema.py
+ # Internet
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url
+ tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ )
+
+ if ! tc-has-64bit-time_t; then
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_route53domains/test_route53domains_domain.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local -x AWS_DEFAULT_REGION=us-east-1
+
+ rm -rf moto || die
+ epytest -m 'not network and not requires_docker' \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/parallax/parallax-1.0.8.ebuild b/dev-python/parallax/parallax-1.0.8.ebuild
index 5ef14e82a3e1..2ee90750d15a 100644
--- a/dev-python/parallax/parallax-1.0.8.ebuild
+++ b/dev-python/parallax/parallax-1.0.8.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
diff --git a/dev-python/pdoc3/Manifest b/dev-python/pdoc3/Manifest
index 0a7de95bb9f0..1ec010306a4b 100644
--- a/dev-python/pdoc3/Manifest
+++ b/dev-python/pdoc3/Manifest
@@ -1 +1,2 @@
DIST pdoc3-0.11.5.tar.gz 99496 BLAKE2B aae4be92df6e2c6640291fbe4f05c9a81c0170051caa7e0f2a1fd8c58b65ff3018232ab16d1f02c921c5f777ad9951906ece24784bc14a2bd566843a1e6c7d9c SHA512 31c7fb9e2fbf4337efa912ec3fd2d662b920e53ca3b434bf00f71d215c19eec570d63bbe8863841150eb2e246609a340737d9030c7f9dd9949669eb789b96cdc
+DIST pdoc3-0.11.6.tar.gz 177107 BLAKE2B 531fd298bdb252fca9de3a4ac2be94b168541af86cef88e0896817975005ef695f172606217157bb65511bf9a26ee9a3631119ba94cf6d78d01e29bf228c0fac SHA512 65ce529d7aa6c00706c26d26abca2d99c6eb3af7e01b7064f62d8fc25a3829af02ccf808b101063abba6beb1e9901d0c9c80dfc5369ccf0a4b7cd8d46380faf1
diff --git a/dev-python/pdoc3/pdoc3-0.11.6.ebuild b/dev-python/pdoc3/pdoc3-0.11.6.ebuild
new file mode 100644
index 000000000000..5729fed39297
--- /dev/null
+++ b/dev-python/pdoc3/pdoc3-0.11.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Auto-generate API documentation for Python projects"
+HOMEPAGE="https://pdoc3.github.io/pdoc/"
+
+LICENSE="AGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.0[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i \
+ -e "/setuptools_git/d" \
+ -e "/setuptools_scm/d" \
+ setup.py || die
+
+ # deselect tests
+ sed -i \
+ -e 's:test_Variable_type_annotation_py36plus:_&:' \
+ -e 's:test_doc_comment_docstrings:_&:' \
+ pdoc/test/__init__.py || die
+}
+
+distutils_enable_tests unittest
diff --git a/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild b/dev-python/py-zabbix/py-zabbix-1.1.7-r1.ebuild
index 949ba0a4b5fc..6dfacd97d8b3 100644
--- a/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild
+++ b/dev-python/py-zabbix/py-zabbix-1.1.7-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
diff --git a/dev-python/pyflakes/Manifest b/dev-python/pyflakes/Manifest
index bd86616ab3ea..eb7a1060863b 100644
--- a/dev-python/pyflakes/Manifest
+++ b/dev-python/pyflakes/Manifest
@@ -1,2 +1,3 @@
DIST pyflakes-3.2.0.tar.gz 63788 BLAKE2B 12547bc1ef69d11efb86198c091072085df8a5435608aace18eab9da92b428980ad62fc4b7b6e182bee7963c511b637c17191db9138fc811256f553b902dbd66 SHA512 bd413b2ad80ae942bc13cef5ecb3a47b09abb0641fe468d427717b32895eb1702c9e8831867fbaa1de6fff71ab16bc3dae96f745bbc3e7d99de104a008f397ba
DIST pyflakes-3.3.0.tar.gz 64021 BLAKE2B e516b08a03b97f5b04377cb34b403c01259463199a84d8ae555fa42fadf7f6bbecf56662814535876173d81e9b789a9ba514f78701ce8f2f535d5094b807398b SHA512 8f22aff3cdac803e4ffc93a0da8317625d624c23ad53428148c9579c3b61b4838b5c1a2c7835c5005d6f73dfa75fb9fb1038e6b55e01c55f2b81d550ad677157
+DIST pyflakes-3.3.1.tar.gz 64135 BLAKE2B e4a28b909446441b19ab5ed11165f0b596d4c9a4595fb7115cddc74c7d0585c07e8dda0a0c0be542892fb31c18ebd9b7eeb0beab1728c9cd2e4dc1ffc71cc148 SHA512 3cbee3b6b18909c6fc18539141068261745c7ca2d3966c79244b5077f0750356ca19dc4b0a112c37f554320f4cd38589fdfdf41683565106915ee7b97b896790
diff --git a/dev-python/pyflakes/pyflakes-3.3.1.ebuild b/dev-python/pyflakes/pyflakes-3.3.1.ebuild
new file mode 100644
index 000000000000..09e8ba85c4c8
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-3.3.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Passive checker for Python programs"
+HOMEPAGE="
+ https://github.com/PyCQA/pyflakes/
+ https://pypi.org/project/pyflakes/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3*)
+ # regressions with pypy3.10
+ # https://github.com/PyCQA/pyflakes/issues/779
+ EPYTEST_DESELECT+=(
+ pyflakes/test/test_api.py::CheckTests::test_eofSyntaxError
+ pyflakes/test/test_api.py::CheckTests::test_misencodedFileUTF8
+ pyflakes/test/test_api.py::CheckTests::test_multilineSyntaxError
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # failing due to improved error message
+ # https://github.com/PyCQA/pyflakes/issues/812
+ pyflakes/test/test_api.py::IntegrationTests::test_errors_syntax
+ pyflakes/test/test_api.py::TestMain::test_errors_syntax
+ )
+ ;;
+ esac
+
+ local -X PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pyopengl/Manifest b/dev-python/pyopengl/Manifest
index 969c95c481ad..b2db5a337246 100644
--- a/dev-python/pyopengl/Manifest
+++ b/dev-python/pyopengl/Manifest
@@ -1,3 +1,2 @@
-DIST PyOpenGL-3.1.7.tar.gz 1896446 BLAKE2B 3fd4c84bb59157b4a6ee09c2a5ecd0e4f548bf03a84d735acfd92453eafb92102677a2b9c98831a92be33e873630c815dee453745d630a4d6b044771a13c945c SHA512 add1b4d02e7297f00f82a9c9249d6665029073fe620a1650491af9102a76a16e9320b5f227275b0c273ff5a616c284fd9f25f0f425848676c37cab9f3c22ae2e
DIST pyopengl-3.1.8.gh.tar.gz 3599436 BLAKE2B 7f33345d68d66d3cc81278eaa5f54298694f41f40583ee08a1f9f677705fb4414b6b2afbcd7b9345199b5f573478bfeba050e185b6534cbb19b45cb25c241b47 SHA512 d95014a36bd889fa014043e4640ba7f319bb996cb56e5f7086ee05d39c53d3928512d52b0ce181d7c144775a4da7eff7403cada0f91f23f56a699a1b023e00e6
DIST pyopengl-3.1.9.tar.gz 1913642 BLAKE2B 2c2b768773b0531b432fb9add49d3c32dd468a4d8dfe0ee992064089ba3a51ecb19a7ce21c6c964935ff51fe1e37c49092540eff88f0a23c6cc754d457bbcef0 SHA512 b0fae0031cf0c47899d3cef6a334ee885595b4bc7d3da5055cd12240e6612b2ade1dc75afe1b1f6fe8e4572b994b88c4ec557d893e6606353f4700111cb6f161
diff --git a/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild b/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild
deleted file mode 100644
index ab2382d9363c..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=PyOpenGL
-PYTHON_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Python OpenGL bindings"
-HOMEPAGE="
- https://pyopengl.sourceforge.net/
- https://github.com/mcfletch/pyopengl/
- https://pypi.org/project/PyOpenGL/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="tk"
-
-RDEPEND="
- media-libs/freeglut
- virtual/opengl
- x11-libs/libXi
- x11-libs/libXmu
- tk? ( dev-tcltk/togl )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-# The tests need an X server with the GLX extension. Software rendering
-# under Xvfb works but only with llvmpipe, not softpipe or swr.
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pygame[${PYTHON_USEDEP},opengl,X]
- !prefix? (
- media-libs/mesa[llvm]
- x11-base/xorg-server[-minimal,xorg]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/mcfletch/pyopengl/commit/b49af26c615236ebc29cf125a8315091482a4a2a
- "${FILESDIR}/${P}-py312.patch"
- # https://github.com/mcfletch/pyopengl/pull/109
- "${FILESDIR}/${P}-pypy3.patch"
-)
-
-python_test() {
- local EPYTEST_DESELECT=(
- # unreliable memory counting test
- tests/test_vbo_memusage.py::test_sf_2980896
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- nonfatal epytest tests || die "Tests failed with ${EPYTHON}"
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/pyopengl/pyopengl-3.1.8.ebuild b/dev-python/pyopengl/pyopengl-3.1.8.ebuild
index 1e079c773ef1..3cf386adf870 100644
--- a/dev-python/pyopengl/pyopengl-3.1.8.ebuild
+++ b/dev-python/pyopengl/pyopengl-3.1.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ S="${WORKDIR}"/${PN}-release-${PV}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="tk"
RDEPEND="
diff --git a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6-r1.ebuild
index 1f685a61bd06..c96dd40b5108 100644
--- a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild
+++ b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-check/Manifest b/dev-python/pytest-check/Manifest
index 67abbf1aba05..66e623186b61 100644
--- a/dev-python/pytest-check/Manifest
+++ b/dev-python/pytest-check/Manifest
@@ -1,2 +1,3 @@
DIST pytest_check-2.5.0.tar.gz 26844 BLAKE2B 3428071078f9a15ae33937be56957c537c4c98344cb3a5cda798f71caa6bd99e067113af64f548380c949bf6a79202db84e98da16f861d73ad23053a3ea2ec05 SHA512 0a3738f67f1a8467504919d5289398811af8b6bbacef81e27942ce467d3d9e373f2ec9497e4f1794ead2e3f8f9552da538c2472236b9c882cfd2ee3822c50d39
DIST pytest_check-2.5.1.tar.gz 26889 BLAKE2B 3922c81743a9065860a40501b07c258005a128f8377a7060032fb20cb06dbfba9567211ee51e05a3776384d3b3b7f2612353c724c5412b41cc7405f826364916 SHA512 5407f88036d47d88e41da369400209191dda5f3814c4c964056d1bb561931d212068f11844fc382a1e42821ca850baa483420741c44b2e1574370453305085d9
+DIST pytest_check-2.5.2.tar.gz 27363 BLAKE2B a4bc4547a4867132c513972771c4d4c6d10347f3eaf541bede31ba4c3900545629be93cf45d67e0d09b61e978aefc9feeb0b52a75c8db2a5f607b154ed56898d SHA512 cb4e7d265be4aee100a893196578736d4fd66e12b6ea49b03213c47f9fa93f19509dddaaa3229fe2a73d8b3fa61fed373113ba67e43092fc6ea82fbb5bb0e320
diff --git a/dev-python/pytest-check/pytest-check-2.5.2.ebuild b/dev-python/pytest-check/pytest-check-2.5.2.ebuild
new file mode 100644
index 000000000000..fbcaf827b75d
--- /dev/null
+++ b/dev-python/pytest-check/pytest-check-2.5.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin that allows multiple failures per test"
+HOMEPAGE="
+ https://github.com/okken/pytest-check/
+ https://pypi.org/project/pytest-check/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-testinfra/Manifest b/dev-python/pytest-testinfra/Manifest
index 77c7d8f797c6..e04113595964 100644
--- a/dev-python/pytest-testinfra/Manifest
+++ b/dev-python/pytest-testinfra/Manifest
@@ -1,2 +1,3 @@
DIST pytest-testinfra-10.1.1.tar.gz 86567 BLAKE2B b9dd9ea4023b1b7d9399615fbf6493efb094ec7f2478f65b46118173f6b20f545b645d06f20b42544325d68a917812a55f902ca28774b8ffb8743ac8182c3970 SHA512 6173937b03eaefb84a95b6fca616092ea0649f880fd1bccef6364f338b859bda8d09d706b517625b81cff4f663ababa766dac82d4d094c38683d9b170909f6c9
DIST pytest-testinfra-10.2.1.gh.tar.gz 84124 BLAKE2B 3a967f22da4da4cd03f41e4d38ce0d1c5b62852ba8c18ab448db3c92fce740b48528dc45408187d6eae9f755c1eed55dc262c25b9ca1e8b70b6825ae1688e9ea SHA512 d36e7d7cae1da82a947c60be762562ed14d94f1d20c3173798226bb443b18cf96dbe09d54797d744328370b947f3ee8e3c9742548369f8ddd3a1e9152d07aed8
+DIST pytest_testinfra-10.2.2.tar.gz 76153 BLAKE2B 85d25268eacbdbf97fcbfdd32cea92228475a76cc057cd633fd096375a1e5397f31628cffed1cafcbb41ef5f29ef5ea55f5134c3455d562e3d644006a897b706 SHA512 bcbc4d60bfbc030d0ca37f710c3b300890f18275830e0e7758bbceee3eb37ed020b9053e32ece1f5ce0be6cb341adff87e2842dabb2100280f4ec8f4acec1113
diff --git a/dev-python/pytest-testinfra/pytest-testinfra-10.2.2.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-10.2.2.ebuild
new file mode 100644
index 000000000000..249bc6a00f7a
--- /dev/null
+++ b/dev-python/pytest-testinfra/pytest-testinfra-10.2.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Write unit tests in Python to test actual state of your servers"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-testinfra/
+ https://pypi.org/project/pytest-testinfra/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+# Ansible is called via its CLI
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ app-admin/ansible
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/pywinrm[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x EPYTEST_DESELECT=()
+
+ # This is the only test which actually fails if salt cannot be imported
+ if ! has_version "dev-python/salt[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/test_backends.py::test_backend_importables
+ )
+ fi
+
+ epytest
+}
+
+pkg_postinst() {
+ elog "For the list of available connection back-ends and their dependencies,"
+ elog "please consult https://testinfra.readthedocs.io/en/latest/backends.html"
+}
diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest
index 8af3d857f146..805e27434b8f 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1 +1,2 @@
DIST rich-13.9.4.gh.tar.gz 15064359 BLAKE2B bf0bd53f3993fbfa309012b646d293799699040827c160a627fb4dbf292146e43b4a823606a6d9855d835f9739c1d75f539328aa093471db54adff44ef7d4e77 SHA512 36d9f0442759784453a75c9a80cd3dde113db5544d62da1eb85bc0572c16b6247da9b5254246fa571007ce0e70a234aea2ab1ed5dc20c1ec23084070733d39a1
+DIST rich-14.0.0.gh.tar.gz 15065886 BLAKE2B b1e47ee163561f714cbddf6d809e7f5b2c28d09c196ec0132a04bdcaa05415fe7189a9c471bd68d3cb18e526d4aecb4499229cf3adac85164cf6309c77f53b74 SHA512 e3192d75d35d9f63fa687a8e9e7893ea273ef193b7e27c266d2f1a1c62c7fa44e83cfb6ea3fef716fff6d337a826af393c223d5d4bddc52b4ec84aa6554379ef
diff --git a/dev-python/rich/rich-14.0.0.ebuild b/dev-python/rich/rich-14.0.0.ebuild
new file mode 100644
index 000000000000..67906d9efcd8
--- /dev/null
+++ b/dev-python/rich/rich-14.0.0.ebuild
@@ -0,0 +1,74 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
+HOMEPAGE="
+ https://github.com/Textualize/rich/
+ https://pypi.org/project/rich/
+"
+SRC_URI="
+ https://github.com/Textualize/rich/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_console.py::test_size_can_fall_back_to_std_descriptors
+ # TODO: segfault in recursion (PyQt6 interfering?)
+ tests/test_traceback.py::test_recursive
+ # TODO: some random dep changes?
+ tests/test_markdown.py::test_inline_code
+ tests/test_syntax.py::test_blank_lines
+ tests/test_syntax.py::test_python_render_simple_indent_guides
+ )
+ # version-specific output -- the usual deal
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # pypy3.10, to be more precise
+ tests/test_inspect.py::test_inspect_integer_with_methods_python310only
+ )
+ ;;
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ tests/test_inspect.py::test_inspect_integer_with_methods_python311
+ )
+ ;;
+ esac
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
+}
diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest
index 75fe7866d9c0..86d3a15fba61 100644
--- a/dev-python/tifffile/Manifest
+++ b/dev-python/tifffile/Manifest
@@ -1,2 +1,2 @@
-DIST tifffile-2025.2.18.gh.tar.gz 354422 BLAKE2B 1ff38102d337396b2b0bd0daf4ce1e63a349eb59249c84734e4d7ad435560adc783991e84db712046917915b8529a58060474f4d89a6e45d0b8e95514d6a81f0 SHA512 f9a5d6efbf4560efcc231c4c0188088e3fa31643874539e36b6be25c74969ce105111224e6d3d262041a1aa8efeaf2abf05bd66c32742ba9ae195a0c7c2a86c4
DIST tifffile-2025.3.13.gh.tar.gz 354962 BLAKE2B 3120374da357062e7621eb402cee3d55ae7ce58975fd25bed24c308a8e9db9a34fd5380933fe6f82ac2a0a64870661330cfff91cb0dc966c6c3e770255e2927c SHA512 7aee1877e6b833abdd9b7e1672fa34866e3c3464fb82695db461e25e615c0d79f76f1f3ba87b9a0e9ad8cf467c45d92aa5560bb0e799aeb3546a6552f4d104d6
+DIST tifffile-2025.3.30.gh.tar.gz 354935 BLAKE2B f388a2db46c53aef7855f57e2e1ee04583c17b9fc5a7ce565ae5b3a2a921f80e1bfd48d03662baed9cfc8504919977748625b72c6b6ba6cc40fb9269d6be4404 SHA512 facc58da99ae0d877f0ed4ae5e7392a8e500cb7ff18fd821095af31911315f5c1c89ffe1a91d17ab24d52c714cac97ef16d59a6673953882279333f5c87bc02f
diff --git a/dev-python/tifffile/tifffile-2025.2.18.ebuild b/dev-python/tifffile/tifffile-2025.3.30.ebuild
index 7e61f5160c1b..7e61f5160c1b 100644
--- a/dev-python/tifffile/tifffile-2025.2.18.ebuild
+++ b/dev-python/tifffile/tifffile-2025.3.30.ebuild
diff --git a/dev-python/url-normalize/Manifest b/dev-python/url-normalize/Manifest
index 1d11186b719f..c0485d5687fc 100644
--- a/dev-python/url-normalize/Manifest
+++ b/dev-python/url-normalize/Manifest
@@ -1 +1,2 @@
DIST url-normalize-1.4.3.gh.tar.gz 8478 BLAKE2B 2f15a597642626653c96f378b67794819645918473d17faad18187abe35bf7892b11c0bc78451e78f1146389beb3a6470fb3ea1610e60157fee7fbadd9863614 SHA512 46eaa1753b37e89d56cb19818144a7cf5b38653811720eb506732c35bb3732ef0c556420b22a9ee2c08e70e5b408aab7f44cea5e15d1ebe3d717c0c77706bfb8
+DIST url-normalize-2.2.0.gh.tar.gz 17161 BLAKE2B 3025db39c105ab9fb5c8d7cd7ca5327133b92e064a9200b9f6e7ded51a42be8bb995520da74e36afca485aac5d4052e491b8d7e107750c3d8f7ec227b738c354 SHA512 90abb5ca1e2792bdd9cae0b24bdd2f45fb6760e70566305384988bd2be92c1cd283faeeed94594d7fb1fd1fdf442f26ce41089f4c7b4d8ffc0c08c29b1058442
diff --git a/dev-python/url-normalize/url-normalize-2.2.0.ebuild b/dev-python/url-normalize/url-normalize-2.2.0.ebuild
new file mode 100644
index 000000000000..ddd073f10173
--- /dev/null
+++ b/dev-python/url-normalize/url-normalize-2.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="URL normalization for Python"
+HOMEPAGE="
+ https://github.com/niksite/url-normalize/
+ https://pypi.org/project/url-normalize/
+"
+SRC_URI="
+ https://github.com/niksite/url-normalize/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/idna-3.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not socket"
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 369f01a95dda..9f499c7ca05b 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -3,6 +3,7 @@ DIST rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.gh.tar.gz 51763 BLAKE
DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68
DIST uv-0.6.10-crates.tar.xz 58024120 BLAKE2B 87c8f715296171539cbf291304f17e483abcfd1aea9cdd933cbaac80411a465912fa3459587983f59035c597b186f69a5a16f124720ff0fd2f1ba5accc3755b8 SHA512 09ad70459e4be2ec1cad5bdb6823cabb7cf696e74aef445770ef3878a684e6c11d57d53bd64af31f5efb4f3f4ee16b92791668825baea1a6a135e9eb2774ee30
DIST uv-0.6.10.gh.tar.gz 3816981 BLAKE2B 2f1ba71073a5714428120376fdafd3c37e40b4540fc600c7b06e07ddd4a35358a33a0ce1a217f810d448b43fd36a20db7602880ab933dd2c2b8e7ca690b07f94 SHA512 d1a034ae8781b5401a9ad77e00f7d4ae1e401359232e44a7395583e22c88f80e3741a21b52a3a4f659edbd2e643ffe3ad10b58964dc7c3c12bee60f8c0414930
+DIST uv-0.6.11.gh.tar.gz 3824564 BLAKE2B 504a910fc94dc1ddffc5ba97a131c0647148fd8b67eddaa8254a8cf272e22c463f2529c1452b1b97a67381bcac145dd1b1883473cbcb7ce4df021773e2a32997 SHA512 4cad1246de2e8767394b89448e009a0c51a2e2d95c3eaac2c2ed76a03951fd539cefb38d2e61dc9ed0cc709c1a21a9221bb0437d1862d0d2a389977e19072835
DIST uv-0.6.4-crates.tar.xz 60120880 BLAKE2B 67e7cba1df7e8c18e55d7d1a5748db7995c19a8bc4d156b5cdcf8d6af3922ea52279e2351085fd2142806f6692383535dec1d8354c5197d3ed032f768c552dbc SHA512 0f13d3e6e77397ef2db40122736fe4d990003388dc2f2f782b9aea317fb30f30cbb35b1d800b252e84f239fd570208df55f281432e91e546b5edcf82b9a2b68e
DIST uv-0.6.5.gh.tar.gz 3782938 BLAKE2B 82528fbd5c65cc07dd4ba647dd86d81673370afe8568690601e54faa54ad0ffa42db375b63580b0ae67f1fda67a66f54d990ce97704c614e80bf54666ed3e11e SHA512 cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5
DIST uv-0.6.6-crates.tar.xz 60230976 BLAKE2B 9b0dcb0d8246fc275f5b508c48661f0844622ee9280b9000e0131e6101d548b92f983502fa21070fd41aa20854aa0931b3a5be13fc96def5bafab6d0eebe943f SHA512 b1925417eb34135e9e9d92a8d832055cd3677142ac9e7369d9e1f64ceba02632914c6ddc669257a5d75dd27b8cea4612db2bb295d2b747a74e169a8e23fc5a6b
diff --git a/dev-python/uv/uv-0.6.11.ebuild b/dev-python/uv/uv-0.6.11.ebuild
new file mode 100644
index 000000000000..6dc8470325ed
--- /dev/null
+++ b/dev-python/uv/uv-0.6.11.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.83.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=0.6.10
+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 Boost-1.0
+ ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB
+"
+# 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="
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ !!~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
+
+ # 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
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ 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
+}
diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest
index 97dbac239aa4..21954d9dd87f 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -2,3 +2,4 @@ DIST xarray-2024.9.0.tar.gz 3747432 BLAKE2B 4b2a3be1712194710aa00f4416479d93171b
DIST xarray-2025.1.1.tar.gz 3257038 BLAKE2B 2a1efed4dbd9de3f099d6fbc89f31f477dfa31f9067b976a5c18d1d8699d21428a6bb5d94a6ca7f31b296f4b132e8ef4e312aca25fc3da6a5d7dec4022f084c4 SHA512 a0cde2c8e38887878bcde25fd3ea6ee436b522ca73f52359d2c8ac1993447472d7cd5e5d4b11016ec48d1b86dba08e9207caf00b2b43ab896c777395e51f7943
DIST xarray-2025.1.2.tar.gz 3271214 BLAKE2B e41848061158bdda3042b5fafdc251b686ec0aba957a560d6205a14dcb4d604c32f62de7051148690e8d5cf3939dbf54e12ca9c3e3347767a8da9aecceb7d07c SHA512 604d552435a5c986818042de13b9163626ce2138e891f938e67d2885f51107fb741c81cfde5c4029575ba7011e0ac2edd3b88da76f5d7c54157a091d21e9761d
DIST xarray-2025.3.0.tar.gz 3292399 BLAKE2B 6d892e4ac788a90aa244225874a6b0d68fdd476b8867e5cf6a78b894c7b0fbc6dcfcdf4899ac0ee2cc2aa81cb25c73dcc40863629f62ff68dc8ab99ef0ad72a4 SHA512 84750291edb163767938da69425b14294c3aff4618de50a61df9529b9ccf543798ec5d00a8a317b04ade45cf5a2f1d482b63fc1cf69ae52acf4d841da6580850
+DIST xarray-2025.3.1.tar.gz 3300778 BLAKE2B 9b5bb4f9520fe408f81d8c61cbdd4c770c830c375c9396681c71ad1deb110b3f0a958f3bb3b2f7758d1f43d68aaf0b0eb1e59a839cd969830808a685d0237fd0 SHA512 13a884a8389b85148cf628e68b751dc21e95c256d7263589513a72f3b7fc5b396b9396edf94b47c40e31361e5e6659b60e8e7ac0014dc6675a747fe2ef25da9a
diff --git a/dev-python/xarray/xarray-2025.3.1.ebuild b/dev-python/xarray/xarray-2025.3.1.ebuild
new file mode 100644
index 000000000000..341ef4c9e486
--- /dev/null
+++ b/dev-python/xarray/xarray-2025.3.1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="N-D labeled arrays and datasets in Python"
+HOMEPAGE="
+ https://xarray.pydata.org/
+ https://github.com/pydata/xarray/
+ https://pypi.org/project/xarray/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.24[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+"
+# note: most of the test dependencies are optional
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ !riscv? ( !x86? (
+ dev-python/netcdf4[bzip2,szip,${PYTHON_USEDEP}]
+ ) )
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: these fail with filter errors even if netcdf4 is built
+ # with blosc/zstd support
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]'
+ )
+
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_calendar_ops.py::test_interp_calendar
+ )
+ fi
+ fi
+
+ if use big-endian ; then
+ EPYTEST_DESELECT+=(
+ # Appears to be a numpy issue in display? See bug #916460.
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
+ )
+ fi
+
+ if [[ ${ABI} != *64* ]]; then
+ EPYTEST_DESELECT+=(
+ # these tests hardcode object sizes for 64-bit arches
+ # https://github.com/pydata/xarray/issues/9127
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long
+ xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex
+ xarray/tests/test_formatting.py::test_array_repr_dtypes_unix
+
+ # converting timestamps into ns, causing an overflow
+ xarray/tests/test_cftimeindex.py::test_asi8
+ xarray/tests/test_coding_times.py::test_decode_cf_time_bounds
+ xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range
+ xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units
+ )
+ fi
+
+ case ${ARCH} in
+ arm64)
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype0-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype1-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]'
+ )
+ ;;
+ esac
+
+ if ! has_version "dev-python/seaborn[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_plot.py::TestContour::test_colors
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/zstd/Manifest b/dev-python/zstd/Manifest
deleted file mode 100644
index b239ce880667..000000000000
--- a/dev-python/zstd/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST zstd-1.5.6.1.tar.gz 643831 BLAKE2B 8c6cc1cca4fb9fb8a697ea2840f7eded5ec528f079115d15f24fd87b65648aaddfdb784315df8ba6f5fee18bee7c628478fc248b4769cfccca4f300d859768ee SHA512 1dd99ec381794664ae0891d1982ed0d627f72569f1d2c1b439204ccc5194979de8f393594bae17e5e4abbfde29811b4276085385c40664cc65f4b7940ce84d9d
-DIST zstd-1.5.6.4.tar.gz 648805 BLAKE2B 569712593a53e8f3be3ef3515ff203dada740996474e19c9dfab4e79483a8835611181d3b30ff8660ab467455a9b17e9d7665d7a348c3ddb346dc9273916f2b7 SHA512 f28c3dc4f382310aba29aac5660c14e7f3c4ece7a23fe9272d4655a96e320631c5e22b20a4eae882cc20c47b065a4bc86ee8957d32b1da212f65c34811975968
diff --git a/dev-python/zstd/metadata.xml b/dev-python/zstd/metadata.xml
deleted file mode 100644
index e06dfed4f5ef..000000000000
--- a/dev-python/zstd/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- <name>Matthew Thode</name>
- </maintainer>
-
- <origin>gentoo-staging</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/zstd/zstd-1.5.6.1.ebuild b/dev-python/zstd/zstd-1.5.6.1.ebuild
deleted file mode 100644
index 2f106e84b734..000000000000
--- a/dev-python/zstd/zstd-1.5.6.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple python bindings to Yann Collet ZSTD compression library"
-HOMEPAGE="
- https://github.com/sergey-dryabzhinsky/python-zstd/
- https://pypi.org/project/zstd/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-DEPEND="
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- export ZSTD_EXTERNAL=1
-}
diff --git a/dev-python/zstd/zstd-1.5.6.4.ebuild b/dev-python/zstd/zstd-1.5.6.4.ebuild
deleted file mode 100644
index ec012348fc60..000000000000
--- a/dev-python/zstd/zstd-1.5.6.4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple python bindings to Yann Collet ZSTD compression library"
-HOMEPAGE="
- https://github.com/sergey-dryabzhinsky/python-zstd/
- https://pypi.org/project/zstd/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-DEPEND="
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- export ZSTD_EXTERNAL=1
-}