summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-01-31 07:17:27 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-01-31 07:17:27 +0000
commit172e122a9a8071e85d454412465718f64d683a2e (patch)
treec5dd600046b51342fcc6cdbc75383180ee87df2a /dev-python
parent0acaec3ed8b60dd83c821b4d19b010a8abdbc5eb (diff)
downloadbaldeagleos-repo-172e122a9a8071e85d454412465718f64d683a2e.tar.gz
baldeagleos-repo-172e122a9a8071e85d454412465718f64d683a2e.tar.xz
baldeagleos-repo-172e122a9a8071e85d454412465718f64d683a2e.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ansicolor/Manifest1
-rw-r--r--dev-python/ansicolor/ansicolor-0.3.3.ebuild33
-rw-r--r--dev-python/ansicolor/ansicolor-9999.ebuild10
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.39.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.39.ebuild67
-rw-r--r--dev-python/ensurepip-pip/Manifest1
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild181
-rw-r--r--dev-python/id/Manifest1
-rw-r--r--dev-python/id/id-1.6.0.ebuild55
-rw-r--r--dev-python/pip/Manifest1
-rw-r--r--dev-python/pip/pip-25.2.ebuild191
-rw-r--r--dev-python/pooch/Manifest2
-rw-r--r--dev-python/pooch/pooch-1.9.0.ebuild58
-rw-r--r--dev-python/pyftpdlib/Manifest1
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-2.0.1.ebuild65
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-2.1.0.ebuild2
-rw-r--r--dev-python/pyjwt/Manifest2
-rw-r--r--dev-python/pyjwt/pyjwt-2.11.0.ebuild42
-rw-r--r--dev-python/pytest-localftpserver/pytest-localftpserver-1.5.0.ebuild2
-rw-r--r--dev-python/python-dbusmock/Manifest1
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.37.1.ebuild53
-rw-r--r--dev-python/tqdm/Manifest2
-rw-r--r--dev-python/tqdm/tqdm-4.67.2.ebuild43
25 files changed, 370 insertions, 499 deletions
diff --git a/dev-python/ansicolor/Manifest b/dev-python/ansicolor/Manifest
index fe3b67070d1a..3dbdf6907e78 100644
--- a/dev-python/ansicolor/Manifest
+++ b/dev-python/ansicolor/Manifest
@@ -1 +1,2 @@
DIST ansicolor-0.3.2.gh.tar.gz 118221 BLAKE2B f3f621298858974522dd05665c66ffebfc335291b61c6f0e6f835aaddf099559412f12979ad2a43001690b430125c8e1a8fd5427ad3268393d75bd736353d598 SHA512 de1e1bc9d8a02accaa57a64e5d2ea1f510545b3ab83218c47c7a1861e8438862c222147c9dcab0fcb1ec4055dcee07d6cde6d7bfecfbf9ac55c3bb76ac0fb0ab
+DIST ansicolor-0.3.3.gh.tar.gz 118399 BLAKE2B 4bab0fd51a933c58e38c1fd5b53dfa7bbaeaf3de8ba38bb24ab10de61c53646632cfdb09d54045709acc0c9554e60a8205f218ccf910496b9e1dc9a5b4819e8e SHA512 7f017ece65edb61f570d20116d540686ad81f69cbf4d060ad18df3e0274d1a866e9259d2d8331e1450b1bab3c1fdcbceffece42de81228da9915c294e826d8f1
diff --git a/dev-python/ansicolor/ansicolor-0.3.3.ebuild b/dev-python/ansicolor/ansicolor-0.3.3.ebuild
new file mode 100644
index 000000000000..5dff51417754
--- /dev/null
+++ b/dev-python/ansicolor/ansicolor-0.3.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/numerodix/ansicolor.git"
+else
+ # pypi tars don't include tests and github repo is missing release tags,
+ # so only enabling tests for 9999 at this time
+ SRC_URI="
+ https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Produce ansi color output and colored highlighting and diffing"
+HOMEPAGE="
+ https://github.com/numerodix/ansicolor/
+ https://pypi.org/project/ansicolor/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/ansicolor/ansicolor-9999.ebuild b/dev-python/ansicolor/ansicolor-9999.ebuild
index 7a23e302a670..5dff51417754 100644
--- a/dev-python/ansicolor/ansicolor-9999.ebuild
+++ b/dev-python/ansicolor/ansicolor-9999.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,13 +17,17 @@ else
SRC_URI="
https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="Produce ansi color output and colored highlighting and diffing"
-HOMEPAGE="https://github.com/numerodix/ansicolor https://pypi.org/project/ansicolor/"
+HOMEPAGE="
+ https://github.com/numerodix/ansicolor/
+ https://pypi.org/project/ansicolor/
+"
LICENSE="Apache-2.0"
SLOT="0"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index fcf236c2b6d3..afe7a0be27d4 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,3 +6,4 @@ DIST boto3-1.42.34.gh.tar.gz 1075720 BLAKE2B 52881dd1683dc36c7f3360113d5418fd0e1
DIST boto3-1.42.36.gh.tar.gz 1077182 BLAKE2B 9d0acfb4dfb5f24ff1a132e5c01fa5fff70224aff6800aaf0511d93f02bf90f0d04fb0bf9d1c2eaf541d149e08df1a930c878730b168ff506642930b0d36d2aa SHA512 a51d8565071bf86b87b7dbc220c70edb1cc6e866c0a4305143af76334177df82c128061676f1e400ced03ec37675a8955df02296824b6deb758cdfe54623a7b6
DIST boto3-1.42.37.gh.tar.gz 1078283 BLAKE2B 0feeb879ee4a7d5ac012a9511ef4447344573b333859f6c43b1972f39f076041404541b9023f2b52c063027f9cd961f06da4831448590490b8b24196998e6f22 SHA512 f11b858b1286a3f5202f9c3afabdb6f1ecbc5d6a831b9ad2d93d081291a6701511e0e105a908047496bb144b29ee2394a9b64e5eaa533be5ec3b8907318ca1b6
DIST boto3-1.42.38.gh.tar.gz 1078731 BLAKE2B 59dd62ec0231ead44887989a118722d8d12dc022d61ef26fa347db40fd06a818793d43e1e97268be36310841e697ad47de67168811ce46644725bf567b8af50f SHA512 08257d9e7aebbb8b73f5c94212b32834b1eeed28111a699aa8cd8316201af800bda7d5a20338e8569cdd91b0acc1af0f39b049cd65fa29596a373a20d9335528
+DIST boto3-1.42.39.gh.tar.gz 1078948 BLAKE2B 15a852156234ae0ac04c7ff2d47bfb0da973835be2fa37f94db9ae3f865e1b53b8a1683ca69c61b8dd0165062b3e1e0e39c796e2b9b3ca1c16d20d2b3bce5ffc SHA512 1a15924d9d5db384bf98e75b104417f56900ca2a053215a2d14c96b5fe03f5cf5a4c1ccbdc36d3c3fdec6a39089b556134234572ba462b01b9c6433309bd9f85
diff --git a/dev-python/boto3/boto3-1.42.39.ebuild b/dev-python/boto3/boto3-1.42.39.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.39.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 d56312b91f23..4f711e0b29d0 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,3 +6,4 @@ DIST botocore-1.42.34.gh.tar.gz 15781471 BLAKE2B 694d24a74d14db50f6532c92032e3f0
DIST botocore-1.42.36.gh.tar.gz 15785362 BLAKE2B 2671eb300bc99285ffe42c07179df5324a824a306179c6c9d136791deecbebb2b9905b8c2c3c4bc8b0460c4f76d6824df7e3c82d672207210432828754138652 SHA512 7563c3346a6ee337984873602d303d84b4bd9ca5f707b86dba80898d50020ecbe0e6a8ffacb1d29505492ddff403daf63dd91e3c3018b5b180d464753b101b1f
DIST botocore-1.42.37.gh.tar.gz 15791303 BLAKE2B 03061062ead9b8c2170c897a0d17c96c1186d12783754ce4610d32578179b6ec773960f7b2f1b68bec83807219fee86fea6c3a9f8ecf47daf7ebf9cd89bdb962 SHA512 3b5fd451daeb6537efd10340c2edb35319cb7c5970c21dc7d6231fc726ec168a2aad2776e0fec9f21440498955e34aca2d2d022b3e5e98e94f7f49a8a95a33aa
DIST botocore-1.42.38.gh.tar.gz 15793710 BLAKE2B a7c4be9316fb190097d39c3276343fd8c01b6dc88ef1bfd6b7db06648988e50edf33ec4b0b528c5513450af93763bc2372e66c531b96045855db01017facabd4 SHA512 a84d8d7470aecfd782ec355b1f36dfaf906832aaba8b545c4ea15026cf41bb2361fe01cb72fa10e370f4a5d1afa9a141f032a3d529ea541707d960bbd6b319b9
+DIST botocore-1.42.39.gh.tar.gz 15795159 BLAKE2B 3485a55d4fabb1b7431035d9d22e5e165c226cd1fb9265dce47dc0123927504e3c4fb1f745d173f9fd7ba1ca3f74a0e31ab96cc0f1de6dbfbfd1c676e1a5ec59 SHA512 5b11b07e149d76c6ae34364f13eef263abcb83008fac1b76dba3ed27ba25b086602bbb4838e0540d4780e84adf7e29ae2fed46493e2e4ce2948bc5b70bdd387f
diff --git a/dev-python/botocore/botocore-1.42.39.ebuild b/dev-python/botocore/botocore-1.42.39.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.39.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/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest
index 3d2fa10525d6..5d4d976f3427 100644
--- a/dev-python/ensurepip-pip/Manifest
+++ b/dev-python/ensurepip-pip/Manifest
@@ -1,3 +1,2 @@
DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0
-DIST pip-25.2.gh.tar.gz 9121715 BLAKE2B 3bfe61d6d0d6f3a79c3fd801f5cb40b203fd12085d925ae7cde53adca3c5ee523fdfd9449546e1bc8ca719b3e8766cfef3162919e13a77f7adc0d20a951d11c7 SHA512 5cc65c9091fdda7905e26ce32ddaa3a1c2fd287d69fd3da67c814ba7e8e5be59301d8327c06cdca78c1b95f4a5b5f75c87f36a549022408cc0e8f9411c0db11e
DIST pip-25.3.gh.tar.gz 9115712 BLAKE2B 87d848c497163a45ee3de8f6f75c80b5051b07062c5a15450ae98b59a6cebc6bf03ca8525d57929493f2cfeb28d5623401eba69f0bdfc734389efbb84eafdf53 SHA512 f50db092213ec3bb819d3da5669f73d119b5ec7f7ac5e8a587a17c27eafa32bc17a057df09389c526a3769ef3577f5553187d54ceffa89aed63f4b4498ff044e
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild
deleted file mode 100644
index b85946751575..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-25.2.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-# PYTHON_COMPAT is used only for testing
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1
-
-MY_P=${P#ensurepip-}
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="
- https://pip.pypa.io/en/stable/
- https://pypi.org/project/pip/
- https://github.com/pypa/pip/
-"
-SRC_URI="
- https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test test-rust"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- <dev-python/ensurepip-setuptools-80
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- dev-vcs/git
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_RERUNS=5
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-declare -A VENDOR_LICENSES=(
- [cachecontrol]=Apache-2.0
- [certifi]=MPL-2.0
- [dependency_groups]=MIT
- [distlib]=PSF-2
- [distro]=Apache-2.0
- [idna]=BSD
- [msgpack]=Apache-2.0
- [packaging]="|| ( Apache-2.0 MIT )"
- [pkg_resources]=MIT
- [platformdirs]=MIT
- [pygments]=BSD-2
- [pyproject_hooks]=MIT
- [requests]=Apache-2.0
- [resolvelib]=ISC
- [rich]=MIT
- [tomli]=MIT
- [tomli_w]=MIT
- [truststore]=MIT
- [urllib3]=MIT
-)
-LICENSE+=" ${VENDOR_LICENSES[*]}"
-
-python_prepare_all() {
- local PATCHES=(
- # remove coverage & pytest-subket wheel expectation from test suite
- # (from dev-python/pip)
- "${FILESDIR}/pip-25.2-test-wheels.patch"
- )
-
- distutils-r1_python_prepare_all
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- fi
-
- # Verify that we've covered licenses for all vendored packages
- cd src/pip/_vendor || die
- local packages=( */ )
- local pkg missing=()
- for pkg in "${packages[@]%/}"; do
- if [[ ! -v "VENDOR_LICENSES[${pkg}]" ]]; then
- missing+=( "${pkg}" )
- else
- unset "VENDOR_LICENSES[${pkg}]"
- fi
- done
-
- if [[ ${missing[@]} || ${VENDOR_LICENSES[@]} ]]; then
- [[ ${missing[@]} ]] &&
- eerror "License missing for packages: ${missing[*]}"
- [[ ${VENDOR_LICENSES[@]} ]] &&
- eerror "Vendored packages removed: ${!VENDOR_LICENSES[*]}"
- die "VENDOR_LICENSES outdated"
- fi
-
- local upstream_count=$(wc -l < vendor.txt || die)
- if [[ ${#packages[@]} -ne ${upstream_count} ]]; then
- eerror "VENDOR_LICENSES: ${#packages[@]}"
- eerror "vendor.txt: ${upstream_count}"
- die "Not all vendored packages matched"
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- # Internet
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_double_install_fail
- tests/functional/test_install.py::test_install_sdist_links
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- tests/functional/test_lock.py::test_lock_archive
- tests/functional/test_lock.py::test_lock_vcs
- # broken by system site-packages use
- tests/functional/test_freeze.py::test_freeze_with_setuptools
- tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
- tests/functional/test_uninstall.py::test_basic_uninstall_distutils
- tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
- )
- local EPYTEST_IGNORE=(
- # from upstream options
- src/pip/_vendor
- tests/tests_cache
- # requires proxy.py
- tests/functional/test_proxy.py
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # unexpected tempfiles?
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- )
- ;;
- esac
-
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/functional/test_install.py::test_install_sends_client_cert
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- fi
-
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- # rerunfailures because test suite breaks if packages are installed
- # in parallel
- epytest -m "not network" -o addopts= -o tmp_path_retention_policy=all \
- --use-venv
-}
-
-src_install() {
- if [[ ${DISTUTILS_WHEEL_PATH} != *py3-none-any.whl ]]; then
- die "Non-pure wheel produced?! ${DISTUTILS_WHEEL_PATH}"
- fi
- # TODO: compress it?
- insinto /usr/lib/python/ensurepip
- doins "${DISTUTILS_WHEEL_PATH}"
-}
diff --git a/dev-python/id/Manifest b/dev-python/id/Manifest
index 48f80d8f650b..631e47d52c41 100644
--- a/dev-python/id/Manifest
+++ b/dev-python/id/Manifest
@@ -1 +1,2 @@
DIST id-1.5.0.gh.tar.gz 20209 BLAKE2B d5f1b959ed8c5151d049cad9c470e0ed773edb68f5c9e721e2d4d5207823af660c641546651fc4eee1dba398bebdd509098471046f7482f102d8be3ae6e4a846 SHA512 bedc354e59d569595b9b7258b3fb2da29f2701a4b9ec80487b98ce30a7077e8b35990bea80db955a95a8d0703d23ab98365077f3c66858f4cab8806f365c25a7
+DIST id-1.6.0.gh.tar.gz 20662 BLAKE2B eed37815071faad0e0fc1cadb2f6634a90b60fcb5af3d19515f2a7629124257864f2048b590169cca67a5e39b4dd1f90cd3e6a331ce245e541a956550f80967c SHA512 1bcc4c36bf5e79da04fa94f9efa00a642a66a1ca02f9dce8bba4ae76d426827a0a060481eaacd5a948eb83837286bd2be29fefea19a9ae92ee208cbbc0b0e23d
diff --git a/dev-python/id/id-1.6.0.ebuild b/dev-python/id/id-1.6.0.ebuild
new file mode 100644
index 000000000000..4e6d4cd58ac0
--- /dev/null
+++ b/dev-python/id/id-1.6.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool for generating OIDC identities"
+HOMEPAGE="
+ https://github.com/di/id/
+ https://pypi.org/project/id/
+"
+# no tests in sdist, https://github.com/di/id/issues/286
+SRC_URI="
+ https://github.com/di/id/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ =dev-python/urllib3-2*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/di/id/issues/287
+ test/unit/internal/oidc/test_ambient.py::test_gcp_bad_env
+ test/unit/internal/oidc/test_ambient.py::test_gcp_wrong_product
+ test/unit/internal/oidc/test_ambient.py::test_detect_gcp_request_fails
+ test/unit/internal/oidc/test_ambient.py::test_detect_gcp_request_timeout
+ test/unit/internal/oidc/test_ambient.py::test_detect_gcp
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index 3d2fa10525d6..5d4d976f3427 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,3 +1,2 @@
DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0
-DIST pip-25.2.gh.tar.gz 9121715 BLAKE2B 3bfe61d6d0d6f3a79c3fd801f5cb40b203fd12085d925ae7cde53adca3c5ee523fdfd9449546e1bc8ca719b3e8766cfef3162919e13a77f7adc0d20a951d11c7 SHA512 5cc65c9091fdda7905e26ce32ddaa3a1c2fd287d69fd3da67c814ba7e8e5be59301d8327c06cdca78c1b95f4a5b5f75c87f36a549022408cc0e8f9411c0db11e
DIST pip-25.3.gh.tar.gz 9115712 BLAKE2B 87d848c497163a45ee3de8f6f75c80b5051b07062c5a15450ae98b59a6cebc6bf03ca8525d57929493f2cfeb28d5623401eba69f0bdfc734389efbb84eafdf53 SHA512 f50db092213ec3bb819d3da5669f73d119b5ec7f7ac5e8a587a17c27eafa32bc17a057df09389c526a3769ef3577f5553187d54ceffa89aed63f4b4498ff044e
diff --git a/dev-python/pip/pip-25.2.ebuild b/dev-python/pip/pip-25.2.ebuild
deleted file mode 100644
index 22fc7730642a..000000000000
--- a/dev-python/pip/pip-25.2.ebuild
+++ /dev/null
@@ -1,191 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# please bump dev-python/ensurepip-pip along with this package!
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( pypy3_11 python3_{11..14} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 shell-completion
-
-DESCRIPTION="The PyPA recommended tool for installing Python packages"
-HOMEPAGE="
- https://pip.pypa.io/en/stable/
- https://pypi.org/project/pip/
- https://github.com/pypa/pip/
-"
-SRC_URI="
- https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="test test-rust"
-RESTRICT="!test? ( test )"
-
-# see src/pip/_vendor/vendor.txt
-RDEPEND="
- >=dev-python/cachecontrol-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/dependency-groups-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/distlib-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-25.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-4.3.8[${PYTHON_USEDEP}]
- >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.32.4[${PYTHON_USEDEP}]
- >=dev-python/rich-14.1.0[${PYTHON_USEDEP}]
- >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/setuptools-70.3.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/truststore-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- <dev-python/setuptools-80[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- dev-vcs/git
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-python_prepare_all() {
- local PATCHES=(
- # remove coverage & pytest-subket wheel expectation from test suite
- "${FILESDIR}/pip-25.2-test-wheels.patch"
- # prepare to unbundle dependencies
- "${FILESDIR}/pip-25.0.1-unbundle.patch"
- )
-
- distutils-r1_python_prepare_all
-
- # unbundle dependencies
- rm -r src/pip/_vendor || die
- find -name '*.py' -exec sed -i \
- -e 's:from pip\._vendor import:import:g' \
- -e 's:from pip\._vendor\.:from :g' \
- {} + || die
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- fi
-}
-
-python_configure() {
- if use test && has_version "dev-python/pip[${PYTHON_USEDEP}]"; then
- "${EPYTHON}" -m pip check ||
- die "${EPYTHON} -m pip check failed, tests will fail"
- fi
-}
-
-python_compile_all() {
- # 'pip completion' command embeds full $0 into completion script, which confuses
- # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
- # This trick sets correct $0 while still calling just installed pip.
- local pipcmd='if True:
- import sys
- sys.argv[0] = "pip"
- __file__ = ""
- from pip._internal.cli.main import main
- sys.exit(main())
- '
- "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
- "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return 0
- fi
-
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- # Internet
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_double_install_fail
- tests/functional/test_install.py::test_install_sdist_links
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- tests/functional/test_lock.py::test_lock_archive
- tests/functional/test_lock.py::test_lock_vcs
- # broken by system site-packages use
- tests/functional/test_freeze.py::test_freeze_with_setuptools
- tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
- tests/functional/test_uninstall.py::test_basic_uninstall_distutils
- tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
- tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
- # broken by unbundling
- "tests/functional/test_debug.py::test_debug[vendored library versions:]"
- tests/functional/test_debug.py::test_debug__library_versions
- tests/functional/test_python_option.py::test_python_interpreter
- tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
- )
- local EPYTEST_IGNORE=(
- # from upstream options
- tests/tests_cache
- # requires proxy.py
- tests/functional/test_proxy.py
- )
-
- case ${EPYTHON} in
- pypy3*)
- EPYTEST_DESELECT+=(
- # unexpected tempfiles?
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- )
- ;;
- esac
-
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/functional/test_install.py::test_install_sends_client_cert
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- fi
-
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- local EPYTEST_PLUGINS=()
- # rerunfailures because test suite breaks if packages are installed
- # to system site-packages while it's running
- local EPYTEST_RERUNS=5
- local EPYTEST_XDIST=1
- epytest -m "not network" -o addopts= -o tmp_path_retention_policy=all \
- --use-venv
-}
-
-python_install_all() {
- local DOCS=( AUTHORS.txt docs/html/**/*.rst )
- distutils-r1_python_install_all
-
- newbashcomp completion.bash pip
- newzshcomp completion.zsh _pip
-}
diff --git a/dev-python/pooch/Manifest b/dev-python/pooch/Manifest
index fbc3e5db92fc..a414ddd1b60c 100644
--- a/dev-python/pooch/Manifest
+++ b/dev-python/pooch/Manifest
@@ -1 +1,3 @@
DIST pooch-1.8.2.tar.gz 59353 BLAKE2B 88b80665ad2af13bebeee9a6864c054eb1bfd5881a6e185b8025ce69896302093637f2a5e3ad58ad8a9af8c6161a30f04074081bfe562b83034b8fd4d36533c7 SHA512 e81c343c0f40f90ecaf347408818ff4b6924404adcaa9572deb55adf6c7bb40c8d91bef69461cc4407dfdba69b35bcfaeacf0070fdd18124008f11532bf7affc
+DIST pooch-1.9.0.tar.gz 61788 BLAKE2B b3c9bb378f2a1bea8f35636087acb4b7ef435908073128720721eb9438e35cdfa06e7f2dbea5c02ef23abf8a18a664f41259cc60083a181e93f7135e6900dc18 SHA512 c23da6578cb5830b01cd36ec3349fb70e68dc647e9fc00a5572ad4c36453524129c88521b075fe714fc93845ea20906b04723d1dfcfbc132d3d4f19a0f50bd1f
+DIST pooch-1.9.0.tar.gz.provenance 9373 BLAKE2B b651cb5f999cf72aa3ecdf2fa27d7123819e1e2fec9c9b0036c0974f59ccc08f5ec80ee3e77b4511bb979404229512a8052b5e7e20b956f2c5077036b9fe5569 SHA512 0096642c8b0a383761cca5376bc566dd7ccd85b997617811b84935df180a02e45d1af2d88e97280f8f290a8966b93e486ad52e5c90540737183de08d3f65fcfc
diff --git a/dev-python/pooch/pooch-1.9.0.ebuild b/dev-python/pooch/pooch-1.9.0.ebuild
new file mode 100644
index 000000000000..6312a7dd6443
--- /dev/null
+++ b/dev-python/pooch/pooch-1.9.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/fatiando/pooch
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage your Python library's sample data files"
+HOMEPAGE="
+ https://github.com/fatiando/pooch/
+ https://pypi.org/project/pooch/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.19.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/tqdm-4.41.0[${PYTHON_USEDEP}]
+ )
+"
+
+xEPYTEST_DESELECT=(
+ # Needs network
+ pooch/tests/test_core.py::test_check_availability_invalid_downloader
+ pooch/tests/test_core.py::test_load_registry_from_doi
+ pooch/tests/test_core.py::test_load_registry_from_doi_zenodo_with_slash
+ # dev-python/pytest-localftpserver -> dev-python/pyftpdlib has py3.12 issues
+ # https://github.com/giampaolo/pyftpdlib/issues/560#issuecomment-971377238
+ pooch/tests/test_core.py::test_check_availability_on_ftp
+ pooch/tests/test_downloaders.py::test_invalid_doi_repository
+ pooch/tests/test_downloaders.py::test_doi_url_not_found
+ pooch/tests/test_downloaders.py::test_figshare_url_file_not_found
+ pooch/tests/test_downloaders.py::test_doi_downloader
+)
+
+### docs no included in pypi tarball
+# distutils_enable_sphinx doc \
+# dev-python/sphinx-rtd-theme
+EPYTEST_PLUGINS=( pytest-{http,localftp}server )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -k "not network"
+}
diff --git a/dev-python/pyftpdlib/Manifest b/dev-python/pyftpdlib/Manifest
index 787fd089cd72..aabdb0514566 100644
--- a/dev-python/pyftpdlib/Manifest
+++ b/dev-python/pyftpdlib/Manifest
@@ -1,2 +1 @@
-DIST pyftpdlib-2.0.1.tar.gz 202285 BLAKE2B 16e25d45a7d832e0a35e810d3017091e4a00b25b85cefac16182ce36e213ee09119d0705f84e3b6c92b7c7becd80c8e91245f5591dd7e88daa4944fdcc472940 SHA512 b913d2deaa9d16239eca1e00fe9b01c33222173242b1b6d5513de563cdd4a5c3bf346cbd1d6044c74b16a7691a4b619a01aff373e2f94e08f232f13e3383d99b
DIST pyftpdlib-2.1.0.tar.gz 205767 BLAKE2B c6a6987edbd9d7ea2860f85ff7adc264dc5e92cfed053095ceecc5dfdd417e9ea3d2791d347e6d2249edd89f68e006fc07f21daa9c2f8ed365ac0e8cc969fbd5 SHA512 2c624f60cce1c34c2fe953bda635060b3b6215189215f427989a6c97daf0e51bd9920e4ddd943e624de70d8d732a65b3c16f4f8809860999065ad2db891bc154
diff --git a/dev-python/pyftpdlib/pyftpdlib-2.0.1.ebuild b/dev-python/pyftpdlib/pyftpdlib-2.0.1.ebuild
deleted file mode 100644
index d50687b5537b..000000000000
--- a/dev-python/pyftpdlib/pyftpdlib-2.0.1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python FTP server library"
-HOMEPAGE="
- https://github.com/giampaolo/pyftpdlib/
- https://pypi.org/project/pyftpdlib/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE="examples ssl"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/pyasynchat[${PYTHON_USEDEP}]
- dev-python/pyasyncore[${PYTHON_USEDEP}]
- ' 3.12 3.13)
- ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_test() {
- rm -rf pyftpdlib || die
- # Some of these tests tend to fail
- local EPYTEST_DESELECT=(
- # fail because they process sys.argv and expect program args
- # rather than pytest args, sigh
- test/test_misc.py
- # TODO
- test/test_functional_ssl.py::TestFtpListingCmdsTLSMixin::test_nlst
- )
- # Tests fail with TZ=GMT, see https://bugs.gentoo.org/666623
- local -x TZ=UTC+1
- # Skips some shoddy tests plus increases timeouts
- local -x TRAVIS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs pyftpdlib
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r demo/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyftpdlib/pyftpdlib-2.1.0.ebuild b/dev-python/pyftpdlib/pyftpdlib-2.1.0.ebuild
index 8c057f97dbd1..213af26707fd 100644
--- a/dev-python/pyftpdlib/pyftpdlib-2.1.0.ebuild
+++ b/dev-python/pyftpdlib/pyftpdlib-2.1.0.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
diff --git a/dev-python/pyjwt/Manifest b/dev-python/pyjwt/Manifest
index 187196bad12a..718a60e04db4 100644
--- a/dev-python/pyjwt/Manifest
+++ b/dev-python/pyjwt/Manifest
@@ -1 +1,3 @@
DIST pyjwt-2.10.1.tar.gz 87785 BLAKE2B 58a1220600179f043179e742ff8d5707bd89aff0ac7f240a2e834b256bcbeaec1e5831e80ccec126876047e5e2cc304efbad57839dbcef1fa1584a999d19b486 SHA512 2ae530750b59ef692ab31bf8bf3506e553b0199f346ddd06afed12304683f254cc924ff7190c5c911af72237dd794c345097de306e79e0fbcfb59958cb8cfbe5
+DIST pyjwt-2.11.0.tar.gz 98019 BLAKE2B b5bf0ffc4b2eb0f14accfc257a525f74a156bc5da0527af34b8809c74a1825916241255d259e68ea070c9649f913763656b1bc2be515080e8f62c3735b3e16bf SHA512 b7bb326dc2006f021068bcf24fafedf922cc6ecef5c40f2debd7020cb9b29d8c4e30a1aa1f5f009f55c7d2cc15732433f797a145eb8ced1c2edefad210d3ac32
+DIST pyjwt-2.11.0.tar.gz.provenance 9448 BLAKE2B e6e71af154c4e6580323a0f9d9a0a640a912393db168308e9add90019994a9f2ac3765a02e4748eaa9bb096eabe49a96afd0a406c27ee0e2f9de03244ac0d716 SHA512 98a0929e50e2c7ae3b7f1d99686317f890ce6b28d59796bb1d20991aba1623077f60ca559e278469702c016664ab2cb1af14da10e548973f5a7bc91cc72675bf
diff --git a/dev-python/pyjwt/pyjwt-2.11.0.ebuild b/dev-python/pyjwt/pyjwt-2.11.0.ebuild
new file mode 100644
index 000000000000..b36c700021ea
--- /dev/null
+++ b/dev-python/pyjwt/pyjwt-2.11.0.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=setuptools
+PYPI_PN="PyJWT"
+PYPI_VERIFY_REPO=https://github.com/jpadilla/pyjwt
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="JSON Web Token implementation in Python"
+HOMEPAGE="
+ https://github.com/jpadilla/pyjwt/
+ https://pypi.org/project/PyJWT/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ !dev-python/python-jwt
+"
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-3.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_sslcontext_default
+)
+
+pkg_postinst() {
+ optfeature "cryptography" dev-python/cryptography
+}
diff --git a/dev-python/pytest-localftpserver/pytest-localftpserver-1.5.0.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.5.0.ebuild
index 36516146364e..7dfc4e448fcb 100644
--- a/dev-python/pytest-localftpserver/pytest-localftpserver-1.5.0.ebuild
+++ b/dev-python/pytest-localftpserver/pytest-localftpserver-1.5.0.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
diff --git a/dev-python/python-dbusmock/Manifest b/dev-python/python-dbusmock/Manifest
index 7f8f0dd8cfb9..ef466be5a0d1 100644
--- a/dev-python/python-dbusmock/Manifest
+++ b/dev-python/python-dbusmock/Manifest
@@ -1,4 +1,3 @@
-DIST python_dbusmock-0.37.1.tar.gz 107458 BLAKE2B 0a7d2675c2f3fb9206b1826fa2ea2ca22340318ffdabd08cf1f4841502354833ac73537fa5f44e27002a80a0d7574a08a3e73cf817042497d33426560907f390 SHA512 ddaa5d99da0ee70a45c94077c1c9925b979c39c338ecb5856037c24121fe181884c7f7e5d8c032e764455d0628834d2075474a35346fe37de05fbbb548b690ff
DIST python_dbusmock-0.37.2.tar.gz 107498 BLAKE2B cbc67d763be08b7010bab45b523b390c285f8c8f634140973b17f0d3be402da0d2bf12fe1365f8e2b3e9175c4cf62126ae002b215af479e36eac311702409cfd SHA512 f3f181ff8c883b884fe855e7475b219692c5ab0d2255a84036d313c49523a8b8e5dfae2ce72c19e8f79201951efe0204ea72a6441fc54a26dbd2e4dcd3c0ec64
DIST python_dbusmock-0.37.2.tar.gz.provenance 9405 BLAKE2B c15a12443386b899acaa325ea5bb8df97cd5009c3750b600a48b19a5a75ea942ed0e03ed9b4ed1ca05687f72b725e8735e58cd3eca1e7cf480152880d576ed35 SHA512 281a0680d37c5bda6a80814012284a89b34f3aea1c4d623072a8a007fc70d96c767947a17ecede1f354ae62590ab784cd3bd44acad19fb3ca9b01d4e8b9e9681
DIST python_dbusmock-0.38.1.tar.gz 108144 BLAKE2B fc0353759e4b69675af4edcf4d3824bee007ec77ae903508dcc03cee6df24f527e9fc819503ee4bdc67e880d215bb4fce71c183b5fc24fc2a0d38bc1739b7b1c SHA512 3bfd069f977171045338bd76862660a0e088e99aa000261fe2d447d8576cecdf249579162eae54ad21bdd4a1ad3421da13b5ee30e347d813990f55288c09b85e
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.37.1.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.37.1.ebuild
deleted file mode 100644
index 0879f1d27ad8..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.37.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..14} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Easily create mock objects on D-Bus for software testing"
-HOMEPAGE="
- https://github.com/martinpitt/python-dbusmock/
- https://pypi.org/project/python-dbusmock/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- sys-power/upower
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # linter tests, fragile to newer linter versions
- tests/test_code.py
-)
-
-src_prepare() {
- # dev-python/dbus-python uses autotools, so no .dist-info there
- sed -i '/dbus-python/d' pyproject.toml setup.cfg || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- # tests are fragile to long socket paths
- local -x TMPDIR=/tmp
- # Tests break if XDG_DATA_DIRS is modified by flatpak install
- unset XDG_DATA_DIRS
- epytest
-}
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index 61869dc04f09..0982a8361333 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1 +1,3 @@
DIST tqdm-4.67.1.tar.gz 169737 BLAKE2B 9591a60570084670cd8e69b44455a374ef7dd91077c1b598f474f261bd0baef6a37b91214d0c9303fb5d04eb6537bebd4d1ba9ed99a8aa496dbca8ec2811c7d0 SHA512 f97d35ff73c9ba92c6cbfc2834cdedcdad2ec1d757ed40220b29d8c8863b197d8d00533e7f2a41589a9f68de1d053cc9715cc8b597759a3dcf96fec192edf4e3
+DIST tqdm-4.67.2.tar.gz 169514 BLAKE2B 4c2dc50f2202761b1295ee499e60eb785d00c8d261659f0705d4a3312c0e119e1cb5ddf8e8c0928f690589c92221425489abf59029ef9cec36854d0d93641d3b SHA512 49c8bbf8dd5e667da778576008d463ebe7399dd1b431cd6dd49d4faab65d4252bd55724ab3e0b61b71d7da47cf891c6d1700128ea7cd1c032f79fe8659bc74f5
+DIST tqdm-4.67.2.tar.gz.provenance 9232 BLAKE2B 9bb3debdc67189e6eedb996017df15481b8d8bc5b01634be2acd86e49d48af5f1138ae6f8623bd6131428da4d9012eddecd452f8469a9e847de3347c4477c4ae SHA512 d114d7c9a12b2a52674535f799a460fbf66c8fdddb625358abb8523dceb186346462901037937f1a99fcad980b77a9389fa0e93d1f586c703f9fb9e58a97700c
diff --git a/dev-python/tqdm/tqdm-4.67.2.ebuild b/dev-python/tqdm/tqdm-4.67.2.ebuild
new file mode 100644
index 000000000000..2e119d3140fe
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.67.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/tqdm/tqdm
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit bash-completion-r1 distutils-r1 pypi
+
+DESCRIPTION="Add a progress meter to your loops in a second"
+HOMEPAGE="
+ https://github.com/tqdm/tqdm/
+ https://pypi.org/project/tqdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Skip unpredictable performance tests
+ tests/tests_perf.py
+)
+
+python_install_all() {
+ doman tqdm/tqdm.1
+ newbashcomp tqdm/completion.sh tqdm
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}