summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-09 18:14:20 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-09 18:14:20 +0000
commit5b8c66d13108e6e7ef79b6838290143e9f7f4eaa (patch)
tree146635bd9d67f76bff5f57640c624da4713d756d /dev-python
parentedbbeffe1122d805d1ca0f67457432204ea50e5e (diff)
downloadbaldeagleos-repo-5b8c66d13108e6e7ef79b6838290143e9f7f4eaa.tar.gz
baldeagleos-repo-5b8c66d13108e6e7ef79b6838290143e9f7f4eaa.tar.xz
baldeagleos-repo-5b8c66d13108e6e7ef79b6838290143e9f7f4eaa.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiodns/aiodns-3.5.0.ebuild7
-rw-r--r--dev-python/alembic/Manifest1
-rw-r--r--dev-python/alembic/alembic-1.16.3.ebuild57
-rw-r--r--dev-python/asgiref/Manifest1
-rw-r--r--dev-python/asgiref/asgiref-3.9.1.ebuild23
-rw-r--r--dev-python/b2sdk/b2sdk-2.9.4.ebuild2
-rw-r--r--dev-python/django-otp/Manifest1
-rw-r--r--dev-python/django-otp/django-otp-1.6.1.ebuild43
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.176.0.ebuild51
-rw-r--r--dev-python/httpx/Manifest1
-rw-r--r--dev-python/httpx/httpx-0.27.2.ebuild95
-rw-r--r--dev-python/matplotlib/matplotlib-3.10.3.ebuild2
-rw-r--r--dev-python/nuitka/Manifest1
-rw-r--r--dev-python/nuitka/nuitka-2.7.12.ebuild55
-rw-r--r--dev-python/os-client-config/Manifest1
-rw-r--r--dev-python/os-client-config/os-client-config-2.3.0.ebuild45
-rw-r--r--dev-python/os-service-types/Manifest1
-rw-r--r--dev-python/os-service-types/os-service-types-1.8.0.ebuild35
-rw-r--r--dev-python/peewee/Manifest1
-rw-r--r--dev-python/peewee/peewee-3.18.2.ebuild81
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-9.0.9.ebuild39
-rw-r--r--dev-python/puremagic/puremagic-1.30.ebuild2
-rw-r--r--dev-python/pypdf/pypdf-5.7.0.ebuild2
-rw-r--r--dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild2
-rw-r--r--dev-python/python-lsp-server/Manifest1
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild91
-rw-r--r--dev-python/respx/files/respx-0.22.0-tests-flexibility.patch98
-rw-r--r--dev-python/respx/respx-0.22.0-r2.ebuild (renamed from dev-python/respx/respx-0.22.0-r1.ebuild)6
-rw-r--r--dev-python/selenium/Manifest2
-rw-r--r--dev-python/selenium/selenium-4.34.2.ebuild152
-rw-r--r--dev-python/testfixtures/Manifest1
-rw-r--r--dev-python/testfixtures/testfixtures-9.1.0.ebuild51
-rw-r--r--dev-python/wand/wand-0.6.13.ebuild2
-rw-r--r--dev-python/yaswfp/Manifest2
-rw-r--r--dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild14
37 files changed, 957 insertions, 14 deletions
diff --git a/dev-python/aiodns/aiodns-3.5.0.ebuild b/dev-python/aiodns/aiodns-3.5.0.ebuild
index 689f1c885735..a9000209a747 100644
--- a/dev-python/aiodns/aiodns-3.5.0.ebuild
+++ b/dev-python/aiodns/aiodns-3.5.0.ebuild
@@ -3,6 +3,7 @@
EAPI=8
+EPYTEST_PLUGINS=( pytest-asyncio )
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
@@ -23,13 +24,9 @@ RESTRICT="test"
RDEPEND=">=dev-python/pycares-4.9.0[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
-"
distutils_enable_tests pytest
python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio --asyncio-mode=auto
+ epytest --asyncio-mode=auto
}
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index e8c8ef47aeb8..55b9619d1ce0 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1 +1,2 @@
DIST alembic-1.16.2.tar.gz 1963563 BLAKE2B 5a2fd7a1413b6b8f5c30a8dd28e3eb9fb503fdb9cf7e74f33d8a17e2874cdd7c1e174c0d89764d6a5a7007bf55209419e076fb535c9a77f87a51eccfe1935c0e SHA512 1d8bf5b05fb94dcc2093b4bb8ca73cc3f5ac28d3aea46d7b4318d98bbae8468ca474a86c7203a64d6d4472c3f2f94e1b83a5bcd9d33c41e481fb304ef1592fbd
+DIST alembic-1.16.3.tar.gz 1967462 BLAKE2B 1e5dbddc98859e9f0966917c473a45ae0a0bdefee2ccbbb4d5c17c48f4b57b8635dd0896c96be351bae00c21a221c1c7b1d574824338d09c294c0698b8a1e01f SHA512 9025ce25aa524a971b93cfe3406d3c75d4dba47dfa4067a8d23c24fc27c00b19f3da726d37933e91fb715a8ab72677a4921101f61b80ea9d09148271b33de3f3
diff --git a/dev-python/alembic/alembic-1.16.3.ebuild b/dev-python/alembic/alembic-1.16.3.ebuild
new file mode 100644
index 000000000000..62a2e6224a83
--- /dev/null
+++ b/dev-python/alembic/alembic-1.16.3.ebuild
@@ -0,0 +1,57 @@
+# 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="Database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="
+ https://github.com/sqlalchemy/alembic/
+ https://pypi.org/project/alembic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/sqlalchemy-1.4.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ if ! has_version "dev-python/black[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_post_write.py::RunHookTest::test_module
+ tests/test_post_write.py::RunHookTest::test_module_black_with_cwd
+ tests/test_post_write.py::RunHookTest::test_module_filename_interpolation
+ tests/test_post_write.py::RunHookTest::test_module_path_in_config
+ )
+ fi
+
+ # setup.cfg contains -p no:warnings in addopts which triggers
+ # datetime.utcfromtimestamp() deprecation warning as an error in py3.12
+ epytest -o addopts=
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest
index 051f7a495998..7f8b19d6ee0d 100644
--- a/dev-python/asgiref/Manifest
+++ b/dev-python/asgiref/Manifest
@@ -1,2 +1,3 @@
DIST asgiref-3.8.1.tar.gz 35186 BLAKE2B ce18c03ad3de054375eb5c97792bfdb6b0ae19f8769f2968892d805d3c54c2d4e7dd7b05036bd786a828d0537fcebe983b46d38bdfc17d09be7e924ee3462d5c SHA512 3ef9ac2fcdce069cde96467abaa4a820c4eac19d40ce72e1afd0ca08279c00053a7e107966d766651def33a72a19c11559849b1032e89d62f544156590ef801d
DIST asgiref-3.9.0.tar.gz 36772 BLAKE2B c6c83f29dba712976b6f2ec6c751885a1af8b9df6e8d6e616e844bacfbb57cd196c177ad27c1b55ca1dd3c66a7abbaa8f3dd3851925839295cd9d2308079a47e SHA512 6f0847cb28f1dc2d721b2540331270c18d4e9b0bf412fe5a0447ddc8abf133a6cd9254c333e56415af3cd3676db58516f695a64f99d70ab052b513ce0d59499e
+DIST asgiref-3.9.1.tar.gz 36870 BLAKE2B d4883a95c2c363388a63114eeff92af96f5989e528e8bb496ac965aa0c686117cf38cf7968d16006bfa2529be84b5cc80c957128acee447ecbd5857db28b8377 SHA512 bc1a947dc7026fbd95970c71e699462856752b48024e2adf3ab5298dd8fb3fcee2e02a95eb97c5e8fe51ba77763b07f8e2922656ecac5b4205e03054663f9bbc
diff --git a/dev-python/asgiref/asgiref-3.9.1.ebuild b/dev-python/asgiref/asgiref-3.9.1.ebuild
new file mode 100644
index 000000000000..30e0e9bcc2f1
--- /dev/null
+++ b/dev-python/asgiref/asgiref-3.9.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ASGI utilities (successor to WSGI)"
+HOMEPAGE="
+ https://asgi.readthedocs.io/en/latest/
+ https://github.com/django/asgiref/
+ https://pypi.org/project/asgiref/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/b2sdk/b2sdk-2.9.4.ebuild b/dev-python/b2sdk/b2sdk-2.9.4.ebuild
index 711acfe5370d..abbec21a2522 100644
--- a/dev-python/b2sdk/b2sdk-2.9.4.ebuild
+++ b/dev-python/b2sdk/b2sdk-2.9.4.ebuild
@@ -43,4 +43,6 @@ EPYTEST_IGNORE=(
test/integration/test_raw_api.py
)
+export PDM_BUILD_SCM_VERSION=${PV}
+
distutils_enable_tests pytest
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
index e9b46144e733..ceb2871c3ee2 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1 +1,2 @@
DIST django_otp-1.6.0.tar.gz 73830 BLAKE2B c68193a6da04d330daa73805389513554944832d0eeaf090d5f7c03fa6f52831658c813c3d4838fe3b71ad7044f1bffe1d74682af78262cf06f38bc05f12a467 SHA512 6800fc61fcf674933a8f0bb928fa97ac794075bc937022866c97d25b2d7f1a02f7402383d487c7a4d7e1bb48abc2ad6fa8c4d808c15222ba8cff35c909b2b22d
+DIST django_otp-1.6.1.tar.gz 74134 BLAKE2B fcd3fcdab38f98cef3330ad36008f74f58134a1ea82440caa56a901575ad63805242969689e0381ae0823d70d4a7790c3e9703b6a8d1e3fa30bf10aa5be1bfc2 SHA512 7fdcbc53e7c210b4d8332b6facfefa7bd3d4f51df30f180be3936474da5a2bc604841e964114d2a8826a85839de2088e0e189779c47f7ab98473e575b5e3ffdf
diff --git a/dev-python/django-otp/django-otp-1.6.1.ebuild b/dev-python/django-otp/django-otp-1.6.1.ebuild
new file mode 100644
index 000000000000..67dd501a580c
--- /dev/null
+++ b/dev-python/django-otp/django-otp-1.6.1.ebuild
@@ -0,0 +1,43 @@
+# 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="Django framework adding two-factor authentication using one-time passwords"
+HOMEPAGE="
+ https://github.com/django-otp/django-otp/
+ https://pypi.org/project/django-otp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ || (
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/segno[${PYTHON_USEDEP}]
+ )
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ local -x PYTHONPATH=test:${PYTHONPATH}
+ local -x DJANGO_SETTINGS_MODULE=test_project.settings
+ "${EPYTHON}" -m django test -v 2 django_otp ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index afd38a3ddfbc..52280de01a38 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,3 +1,4 @@
DIST google_api_python_client-2.173.0.tar.gz 13091318 BLAKE2B c7135d5ef2ce2b029c3d6d779fa82db69768ed70e366301ab692f746b7b76c3807f823a85e47a01cbe68626b20092b6bf5ea53baaeb416e84ec1d4086858267f SHA512 28947b8dd0cda063ebe5f9a722dfaf07f6a3db9030ac40c949b5ba27353699da32ee13862fc8969e7e4cf0f61a6efba11701ef15a460f827ab3e32b3f80d8b97
DIST google_api_python_client-2.174.0.tar.gz 13127872 BLAKE2B a369b988fc84c27a51d7c9708b00e81196777dbffca4e824f9ba4d65d59f24ae05c57aa3015b5d9d0b0965afefbd57c2d015b4c2e1447157697c036af5509143 SHA512 bf18ecf712c14f2ede60201d332a80bb3014d6ba0c269414f69d24d8f3714929769628ff71bcfb6f9accf23bc942917088431ccdd65b216a6165162dc7815f7e
DIST google_api_python_client-2.175.0.tar.gz 13143355 BLAKE2B 9ac5bd958d2c5de6b57917be04032fb10a9bffb577172e028d944e537726dd6aa85c798e11d032339b9e3f9df73c4e18ee4a429a83a360226449b77a25c7861c SHA512 2459336702ba415c12ae137c5cfbd4264a55df4f39d140514ce875bf6af13e702d76e3ad6716debbaf30364fd2211fd92f0a76be8f8de5b6d587aab4e1d377e4
+DIST google_api_python_client-2.176.0.tar.gz 13154773 BLAKE2B 04677d283d132b93b99745619b2e1ee04e8c08c6f3b17ca7be8fcad3a4ba8aef1d3403a31c6c8fd477e6a0f78ea2a4545a99d9464eaeb4eb2ced1721f80c50a8 SHA512 1978849c948ac078992e4c3f38cf9a32ac8d1ac01fafb7bfa2458c8facb29e5597c215f6ba3d6cb3d3a6e439d64210f245e2fbf8bc86c65d5f7a2c5fc6f87fd8
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.176.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.176.0.ebuild
new file mode 100644
index 000000000000..83f75ed3d688
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.176.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index b734a193e3e7..4ead50a6e3e0 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1 +1,2 @@
+DIST httpx-0.27.2.gh.tar.gz 2185609 BLAKE2B 7e77cab0e9bda032cd595549e43dfc102f90bb8668b62f6b1f0df6bce6b6358f34aa1f51457a315eb774dde8c76083d180c02ff45283dd348c39b4a659307713 SHA512 c7852ae3e982bacee1587b66aed506f3f7e12caf296e651d3cdd9c111a7d737af49473be455bcabccc8e52487ad18b4821ea56b39500c3b77ed2325fc55505ae
DIST httpx-0.28.1.gh.tar.gz 4118011 BLAKE2B 76c24a3b3618798d5b65aaaa87ee583f9debf8cb7866204a3e12c151179d9f69a6ad23198c9ee7df61058f73b6ca84f453c3bced25a60f583d7b3ad7681839bb SHA512 5571957a3516533f1c1e76f311316811f6365e192d19ebae10c9ab0d0c4094d811063fd2be2995f3b6a41d6899a7882f27265badecf238a4f7903f976136d3ba
diff --git a/dev-python/httpx/httpx-0.27.2.ebuild b/dev-python/httpx/httpx-0.27.2.ebuild
new file mode 100644
index 000000000000..27f2b8a9bc5e
--- /dev/null
+++ b/dev-python/httpx/httpx-0.27.2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
+HOMEPAGE="
+ https://www.python-httpx.org/
+ https://github.com/encode/httpx/
+ https://pypi.org/project/httpx/
+"
+SRC_URI="
+ https://github.com/encode/httpx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="cli"
+
+RDEPEND="
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ =dev-python/httpcore-1*[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/sniffio[${PYTHON_USEDEP}]
+ cli? (
+ =dev-python/click-8*[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/h2[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/trio[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-0.27.0-opt-trio.patch"
+ )
+
+ if ! use cli; then
+ sed -i -e '/^httpx =/d' pyproject.toml || die
+ fi
+ sed -i -e '/rich/s:,<14::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local args=()
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/client/test_proxies.py::test_async_proxy_close
+ tests/client/test_proxies.py::test_sync_proxy_close
+ )
+
+ use cli || EPYTEST_IGNORE+=(
+ tests/test_main.py
+ )
+
+ if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
+ args+=( -o filterwarnings= -k "not trio" )
+ fi
+
+ epytest "${args[@]}"
+}
+
+pkg_postinst() {
+ optfeature "HTTP/2 support" dev-python/h2
+ optfeature "SOCKS proxy support" dev-python/socksio
+ optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
+}
diff --git a/dev-python/matplotlib/matplotlib-3.10.3.ebuild b/dev-python/matplotlib/matplotlib-3.10.3.ebuild
index 34e0c38ef4ff..e92ae78b1608 100644
--- a/dev-python/matplotlib/matplotlib-3.10.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.10.3.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets"
DEPEND="
diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest
index 3789c54ee355..825d380fc480 100644
--- a/dev-python/nuitka/Manifest
+++ b/dev-python/nuitka/Manifest
@@ -1,3 +1,4 @@
DIST Nuitka-2.7.10.tar.gz 3887512 BLAKE2B 477bb856f18250ecca84c64e0c40c398bfdcd076119ff004853dd9dae8bcd9348cc71cd7eb7cb25123e05d6eaabf1f06c8b0d94f9db92437def863a88e7a4f57 SHA512 09a6c6f3c9c815529db11b23b9535871295445db77bfc5b68d687a2db3a8a1267505d297b84351b689c3e7d4d733f5458275af884a7b0a5f918bf0d0b097dd76
DIST Nuitka-2.7.11.tar.gz 3887328 BLAKE2B 88d82d0cfcf8e595e0e8bc095518d52c775ae9ccb74238882cbde602fb0453d417710456e2961ed2147c4fa3fb07d94794535bab33c6b6b37cd18f66386e996d SHA512 545505bb4ab5460e3862e23cdc16746f12ad6268ed67281afe0c73ae400890120469dceac833ef9ac41596aebfdb0bd75346d45a4522d873ffd7f2d378e0bc20
+DIST Nuitka-2.7.12.tar.gz 3887702 BLAKE2B d3b642043539edfcd3546345a84cd384ff50b178da42e0fa8ee4e05301ea1be5f6780c1dec451e1aedd7baf3d38c02470d50da6786b1b2ca564a4215d2fb39bc SHA512 f13f830448267ed49860cbbb4777fe40cbf7f441f294044564a1f1d861be6404cc438312dc4b5177180fc55ac46664d316d1d43ffe4f2777c3db478e0508ddd0
DIST Nuitka-2.7.9.tar.gz 3886410 BLAKE2B c61ac13adc227880a56d51278d9b72d61d5e88cb008682da7f200c74dd0fae2b57f55a65e72a3d4ccde20c4be60c94ba80ce8bb7aad989bb037165775108fc4e SHA512 74d5e446d5704c09d137aff6884f5c82de2c30606b712d34b0321263d4bb042e9711f2320cf03920850cdb0a10d163f7944057e4ae1e72a8c316cee38bb019c0
diff --git a/dev-python/nuitka/nuitka-2.7.12.ebuild b/dev-python/nuitka/nuitka-2.7.12.ebuild
new file mode 100644
index 000000000000..c97d7f3c6ae8
--- /dev/null
+++ b/dev-python/nuitka/nuitka-2.7.12.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=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.15[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/os-client-config/Manifest b/dev-python/os-client-config/Manifest
index cb86c654f68b..107fd52ff276 100644
--- a/dev-python/os-client-config/Manifest
+++ b/dev-python/os-client-config/Manifest
@@ -1 +1,2 @@
DIST os-client-config-2.1.0.tar.gz 48257 BLAKE2B c88d2c9c34103abfa60c3d983ed50309a2a552cf275f48e3c1dde9837b98849d09062546c5bc096d978a059afbae54eed9eadb8aa53375aae67f409bf3cf3e05 SHA512 31f53e5bafced1d7d57ac8818a7b889506b45347655ee41db6d5d9c0a6f2ead2a6d820553aec4a6ad9fd817abf9d6b666938a24ba85ab3745e06bb10b312e33a
+DIST os_client_config-2.3.0.tar.gz 49928 BLAKE2B 19fac72e1d2c5af30c6ca93e71711b1509fbb7a187428efc9b8383a530d4526f70bc4317c199a8f66730a0646492aa0ddc5fdaa654fc32678dfaf99fcde8fa25 SHA512 d51527915b1c534405ebce7185a524aabe21fc95df9e3368703d01c53570438d3eac01f52d8856e0c024062b0f986dd23410ba30ae1caafb843f9df6f848d143
diff --git a/dev-python/os-client-config/os-client-config-2.3.0.ebuild b/dev-python/os-client-config/os-client-config-2.3.0.ebuild
new file mode 100644
index 000000000000..9ab4ba742c8c
--- /dev/null
+++ b/dev-python/os-client-config/os-client-config-2.3.0.ebuild
@@ -0,0 +1,45 @@
+# 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="OpenStack Client Configuation Library"
+HOMEPAGE="
+ https://opendev.org/openstack/os-client-config/
+ https://github.com/openstack/os-client-config/
+ https://pypi.org/project/os-client-config/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ dev-python/python-glanceclient[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ dev-python/python-subunit[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/test_get_all_clouds.patch
+)
+
+distutils_enable_tests unittest
diff --git a/dev-python/os-service-types/Manifest b/dev-python/os-service-types/Manifest
index d3c7deaeb5e2..8040a174bb77 100644
--- a/dev-python/os-service-types/Manifest
+++ b/dev-python/os-service-types/Manifest
@@ -1 +1,2 @@
DIST os-service-types-1.7.0.tar.gz 24474 BLAKE2B 8adf1cf29d61cc37d08e7282d5b07312345a59ed94898da71f13702f51d4f3651b18d34cb51789fbc560a10c5dfeb8d760aca0fe25f630c7c00fbfd0fd4072c1 SHA512 d73f826134ce9d26720e027a352d8a91a8a029ac92bbcf0ace022a041f3c0aaea900a4e50fa00027f699a793b53ecc538bad5ec3bd8e2efbbe8b18540322ee57
+DIST os_service_types-1.8.0.tar.gz 27279 BLAKE2B 5a310fdcedaed7ef91526b12497fd2ffbaf544b563ef1d775dcb1fde52feb3aa7d6112b3ae1ce91b7a5db2bd4768a016b33a5f49ec713c95cdac77f1d68eb006 SHA512 b25512268c8f66e555acedf8481830163aec63d06c8438ecee1b5ab1ed18136406c74fb1e6661791959d5cb21ef278603b5f49a2d89dddd73c76c445206bd6f2
diff --git a/dev-python/os-service-types/os-service-types-1.8.0.ebuild b/dev-python/os-service-types/os-service-types-1.8.0.ebuild
new file mode 100644
index 000000000000..bf05f26d6aa8
--- /dev/null
+++ b/dev-python/os-service-types/os-service-types-1.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library to handle official service types for OpenStack and it's aliases"
+HOMEPAGE="
+ https://opendev.org/openstack/os-service-types/
+ https://github.com/openstack/os-service-types/
+ https://pypi.org/project/os-service-types/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-6.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
index 9bb7af0c05c7..b97bbbb2eae5 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1 +1,2 @@
DIST peewee-3.18.1.gh.tar.gz 931200 BLAKE2B eacd3571175ae3bac019ac2dd0dcd561b9ef863a243bf54d45b8bb18656a458d32244f0a55b2e1d91dc07c7232c5f6182438c92f912d9f6ab75dee953b94d570 SHA512 eeef91aa30eea6ea6d4e1a7cdef7e8c207511ae65455cb0b5f84945c38ac6de3c8e218aa24752e3345d1eb4efcbf20ed289cf764c6fbd631b51be3d5075bc8b7
+DIST peewee-3.18.2.gh.tar.gz 931233 BLAKE2B cc0c29e4137b88e4a419faff35afbc64bb13b583344db272955df4a7658bc29d336fca2f2e6829b1741c4e74c5aa83460950396f87a252050669ba02a9a4d7d9 SHA512 d4c68b88b1652ca065e49d692fcc875717a1d67c4ee5c9dfc0942f2994bf49ef564bb14aa046f10f5201835a19f21a15979f5069a812133e9a2b0214dc6226c6
diff --git a/dev-python/peewee/peewee-3.18.2.ebuild b/dev-python/peewee/peewee-3.18.2.ebuild
new file mode 100644
index 000000000000..8ed4abf126f4
--- /dev/null
+++ b/dev-python/peewee/peewee-3.18.2.ebuild
@@ -0,0 +1,81 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ default
+
+ # disable test failing on postgres 16
+ sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die
+}
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+ psql -h "${T}" peewee_test -c 'create extension hstore;' || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 6f4984422fe4..3ea76ed1db38 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,2 +1,3 @@
DIST python-phonenumbers-9.0.7.gh.tar.gz 4916884 BLAKE2B 7290928928a94ade292171296f5257a7aa77031c03572bddf10d125353e06d76c64376edcdbf2387f5dd39bdec3a9a3873291c2136dcfa53a0d787b366012213 SHA512 752c46fc81353796e3a99774fa06e93ccd9b230a6025c00984567f92680d9f8fbc6a3ec1364f6bb0cd7a911a5c5d514c566279d5d43ff0b9f443cbad307a838b
DIST python-phonenumbers-9.0.8.gh.tar.gz 4917342 BLAKE2B 3d721240f59446f3af764e2022d08f0aad46177f7f28072e627485a20930843ed803c54df69c3584197df1f27460d462eaa6cd2feb3c5717a6266f6ced874663 SHA512 8a66403d48de017f5f9f084369d42f4e67a81cc81e3382a68fc97fdbb0fbafbf0ecfaf5baeb26cea9ccf38c0d12dbc6d43d88feacf9cedcb61b688e8cf108f35
+DIST python-phonenumbers-9.0.9.gh.tar.gz 4917696 BLAKE2B dd60bcd5030db677c61b27bfb2c2939f6d5f0e5969bf4ce1be2be3cddb4ca84b0eccdbc6fba47b273b6994ff279f5649081d30b083022b58dae7e2006a380a67 SHA512 d2f249d0f3ff59b2e03b193c169b3b097f710fd8b4c39a3b8f73c57bef45618c2383619f3a7cdbc3c59f95937e6a123ed266c518c884f231ce81a1820bf17672
diff --git a/dev-python/phonenumbers/phonenumbers-9.0.9.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.9.ebuild
new file mode 100644
index 000000000000..a4046879a533
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-9.0.9.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/puremagic/puremagic-1.30.ebuild b/dev-python/puremagic/puremagic-1.30.ebuild
index 868e244e1c25..9a06cb7df79c 100644
--- a/dev-python/puremagic/puremagic-1.30.ebuild
+++ b/dev-python/puremagic/puremagic-1.30.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
DOCS=( CHANGELOG.md README.rst )
diff --git a/dev-python/pypdf/pypdf-5.7.0.ebuild b/dev-python/pypdf/pypdf-5.7.0.ebuild
index 299c6c601006..8baeeebd057d 100644
--- a/dev-python/pypdf/pypdf-5.7.0.ebuild
+++ b/dev-python/pypdf/pypdf-5.7.0.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
BDEPEND="
test? (
diff --git a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
index abd008f72754..144be4ea1934 100644
--- a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
+++ b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
RDEPEND="
>=dev-python/pytest-3.6[${PYTHON_USEDEP}]
diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest
index db33a0645864..be7a3bc69f99 100644
--- a/dev-python/python-lsp-server/Manifest
+++ b/dev-python/python-lsp-server/Manifest
@@ -1 +1,2 @@
DIST python_lsp_server-1.12.2.tar.gz 115054 BLAKE2B 5ee67de14e029dc0550d9ac412ce042357938783ae00435db7147921fa4923dd7f0df9c882ce3c54b43f03c9ebec2230444174920141efc17d67c2afaf406f5d SHA512 5a24fa6a8928a36498f50aa026f84478a4193e0991a4b83cad04a7ec131ca50c0d6104feb88c34721cbeab4900e4709b2ba21013aa232a197ee81d13b78c7a0b
+DIST python_lsp_server-1.13.0.tar.gz 119147 BLAKE2B 385aeb08f0f43a7a7e77a07c0f0a5799ff4aa9c4d4f6b80350ed0ef8c2d2da5979583e1696aac642308b851de3964ef2c9ae342ec7ff3e677c96e6ed8913a57a SHA512 140fb56e2fda6131c1e481792537c3ede1d511c48994416f2629d71c3b3e4fb2b05da583c6371780c4022b2cc8439a4d9e763962403a5a7f214fa1a1f3031f0c
diff --git a/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild
new file mode 100644
index 000000000000..4319517bc361
--- /dev/null
+++ b/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python Language Server for the Language Server Protocol"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-server/
+ https://pypi.org/project/python-lsp-server/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="all-plugins"
+
+PLUGIN_DEP="
+ >=dev-python/autopep8-2.0.4[${PYTHON_USEDEP}]
+ >=dev-python/flake8-7.1[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pycodestyle-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-3.1[${PYTHON_USEDEP}]
+ >=dev-python/rope-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-jsonrpc-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ all-plugins? (
+ ${PLUGIN_DEP}
+ )
+"
+BDEPEND="
+ test? (
+ ${PLUGIN_DEP}
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/qtpy[gui,testlib,${PYTHON_USEDEP}]
+ >=dev-python/websockets-10.3[${PYTHON_USEDEP}]
+ )
+"
+
+# Note: xdist breaks some tests
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -i -e '/addopts =/d' pyproject.toml || die
+ # unpin all the deps
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by presence of pathlib2
+ 'test/plugins/test_autoimport.py'
+ # Requires pyqt5
+ 'test/plugins/test_completion.py::test_pyqt_completion'
+ )
+ local EPYTEST_IGNORE=(
+ # pydocstyle is archived upstream and broken with py3.12
+ test/plugins/test_pydocstyle_lint.py
+ )
+
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8
+ optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8
+ optfeature "flake8 plugin: McCabe complexity checker" dev-python/mccabe
+ optfeature "Python style guide checker (fka pep8)" dev-python/pycodestyle
+ optfeature "Python docstring style checker" dev-python/pydocstyle
+ optfeature "Passive checker for Python programs" dev-python/pyflakes
+ optfeature "Python code static checker" dev-python/pylint
+ optfeature "Python refactoring library" dev-python/rope
+ optfeature "A formatter for Python files" dev-python/yapf
+}
diff --git a/dev-python/respx/files/respx-0.22.0-tests-flexibility.patch b/dev-python/respx/files/respx-0.22.0-tests-flexibility.patch
new file mode 100644
index 000000000000..ea9e6cd20252
--- /dev/null
+++ b/dev-python/respx/files/respx-0.22.0-tests-flexibility.patch
@@ -0,0 +1,98 @@
+From 92925950090c28124d191f81f0f0c6a742e6b136 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz@gentoo.org>
+Date: Tue, 8 Jul 2025 00:21:38 -0400
+Subject: [PATCH] tests: support any httpx version
+
+Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
+---
+ noxfile.py | 2 +-
+ tests/test_api.py | 23 ++++++++++++++++++-----
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/noxfile.py b/noxfile.py
+index 39fbef4..40fe124 100644
+--- a/noxfile.py
++++ b/noxfile.py
+@@ -7,7 +7,7 @@ nox.options.keywords = "test + mypy"
+
+ @nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"])
+ def test(session):
+- deps = ["pytest", "pytest-asyncio", "pytest-cov", "trio", "starlette", "flask"]
++ deps = ["pytest", "pytest-asyncio", "pytest-cov", "trio", "starlette", "flask", "packaging"]
+ session.install("--upgrade", *deps)
+ session.install("-e", ".")
+
+diff --git a/tests/test_api.py b/tests/test_api.py
+index 81ca4b2..170389b 100644
+--- a/tests/test_api.py
++++ b/tests/test_api.py
+@@ -7,12 +7,15 @@ from unittest import mock
+ import httpcore
+ import httpx
+ import pytest
++from packaging.version import Version
+
+ import respx
+ from respx.models import Route
+ from respx.patterns import M
+ from respx.router import MockRouter
+
++httpx_0_28 = Version(httpx.__version__) >= Version('0.28')
++
+
+ async def test_http_methods(client):
+ async with respx.mock:
+@@ -214,7 +217,7 @@ async def test_content_variants(client, key, value, expected_content_type):
+ {"X-Foo": "bar"},
+ {
+ "Content-Type": "application/json",
+- "Content-Length": "13",
++ "Content-Length": "13" if httpx_0_28 else "14",
+ "X-Foo": "bar",
+ },
+ ),
+@@ -223,7 +226,7 @@ async def test_content_variants(client, key, value, expected_content_type):
+ {"Content-Type": "application/json; charset=utf-8", "X-Foo": "bar"},
+ {
+ "Content-Type": "application/json; charset=utf-8",
+- "Content-Length": "13",
++ "Content-Length": "13" if httpx_0_28 else "14",
+ "X-Foo": "bar",
+ },
+ ),
+@@ -322,19 +325,29 @@ async def test_callable_content(client):
+ assert request.called is True
+ assert async_response.status_code == 200
+ assert async_response.text == "hello world."
+- assert request.calls[-1][0].content == b'{"x":"."}'
++ if httpx_0_28:
++ assert request.calls[-1][0].content == b'{"x":"."}'
++ else:
++ assert request.calls[-1][0].content == b'{"x": "."}'
+
+ respx_mock.reset()
+ sync_response = httpx.post("https://foo.bar/jonas/", json={"x": "!"})
+ assert request.called is True
+ assert sync_response.status_code == 200
+ assert sync_response.text == "hello jonas!"
+- assert request.calls[-1][0].content == b'{"x":"!"}'
++ if httpx_0_28:
++ assert request.calls[-1][0].content == b'{"x":"!"}'
++ else:
++ assert request.calls[-1][0].content == b'{"x": "!"}'
+
+
+ async def test_request_callback(client):
+ def callback(request, name):
+- if request.url.host == "foo.bar" and request.content == b'{"foo":"bar"}':
++ if httpx_0_28:
++ content = b'{"foo":"bar"}'
++ else:
++ content = b'{"foo": "bar"}'
++ if request.url.host == "foo.bar" and request.content == content:
+ return respx.MockResponse(
+ 202,
+ headers={"X-Foo": "bar"},
+--
+2.49.0
+
diff --git a/dev-python/respx/respx-0.22.0-r1.ebuild b/dev-python/respx/respx-0.22.0-r2.ebuild
index decde3e63df0..84b80eb2e270 100644
--- a/dev-python/respx/respx-0.22.0-r1.ebuild
+++ b/dev-python/respx/respx-0.22.0-r2.ebuild
@@ -25,7 +25,7 @@ SLOT="0"
KEYWORDS="amd64 arm64 x86"
RDEPEND="
- >=dev-python/httpx-0.28.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
@@ -37,6 +37,10 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.22.0-tests-flexibility.patch
+)
+
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index 3dfae4d20b1f..a5917c2fc577 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -3,8 +3,10 @@ DIST selenium-4.31.0.tar.gz 855418 BLAKE2B d06268cfc71cfde25718ecded62f455676813
DIST selenium-4.32.0.tar.gz 870997 BLAKE2B b25ceff282c7be6de7e3a02c71769aa08db6d726010b879f4feb7e0f96b465ad5ce9d5942d941f3d1dd4c1c664faeb0e5be5b01c69150420dd1b15b19197971b SHA512 8c46e7e07b1a647c7901401a8d7a2930f95a5df5c4ed81d3364446b88a9c55de5c8401ede06aea6e142807025f890e2c026407b9468a44e239b5bed6a2ffdbb0
DIST selenium-4.33.0.tar.gz 882387 BLAKE2B 62f32dc6aea5d7d16c546283d884d4f56b86911d7dbeeeb37a3f978d7b2161a8178e6d244b0dd6e6c5ca1a2eb29b0b758ed537d4b13cad5c71012b3d24c38b3e SHA512 c1f4969279d6df92f8537fe3d8cad1cd8265c6942a765399d8024aafeeb90dc0af6e7c11509dcead18a89f03c3486cd526448b27fae91bfc670fbaea7c6a37af
DIST selenium-4.34.0.tar.gz 895790 BLAKE2B 6f256ff92721eea31ec11dd0ced3d7ce7e1f79cb76664bed07297cfa872032652365ea17bc0a241a8417d3c47ea4242f520590a84024e5575e00e09cec5a9657 SHA512 374d5a321bbdbe260144e88b0cb1f10498e08368a3fc2142dbcb65e576a5188b5310dc3e0f5d8a114c5ac3a8ad9e5155c0cc5b66df13ea7fbd51a993b69472f3
+DIST selenium-4.34.2.tar.gz 896309 BLAKE2B 094d3596a86e1cd50a6967a65b3e7b9a73300403f5d88163ded8b1d3a62cb09d77057e9b90a35b39f3a6000a8ba604bd71ecb051866cf7ad88c5ab9e21752978 SHA512 f5911f41bc4988e1af26812299cf37aba7e88820cf4e719e0e04a36a5dbdba5420422c52393c8d31c4e0f88efe779e9beec2c490892e4546caa0a920047e01fa
DIST selenium-selenium-4.26.1-python.gh.tar.gz 77109265 BLAKE2B c0c5693c64fa65a627e5edf0cbbc051410fcddf59e4fd80c362b9a382c586fc3ad3d574674e5523ab284b40b6639e95e85fd1c8195f2f1a6f35ad6532ed667ce SHA512 7ace69332f17c6f7e28b81223f4c8c62cde1832b5acaf2fd1c777a08a5a9cfebb5d9c83daa10462eeb3acb9c7cb5038711f5acee51f5dad3910d7e29e4387d3f
DIST selenium-selenium-4.31.0.gh.tar.gz 52458288 BLAKE2B 649d585e116ccd82e68f3b74b50cbbda5b9ac02c6ab8e72473b5775265205dc31ec69c846b1b39c91dceb63234bb02bf4833b321d101227f5873db6ad8897038 SHA512 e440e1b8e15b9e1f592b2466738f3982355a0757458bd7c8ef7eba31548df2bd449e54cea273a47f2b6bd0e68a2d75a1af67a791eff0cf3f601e685c4b8b237a
DIST selenium-selenium-4.32.0.gh.tar.gz 52479399 BLAKE2B 01a2c0c172d4d25045b7f16d16c23945f4aaf48b422a9c926cdd6dbc728193a94d068c69f0317d3e5b8dd17df655581b3e5fd1e845cb18c1080f7a4aeb88d1dc SHA512 3beac9d23e9b92e54ff53195bb6376f6938019af9fdf9ad42210deb4bcd3b0fafe9e5098d4ba6e974d4d7f6bce6788622c0bd89ccf07117f3f7c7abad4e8831c
DIST selenium-selenium-4.33.0.gh.tar.gz 52518597 BLAKE2B 126fd55707580ff1e8a1df129680dcfb3f6edd11cacc335bb0163cf0af7b9f713a5c73d70e963089e0bffd14bede21c04dcec8eb99aaa5be6719717411c73088 SHA512 6392f952081cac1c2d9a5d9b1a93da270a6605f370d25fa3e79551b8df648f527b1936448e42d5e75d89613a7306a5d8f351e471b7c783ef35e7b22be9eb2955
DIST selenium-selenium-4.34.0.gh.tar.gz 52524095 BLAKE2B 1fe7e662697039708ce84ef4941f028369ca54089cd4f5075b3df2aa0d08373a3779ca201daa29ff5c4ad3d139f751a4525e114bfa80e3d0d297901309bf3bda SHA512 6e431e82d1ef4cb5dd47f319a95a43ebf68924b73f5de8e562ba21a0420d58098dcf63578699d36e3da5a6180fe7e433a50389a362357eb7c7f6d0a5770966b6
+DIST selenium-selenium-4.34.2-python.gh.tar.gz 52515190 BLAKE2B 319a7083d5942c1962b4f48f907fea12943a403e4490f74f3cd38662f1c63f57270b27b6039a5a8f29a980540cd0dcf1d1c7560c7ac126f07e491983dc0e81ef SHA512 5ca0b6e970ded3dc93cd55a2c1af7c43063d87f57f119a011313eb7d08faa4057896a56d4eac2e13d39857c94b54f04840a053153cc39008c76cbdd33c8ddbba
diff --git a/dev-python/selenium/selenium-4.34.2.ebuild b/dev-python/selenium/selenium-4.34.2.ebuild
new file mode 100644
index 000000000000..6f12081c9a0b
--- /dev/null
+++ b/dev-python/selenium/selenium-4.34.2.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+# base releases are usually ${P}, followups ${P}-python
+TEST_TAG=${P}
+[[ ${PV} != *.0 ]] && TEST_TAG+=-python
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+ https://www.seleniumhq.org/
+ https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+ https://pypi.org/project/selenium/
+"
+SRC_URI+="
+ test? (
+ https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+ -> ${TEST_P}.gh.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test test-rust"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/certifi-2025.6.15[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.30[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/filetype[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-util/selenium-manager
+ net-misc/geckodriver
+ || (
+ www-client/firefox
+ www-client/firefox-bin
+ )
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not build selenium-manager implicitly
+ sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
+ -i pyproject.toml || die
+ # unpin deps
+ sed -i -e 's:~=:>=:g' pyproject.toml || die
+}
+
+python_test() {
+ # NB: xdist is causing random pytest crashes with high job numbers
+
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_PLUGINS=()
+ local EPYTEST_IGNORE=()
+ local EPYTEST_DESELECT=(
+ # expects vanilla certifi
+ test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+ )
+ local pytest_args=(
+ # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+ # seriously?
+ -o "python_files=*_tests.py test_*.py"
+ -p pytest_mock
+ )
+ if use test-rust; then
+ local -x PATH=${T}/bin:${PATH}
+ local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
+
+ EPYTEST_PLUGINS+=( pytest-rerunfailures )
+ pytest_args+=(
+ --reruns=5
+
+ --driver=firefox
+ --browser-binary="$(type -P firefox || type -P firefox-bin)"
+ --driver-binary="$(type -P geckodriver)"
+ --headless
+ )
+
+ local EPYTEST_IGNORE+=(
+ # requires some "python.runfiles", also bidi tests generally fail
+ test/selenium/webdriver/common/bidi_webextension_tests.py
+ )
+ EPYTEST_DESELECT+=(
+ # expects prebuilt executables for various systems
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
+
+ # TODO: these don't respect --*-binary and try to fetch versions
+ test/selenium/webdriver/firefox
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
+ test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
+
+ # TODO
+ 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
+
+ # TODO
+ test/selenium/webdriver/common/bidi_browser_tests.py
+ test/selenium/webdriver/common/bidi_browsing_context_tests.py
+ test/selenium/webdriver/common/bidi_network_tests.py
+ test/selenium/webdriver/common/bidi_permissions_tests.py
+ test/selenium/webdriver/common/bidi_script_tests.py
+ test/selenium/webdriver/common/bidi_session_tests.py
+ test/selenium/webdriver/common/bidi_storage_tests.py
+ test/selenium/webdriver/common/bidi_tests.py
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
+ )
+ else
+ EPYTEST_IGNORE+=(
+ test/selenium
+ )
+ fi
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ epytest "${pytest_args[@]}"
+}
diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest
index ef52123153bd..cc465bce8afb 100644
--- a/dev-python/testfixtures/Manifest
+++ b/dev-python/testfixtures/Manifest
@@ -1,3 +1,4 @@
DIST testfixtures-8.3.0.tar.gz 137420 BLAKE2B bf0fe6705bbbb33a26dcc98be061c1dafbe331ca6c4ac8c028e146f7e156870ee8abe5118b3182600e8d513530c442a4fa1efa696253b9b0c114733bd40fc6ee SHA512 b2c18a35c44b90bce50cc68ca9bf9909ac8f75287c7188eeddfa855aec1db3bd14f3fccb4c5ef0e44b19c683ad4bd6be4876554ce9127698e8e20cbfa4191800
DIST testfixtures-9.0.0.tar.gz 87851 BLAKE2B e3c718572d844ca1070a044fdd21246ffa4839a89e9d95603bbe9496bf510957eac125a29a9db2beb588d79957a068c5d9585bfe3d954d8f88075900f531f904 SHA512 8a88bd0b868793e75fc867fa6cdf5f994c69178141f1b5c0b3709ebd4cf52a2209fa4b37c09ccc6c2dab95fdd646ea8e4367425ed382d4a99d8f8de2d8d862bc
DIST testfixtures-9.0.1.tar.gz 88436 BLAKE2B 1c029de0e2dee29a2fadb100ea19ffaac3ee4e6312ae2991eea515c5c0748d07d8d08fe773c623b014fe9d8a92ce4920101cd9a50c2493d4cc6600e24227c677 SHA512 1874e7b012ec340637b00bbdf33869f68d757b436fd4865d3c1314640f5f7aa68a49273097682337a826c6b7a6c14c7f859ea8963ce7097a3106bd08bcbf9fd1
+DIST testfixtures-9.1.0.tar.gz 88605 BLAKE2B 0ff23f49f24b5bf94cce28b828ffb0f6549f74a4a969c8c65a3abfde44c9903a1d9680b051438b1e3771332e6801f35f7d066de1b7ae8615372583a04a8663c3 SHA512 f1f16be2fb21475e4852f6a1e80eb53d3a702c4748f3bb5abb9dd955020ba0bc823ee910bfec87bd93a4aaa94bd20eff6f061af668219f916b8bb4771ec8f103
diff --git a/dev-python/testfixtures/testfixtures-9.1.0.ebuild b/dev-python/testfixtures/testfixtures-9.1.0.ebuild
new file mode 100644
index 000000000000..0812b0f0c904
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-9.1.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="
+ https://pypi.org/project/testfixtures/
+ https://github.com/Simplistix/testfixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-django )
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=testfixtures.tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ testfixtures/tests/test_twisted.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/wand/wand-0.6.13.ebuild b/dev-python/wand/wand-0.6.13.ebuild
index a14251fc3de6..0728c4f4c08e 100644
--- a/dev-python/wand/wand-0.6.13.ebuild
+++ b/dev-python/wand/wand-0.6.13.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
RDEPEND="
media-gfx/imagemagick
diff --git a/dev-python/yaswfp/Manifest b/dev-python/yaswfp/Manifest
index bac0a936b65b..f3df94d7c920 100644
--- a/dev-python/yaswfp/Manifest
+++ b/dev-python/yaswfp/Manifest
@@ -1 +1 @@
-DIST yaswfp-0.9.3.tar.gz 29845 BLAKE2B 2c5961b79d8378b707a920a4c6a1d75cf8cb09cc6a689035c7118758de3fc1f6fddf6a23e91f4cddea5f7370e4b558b40dfd4a05b16d7fb5f881c5ca74beb4a5 SHA512 06fb5d38c92f418fff77d812507621236b3fc74cf75786031bbd81ac1e61767a29647c7f1d0ffbb25d2f6f1a8749e5a732896ad66956e16c886e24e85915f72b
+DIST yaswfp-1f690acd378c0a24037931520fdc465180ca0948.gh.tar.gz 135961 BLAKE2B 0e17106f69185ec297ac64d26fa16ca935ccaa8a6e75475e81b18facd33edb49aeeb8f59fc61bb7210b0132afeac4f45e229a9d475b621ec776b2cf6217c8eaf SHA512 a825201da9d6430472dc09e7ba40a475ff2950ee42aecee1e8597c645c0e2eec3e069e801ef17795e48f72831464820ad661d2cdf69b99fd65491a1604ce5fc0
diff --git a/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild b/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
index d5f89387f516..adbb1c312a3b 100644
--- a/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
+++ b/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
@@ -1,16 +1,26 @@
-# 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} )
+PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
+# PyPI doesn't have tests, repo doesn't have tags
+COMMIT=1f690acd378c0a24037931520fdc465180ca0948
+MY_P=${PN}-${COMMIT}
+
DESCRIPTION="Yet Another SWF Parser"
HOMEPAGE="https://github.com/facundobatista/yaswfp"
+SRC_URI="
+ https://github.com/facundobatista/yaswfp/archive/${COMMIT}.tar.gz -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests unittest