summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-02-23 06:54:52 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-02-23 06:54:52 +0000
commitcc9073f1ce5239f13420993250d54677183f20cb (patch)
treef2ea0f067310fc0473d6535a407c196fe87b1831 /dev-python
parenta5354da63fa3c8e79b10b2865b7c156e42a91a95 (diff)
downloadbaldeagleos-repo-cc9073f1ce5239f13420993250d54677183f20cb.tar.gz
baldeagleos-repo-cc9073f1ce5239f13420993250d54677183f20cb.tar.xz
baldeagleos-repo-cc9073f1ce5239f13420993250d54677183f20cb.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/breathe/Manifest1
-rw-r--r--dev-python/breathe/breathe-4.35.0-r1.ebuild2
-rw-r--r--dev-python/breathe/breathe-4.36.0.ebuild37
-rw-r--r--dev-python/cloup/Manifest2
-rw-r--r--dev-python/cloup/cloup-3.0.6.ebuild (renamed from dev-python/cloup/cloup-3.0.5.ebuild)11
-rw-r--r--dev-python/decorator/Manifest1
-rw-r--r--dev-python/decorator/decorator-5.2.0.ebuild28
-rw-r--r--dev-python/executing/Manifest1
-rw-r--r--dev-python/executing/executing-2.1.0-r1.ebuild65
-rw-r--r--dev-python/executing/executing-2.2.0.ebuild2
-rw-r--r--dev-python/executing/files/executing-2.1.0-py3126.patch178
-rw-r--r--dev-python/flask-caching/Manifest1
-rw-r--r--dev-python/flask-caching/flask-caching-2.3.1.ebuild43
-rw-r--r--dev-python/fonttools/fonttools-4.56.0.ebuild2
-rw-r--r--dev-python/id/id-1.5.0.ebuild2
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.6.8.ebuild29
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha4.ebuild2
-rw-r--r--dev-python/psycopg/Manifest1
-rw-r--r--dev-python/psycopg/psycopg-3.2.5.ebuild119
-rw-r--r--dev-python/pycotap/pycotap-1.3.1.ebuild2
-rw-r--r--dev-python/pydantic/pydantic-2.10.6.ebuild2
-rw-r--r--dev-python/pyopenssl/Manifest2
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.2.1.ebuild61
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.3.0.ebuild61
-rw-r--r--dev-python/pyopenssl/pyopenssl-25.0.0.ebuild2
-rw-r--r--dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild2
-rw-r--r--dev-python/python-tests/python-tests-3.12.9.ebuild2
-rw-r--r--dev-python/python-tests/python-tests-3.13.2.ebuild2
-rw-r--r--dev-python/rapidfuzz/Manifest1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.11.0.ebuild59
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.12.1.ebuild2
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild2
-rw-r--r--dev-python/setproctitle/Manifest1
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.5.ebuild38
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.38.ebuild2
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.46.0.ebuild57
-rw-r--r--dev-python/twine/twine-6.1.0.ebuild2
-rw-r--r--dev-python/websockets/websockets-14.2.ebuild2
-rw-r--r--dev-python/wrapt/wrapt-1.17.2.ebuild2
41 files changed, 381 insertions, 452 deletions
diff --git a/dev-python/breathe/Manifest b/dev-python/breathe/Manifest
index a14e4d4d735f..8e844038562c 100644
--- a/dev-python/breathe/Manifest
+++ b/dev-python/breathe/Manifest
@@ -1 +1,2 @@
DIST breathe-4.35.0.gh.tar.gz 212932 BLAKE2B 9423cc99cd1dc45fa1c93f1e2adfe59be4f3398842d3c6f98ee7a17285e108de4eb88e149c4ee179fa1008e30b69c8fa4f3934506aa53892c2eb612fa7652ba3 SHA512 76e36fceb89c21e2c62471a37b856f8e7077f946ca8ebffdd068297d7d447ba4f42f8f9d91e231f7a181d7dba2cb8650479f35f8bef342184e5ccbd3dd951f91
+DIST breathe-4.36.0.gh.tar.gz 219346 BLAKE2B 26e18a7cbe34762579bff965e48772b54438a2ed1235dad52fc63533afe47f78cb921683c201a281e732f4e67d5a5edbe850a369f57d7eca83f0a54f43cb68a5 SHA512 fd640ed75680134a5a0e8860764bb430bb971f49ad2f88392de7ba97d633e377079eaf1c7e35a72db135e4c4d3b066c6c9744ccc151ad18d865bb37c9de833d7
diff --git a/dev-python/breathe/breathe-4.35.0-r1.ebuild b/dev-python/breathe/breathe-4.35.0-r1.ebuild
index 4cb09a2f0339..b30b1c347c21 100644
--- a/dev-python/breathe/breathe-4.35.0-r1.ebuild
+++ b/dev-python/breathe/breathe-4.35.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/breathe/breathe-4.36.0.ebuild b/dev-python/breathe/breathe-4.36.0.ebuild
new file mode 100644
index 000000000000..3a962dc4b28b
--- /dev/null
+++ b/dev-python/breathe/breathe-4.36.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx Doxygen renderer"
+HOMEPAGE="
+ https://breathe.readthedocs.io/en/latest/
+ https://github.com/breathe-doc/breathe/
+ https://pypi.org/project/breathe/
+"
+SRC_URI="
+ https://github.com/breathe-doc/breathe/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ app-text/doxygen
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-7.2.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cloup/Manifest b/dev-python/cloup/Manifest
index 4b06eddedfaa..d18d298b1392 100644
--- a/dev-python/cloup/Manifest
+++ b/dev-python/cloup/Manifest
@@ -1 +1 @@
-DIST cloup-3.0.5.gh.tar.gz 226050 BLAKE2B c9e100e93266e2159ba27c9261596aec1960f8cc7c7da47e8aac53cf5720b2348b8b74a3b9cde21240e73d5a2da4dab8fbf431236826b9e26f17f5a328a198b4 SHA512 04cd5fa7474448b9524d20b082d246a7aa0e19c14dba61640573b189c86f8ad639d2c38258df545cc0d179606e84284a4f0b305b512d33d182fbc3861eb60c64
+DIST cloup-3.0.6.gh.tar.gz 225617 BLAKE2B 66921c03e0ef5ab547b583a3c0584b5e5a6f5f16c2bc7d8648df547e704362a4388228dbbf98224d6798bcf1d47e6b095d73966af5a279c3f34f0c9f581e3dbb SHA512 6a936868127557f35c9accf216ed00f8fd19f40f64fa8a986f73ea58cb83545cfb8a6bac1101b4b9811c2b280b50a0ff1bc9fa58b553f9279056768d22825fec
diff --git a/dev-python/cloup/cloup-3.0.5.ebuild b/dev-python/cloup/cloup-3.0.6.ebuild
index eef7cbe299bc..01cec1040626 100644
--- a/dev-python/cloup/cloup-3.0.5.ebuild
+++ b/dev-python/cloup/cloup-3.0.6.ebuild
@@ -1,10 +1,10 @@
-# 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_{9,10,11,12,13} pypy3 )
inherit distutils-r1
@@ -16,6 +16,8 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
+DOCS+=( CHANGELOG.rst CREDITS.rst LICENSE examples )
+
RDEPEND="
>=dev-python/click-8.0[${PYTHON_USEDEP}]
<dev-python/click-9.0[${PYTHON_USEDEP}]
@@ -35,7 +37,4 @@ BDEPEND="
distutils_enable_tests pytest
# distutils_enable_sphinx docs # The doc need dev-python/sphinx < 5, which we don't have
-src_prepare() {
- default
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/decorator/Manifest b/dev-python/decorator/Manifest
index d8766686cbb8..4705b6d73673 100644
--- a/dev-python/decorator/Manifest
+++ b/dev-python/decorator/Manifest
@@ -1 +1,2 @@
DIST decorator-5.1.1.tar.gz 35016 BLAKE2B 0e38ee2dea6793d489f5c50692549022f1b252ab3a7b75da5b785f856b7f18faaf5570dde2c68f6936c11460599839063e9eb8a133789a00f683761393a5103d SHA512 584857ffb0c3e52344b473ceb9e28adfd7d789d480a528471f8ab37be055ebe5feb170f41077010e25350e1c311189d45b90773cf12f0043de98ea8ebcde20ab
+DIST decorator-5.2.0.gh.tar.gz 54313 BLAKE2B bab7a0dc6b8431893cdf72258a6b6f8f45e2352cd4bf55fc63571e8d7acaa97f3fdc120a996df278b3eee40c3b0f7c4e9914a8a498feef79145a6d4b9ee772b0 SHA512 b50d645acd924b1c0a35ebe6d52f638fe771910e55a925a2cb642aca694d99c9886b7a580b631ee7c8760d485a0924051235d24d0ccc393638ed305694e14e17
diff --git a/dev-python/decorator/decorator-5.2.0.ebuild b/dev-python/decorator/decorator-5.2.0.ebuild
new file mode 100644
index 000000000000..05c00f9b7606
--- /dev/null
+++ b/dev-python/decorator/decorator-5.2.0.ebuild
@@ -0,0 +1,28 @@
+# 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
+
+DESCRIPTION="Simplifies the usage of decorators for the average programmer"
+HOMEPAGE="
+ https://github.com/micheles/decorator/
+ https://pypi.org/project/decorator/
+"
+# https://github.com/micheles/decorator/issues/167
+SRC_URI="
+ https://github.com/micheles/decorator/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 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+python_test() {
+ "${EPYTHON}" tests/test.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index 5853f01d7ec4..d8f41c63d5b8 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1,2 +1 @@
-DIST executing-2.1.0.gh.tar.gz 980727 BLAKE2B 0d7a3f0a7e83a1607fdc5bd618b7484bd2eb27443568ee6542d7caad050ff7f5a2ddf71518d434059bdc5f17bff81badf393b91628754b5d6b8ec5a4dbe8146a SHA512 0918ed3eca37d55a1c19b20a959538c46d65688979e0808270b7060a25d3db44bb593d2f8de202740af9f008f273e1e7565ba5b20b90c678e070b52a12bed4cd
DIST executing-2.2.0.gh.tar.gz 981774 BLAKE2B 81fb081f3835b8d389ac90fd91db769d0e7171e99b05a3e7ba0edb2910fed0fcd26ff24c6b84bece138de93166571df09c85d47eeec816806c47b816d7b12b96 SHA512 e8f6a399e57519149a15ae84c1d4a01c7cd6fdb81415939ef66f19a4abd9bf2ddbb156a9f59e95328a26504b8f8775a48e8da44af2027dd4763071b1997b8b84
diff --git a/dev-python/executing/executing-2.1.0-r1.ebuild b/dev-python/executing/executing-2.1.0-r1.ebuild
deleted file mode 100644
index 92895faeb478..000000000000
--- a/dev-python/executing/executing-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2020-2024 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 optfeature
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
- https://github.com/alexmojaki/executing/
- https://pypi.org/project/executing/
-"
-SRC_URI="
- https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
- dev-python/littleutils[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-PATCHES=(
- # https://github.com/alexmojaki/executing/pull/86
- "${FILESDIR}/${P}-py3126.patch"
-)
-
-python_test() {
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
- "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
- )
- ;;
- esac
- if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_ipython.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "getting node's source code" dev-python/asttokens
-}
diff --git a/dev-python/executing/executing-2.2.0.ebuild b/dev-python/executing/executing-2.2.0.ebuild
index 3aae530d7e05..f802ff717bd1 100644
--- a/dev-python/executing/executing-2.2.0.ebuild
+++ b/dev-python/executing/executing-2.2.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
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"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/executing/files/executing-2.1.0-py3126.patch b/dev-python/executing/files/executing-2.1.0-py3126.patch
deleted file mode 100644
index 7c3b96d0b568..000000000000
--- a/dev-python/executing/files/executing-2.1.0-py3126.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 4acebfaa89196785ccc893d56b97ac8598c30e71 Mon Sep 17 00:00:00 2001
-From: Frank Hoffmann <15r10nk-git@polarbit.de>
-Date: Mon, 26 Aug 2024 21:43:13 +0200
-Subject: [PATCH 1/2] fix: backward compatibility fix for changed source
- positions in 3.12.6 (#85)
-
----
- executing/_position_node_finder.py | 15 +++++++++++++++
- tests/generate_small_sample.py | 9 ++++++---
- tests/test_main.py | 5 +++++
- 3 files changed, 26 insertions(+), 3 deletions(-)
-
-diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py
-index 7a81415..c923822 100644
---- a/executing/_position_node_finder.py
-+++ b/executing/_position_node_finder.py
-@@ -242,6 +242,21 @@ def fix_result(
- # keeping the old behaviour makes it possible to distinguish both cases.
-
- return node.parent
-+
-+ if (
-+ sys.version_info >= (3, 12, 6)
-+ and instruction.opname in ("GET_ITER", "FOR_ITER")
-+ and isinstance(
-+ node.parent.parent,
-+ (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp),
-+ )
-+ and isinstance(node.parent,ast.comprehension)
-+ and node is node.parent.iter
-+ ):
-+ # same as above but only for comprehensions, see:
-+ # https://github.com/python/cpython/issues/123142
-+
-+ return node.parent.parent
- return node
-
- def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None:
-diff --git a/tests/generate_small_sample.py b/tests/generate_small_sample.py
-index 89c7477..573d17a 100644
---- a/tests/generate_small_sample.py
-+++ b/tests/generate_small_sample.py
-@@ -18,6 +18,7 @@
- from rich.syntax import Syntax
- from rich.console import Console
- import argparse
-+import ast
-
- last_samples_dir = Path(__file__).parent / "last_samples"
- last_samples_dir.mkdir(exist_ok=True)
-@@ -63,6 +64,11 @@ def test_file(filename: Path):
- delattr(Source, cache_name)
-
- test = TestFiles()
-+ try:
-+ ast.parse(code)
-+ except (RecursionError,SyntaxError):
-+ return True
-+
- try:
- with open(os.devnull, "w") as dev_null:
- with contextlib.redirect_stderr(dev_null):
-@@ -122,9 +128,6 @@ def main():
- break_file.unlink()
- sys.exit(0)
-
-- if time.time() > end_time:
-- print("Timeout")
-- sys.exit(0)
-
- if not result:
- print(f"{filename} is failing the tests -> minimize\n")
-diff --git a/tests/test_main.py b/tests/test_main.py
-index 5d4f83b..a3f92ee 100644
---- a/tests/test_main.py
-+++ b/tests/test_main.py
-@@ -609,6 +609,11 @@ def __next__(self):
- assert {i: i for i in iter_test(ast.DictComp)} == {1: 1, 2: 2}
- assert list(i for i in iter_test(ast.GeneratorExp)) == [1, 2]
-
-+ assert [i for j in [0] for i in iter_test(ast.ListComp)] == [1, 2]
-+ assert {i for j in [0] for i in iter_test(ast.SetComp)} == {1, 2}
-+ assert {i: i for j in [0] for i in iter_test(ast.DictComp)} == {1: 1, 2: 2}
-+ assert list(i for j in [0] for i in iter_test(ast.GeneratorExp)) == [1, 2]
-+
- for i in iter_test(ast.For):
- assert i in (1, 2)
-
-
-From 6a6925e691681aa5bc05b42bf1f1f06adeb25722 Mon Sep 17 00:00:00 2001
-From: Frank Hoffmann <15r10nk-git@polarbit.de>
-Date: Sun, 15 Sep 2024 14:24:10 +0200
-Subject: [PATCH 2/2] fix: handle changed positions for __exit__ of ast.With
-
----
- executing/_position_node_finder.py | 50 +++++++++++++++++++
- ...3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py | 3 ++
- 2 files changed, 53 insertions(+)
- create mode 100644 tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
-
-diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py
-index c923822..0f83441 100644
---- a/executing/_position_node_finder.py
-+++ b/executing/_position_node_finder.py
-@@ -257,6 +257,51 @@ def fix_result(
- # https://github.com/python/cpython/issues/123142
-
- return node.parent.parent
-+
-+ if sys.version_info >= (3, 12,6) and instruction.opname == "CALL":
-+ before = self.instruction_before(instruction)
-+ if (
-+ before is not None
-+ and before.opname == "LOAD_CONST"
-+ and before.positions == instruction.positions
-+ and isinstance(node.parent, ast.withitem)
-+ and node is node.parent.context_expr
-+ ):
-+ # node positions for with-statements have change
-+ # and is now equal to the expression which created the context-manager
-+ # https://github.com/python/cpython/pull/120763
-+
-+ # with context_manager:
-+ # ...
-+
-+ # but there is one problem to distinguish call-expressions from __exit__()
-+
-+ # with context_manager():
-+ # ...
-+
-+ # the call for __exit__
-+
-+ # 20 1:5 1:22 LOAD_CONST(None)
-+ # 22 1:5 1:22 LOAD_CONST(None)
-+ # 24 1:5 1:22 LOAD_CONST(None)
-+ # 26 1:5 1:22 CALL() # <-- same source range as context_manager()
-+
-+ # but we can use the fact that the previous load for None
-+ # has the same source range as the call, wich can not happen for normal calls
-+
-+ # we return the same ast.With statement at the and to preserve backward compatibility
-+
-+ return node.parent.parent
-+
-+ if (
-+ sys.version_info >= (3, 12,6)
-+ and instruction.opname == "BEFORE_WITH"
-+ and isinstance(node.parent, ast.withitem)
-+ and node is node.parent.context_expr
-+ ):
-+ # handle positions changes for __enter__
-+ return node.parent.parent
-+
- return node
-
- def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None:
-@@ -895,6 +940,11 @@ def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool:
- def instruction(self, index: int) -> Optional[dis.Instruction]:
- return self.bc_dict.get(index,None)
-
-+ def instruction_before(
-+ self, instruction: dis.Instruction
-+ ) -> Optional[dis.Instruction]:
-+ return self.bc_dict.get(instruction.offset - 2, None)
-+
- def opname(self, index: int) -> str:
- i=self.instruction(index)
- if i is None:
-diff --git a/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
-new file mode 100644
-index 0000000..bfffc14
---- /dev/null
-+++ b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
-@@ -0,0 +1,3 @@
-+async def wait():
-+ async with something:
-+ pass
-\ No newline at end of file
diff --git a/dev-python/flask-caching/Manifest b/dev-python/flask-caching/Manifest
index ead2150b1364..4c9b3090d13b 100644
--- a/dev-python/flask-caching/Manifest
+++ b/dev-python/flask-caching/Manifest
@@ -1 +1,2 @@
DIST flask_caching-2.3.0.tar.gz 67668 BLAKE2B 13517a0741959ca72072e2baf71f3d87b61a678052f0c3ba657d247fb82ab8457f45d453e9730fdfcac1cb665822d78a9c69aef83c0c62d2b808021f42f9881b SHA512 40ed857cf0822267af7e2c138b3136ff6312b3b2ea627a97738792ea4f7649db20f2df31a7414c42cc245a66d34248b3a54681824cf23d800bdb0d453c02df49
+DIST flask_caching-2.3.1.tar.gz 67560 BLAKE2B e4bd5121b4a43a81a359fb839c886e499028f4144c8a529a56ec8700db3b4819ddf59680131bc277d001ece976a9623f462be22f5aacd9668019e85e4d13d380 SHA512 ec591131746ee15f6e451b38af93194eeede1ff191b78042eafdf4fc9ab91eec6347372312cd9be8a92880679446af0c98be546b23845a12ef602e9593d48955
diff --git a/dev-python/flask-caching/flask-caching-2.3.1.ebuild b/dev-python/flask-caching/flask-caching-2.3.1.ebuild
new file mode 100644
index 000000000000..18ce9904c07b
--- /dev/null
+++ b/dev-python/flask-caching/flask-caching-2.3.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=Flask-Caching
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Adds caching support to Flask applications"
+HOMEPAGE="
+ https://github.com/pallets-eco/flask-caching/
+ https://pypi.org/project/Flask-Caching/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cachelib-0.9.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/pylibmc[sasl(-),${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-xprocess[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # fix check for obsolete package name
+ sed -i -e '/pytest_xprocess/d' tests/conftest.py || die
+}
diff --git a/dev-python/fonttools/fonttools-4.56.0.ebuild b/dev-python/fonttools/fonttools-4.56.0.ebuild
index 671cb3d64052..16c8b43c1f07 100644
--- a/dev-python/fonttools/fonttools-4.56.0.ebuild
+++ b/dev-python/fonttools/fonttools-4.56.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
RDEPEND="
diff --git a/dev-python/id/id-1.5.0.ebuild b/dev-python/id/id-1.5.0.ebuild
index adc8e320efcd..3bf14d4259ce 100644
--- a/dev-python/id/id-1.5.0.ebuild
+++ b/dev-python/id/id-1.5.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv sparc x86"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index db1a0037824e..e6acad00c5a1 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,2 +1,3 @@
DIST identify-2.6.6.gh.tar.gz 101889 BLAKE2B e6246bceed1aaf806e4d7984581214c9272508782cd35429b8d58779a0546b5dc1536d970d6a71bd7135afb73216896ffaee0ec627261f25907034081580018f SHA512 0312654b6cf20e59248656fe09d54292fafa4f1c41b85def6f828f986b4ef5fe9d275a9d90537f3129060a572106b79aad338ac52f9d0d4287a8a6db805fb18f
DIST identify-2.6.7.gh.tar.gz 101902 BLAKE2B 078426177c20ba9b6d8ce3771c982304af2935329ef4c0c09fa8cd0f8309987fe85f31f5c4bf05e231bab43065320f92797cbb19441e839b37729e95d81681da SHA512 9f43ce68e3767bfc45fc56509b9c7604c7a1947688f8305019bd551205820fb4f095ad48d7cc0d05caf90dd8ca43b2d3ef4bb1808938e04b7a44b3658734bdc4
+DIST identify-2.6.8.gh.tar.gz 101927 BLAKE2B 27ca9c41dade2bfb0710fa92936ec1a478bdad4e2a94af1b5df98234aeb4666758cc47820e199dfefe9274c8439240a1722880dce44a7d78c79bf010daf5fee3 SHA512 3d30615719b7770fc9eebf790ffb01cefbe71832bbc48be7052ce1f2c636bca5808e9b257e16145669dadb06e21a517802ee3bd99bb646a2f2f2ad3da00682af
diff --git a/dev-python/identify/identify-2.6.8.ebuild b/dev-python/identify/identify-2.6.8.ebuild
new file mode 100644
index 000000000000..0507ba92554f
--- /dev/null
+++ b/dev-python/identify/identify-2.6.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha4.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha4.ebuild
index 7de388693490..4c2347d25e4f 100644
--- a/dev-python/mpmath/mpmath-1.4.0_alpha4.ebuild
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha4.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index 1cc36e6d9a74..c7dc9481c62b 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -2,6 +2,7 @@ DIST psycopg-3.1.19.gh.tar.gz 507073 BLAKE2B c10e2ba83f4a3bb0646d86c0f1311ae43e3
DIST psycopg-3.2.2.gh.tar.gz 550226 BLAKE2B 2731190da5b044f16eb0f90fb5417244e46fc0906dde6ee9bd1ee4d91613f59ef1943da6662ad1f3db1487b8cc2b4ccb4e0a79ecc056a8f72c7e2b7b70e39abd SHA512 48686101c9d568003ffbf90cf07bc4496fb161f599b60a2b2df41ac120f338bee7edbeae3786071969d6bbb9acdbe868fa568b9cfa3b7a17dec2d47e5d54f002
DIST psycopg-3.2.3.gh.tar.gz 550802 BLAKE2B 1f748fc2dc915fd82b2bc557ae4263ecf1070d5ba08681cb6ae21570acf601b03a2bde7e4324cd506e0146c86db976b003c57e99cd1948a930c074f0674d6ba8 SHA512 cf543652cfd27cf1cad3b1e3b8b50802562cc49f8fbd9ae5bd85ffdf26e30dc470f1f3380261c8cad418945ade8dc4f199ebcba08968cb87fd0b6c241fd8040d
DIST psycopg-3.2.4.gh.tar.gz 555758 BLAKE2B 1b74f8a6ee91266fb6c6a13ee51fd7d18514b4ce662f911f83baba652bb9198cae21636f6f1dad6eae916cc2c22f2322629dea346e61ce94a1d94a80c8e8b5be SHA512 026f4a74011c37e594903931da629fa0150834db0916bc02a45aa31eb79fbbcd9a0b6b59809d4db389e298101646409097d99c4950981ddb43413a7488e4f1ff
+DIST psycopg-3.2.5.gh.tar.gz 558069 BLAKE2B 1913db4e399d9e44e392019471d3b7a5fbbff1da67a87961b084ca2fa34ddf2af3c862093077bfe04503d16187abff4ab62e33b1a3505b7a8cafa836bcf33ba3 SHA512 f4c62e462f6fba04f7b07bf500cbf5ee3e0ffa570c682f507aae0fc5ee88a1eec3f98da05c9a2c957d018f12f53a9567565f8b81914eb36ca92992fa2ccd8156
DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900
DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d
DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f
diff --git a/dev-python/psycopg/psycopg-3.2.5.ebuild b/dev-python/psycopg/psycopg-3.2.5.ebuild
new file mode 100644
index 000000000000..6502f9a622b2
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.2.5.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/psycopg3/
+ https://github.com/psycopg/psycopg/
+ https://pypi.org/project/psycopg/
+"
+SRC_URI="
+ https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="+native-extensions"
+
+DEPEND="
+ native-extensions? (
+ >=dev-db/postgresql-8.1:=
+ )
+ !native-extensions? (
+ >=dev-db/postgresql-8.1:*
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ >=dev-python/anyio-4.0[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/935401
+ # https://github.com/psycopg/psycopg/issues/867
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Python code + ctypes backend
+ cd psycopg || die
+ distutils-r1_python_compile
+
+ # optional C backend
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ local DISTUTILS_USE_PEP517=standalone
+ cd ../psycopg_c || die
+ distutils-r1_python_compile
+ fi
+ cd .. || die
+}
+
+src_test() {
+ rm -r psycopg{,_c} || die
+
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" test || die
+
+ local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for the psycopg_pool package
+ tests/pool
+ # some broken mypy magic
+ tests/test_module.py::test_version
+ tests/test_module.py::test_version_c
+ tests/test_typing.py
+ tests/crdb/test_typing.py
+ # TODO, relying on undefined ordering in Python?
+ tests/test_dns_srv.py::test_srv
+ )
+
+ local impls=( python )
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ impls+=( c )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PSYCOPG_IMPL
+ for PSYCOPG_IMPL in "${impls[@]}"; do
+ einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
+ # leak and timing tests are fragile whereas slow tests are slow
+ epytest -p anyio -k "not leak" \
+ -m "not timing and not slow and not flakey"
+ done
+}
diff --git a/dev-python/pycotap/pycotap-1.3.1.ebuild b/dev-python/pycotap/pycotap-1.3.1.ebuild
index f5947331961e..9e4bfaeea946 100644
--- a/dev-python/pycotap/pycotap-1.3.1.ebuild
+++ b/dev-python/pycotap/pycotap-1.3.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
PATCHES=(
"${FILESDIR}"/pycotap-1.3.1-fix-python3.13-tests.patch
diff --git a/dev-python/pydantic/pydantic-2.10.6.ebuild b/dev-python/pydantic/pydantic-2.10.6.ebuild
index b5886d174f79..23a469711ae1 100644
--- a/dev-python/pydantic/pydantic-2.10.6.ebuild
+++ b/dev-python/pydantic/pydantic-2.10.6.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
index 3a9365cdb662..59de1cc87588 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -1,3 +1 @@
-DIST pyopenssl-24.2.1.tar.gz 184323 BLAKE2B 5d077508c45c56b1da886877fb41e18699f932933badb73b271ce6d55fbf985398f5a74187fe65fde79b60768cb1705daf805f6fb8570f66ad3cecf11ad9b1c3 SHA512 4d0cdf71a5ae785644bd466ef094592fbf4ab804de8d153c139a88d3ff9b8cc80d073f3d49d4dc73d8ebf97a867e1560a5308b998f7ef0ccc734dcc56697c831
-DIST pyopenssl-24.3.0.tar.gz 178944 BLAKE2B ba3117c3c1238ecc84dfdbc84beaeb47c2d12d9e7f2742f798816482954696fd61405884780726f902f7784407e47f129cc5c38f7cf4cd76df4511d215ea4e4c SHA512 ca46a56a5c97ac91d1cbe1cb8b4d9e6d84610785736e925a579560802c1dce6b1cd95c0fed5c25aa775be8a4ae514c5962a86f2db5ecab4506e67ba80ebebd44
DIST pyopenssl-25.0.0.tar.gz 179573 BLAKE2B e5c9c9e4daa590008163b2e67b7c318cf72a0c922b1db41bf8ef31a44aa59f98a7a594ce1b59a887d47ffb0257f1d11faa920d3bf7807a19e6ece819947e5614 SHA512 77f9f03610a4ddaf115d581b873e728a79ba0e8d762ddeffacb600b6bc4a50bde2edfc114aebe12b9e177f3d53c19fe0c2bf0a5821e609489b8640e23c324376
diff --git a/dev-python/pyopenssl/pyopenssl-24.2.1.ebuild b/dev-python/pyopenssl/pyopenssl-24.2.1.ebuild
deleted file mode 100644
index 8026a4249acf..000000000000
--- a/dev-python/pyopenssl/pyopenssl-24.2.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=pyOpenSSL
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/cryptography-44[${PYTHON_USEDEP}]
- >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- local -x TZ=UTC
- local EPYTEST_DESELECT=(
- tests/test_ssl.py::TestContext::test_set_default_verify_paths
- )
-
- if ! tc-has-64bit-time_t; then
- einfo "time_t is smaller than 64 bits, will skip broken tests"
- EPYTEST_DESELECT+=(
- tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- distutils-r1_src_test
-}
-
-python_test() {
- epytest -p rerunfailures
-}
diff --git a/dev-python/pyopenssl/pyopenssl-24.3.0.ebuild b/dev-python/pyopenssl/pyopenssl-24.3.0.ebuild
deleted file mode 100644
index a9b7261e70af..000000000000
--- a/dev-python/pyopenssl/pyopenssl-24.3.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=pyOpenSSL
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- <dev-python/cryptography-45[${PYTHON_USEDEP}]
- >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- local -x TZ=UTC
- local EPYTEST_DESELECT=(
- tests/test_ssl.py::TestContext::test_set_default_verify_paths
- )
-
- if ! tc-has-64bit-time_t; then
- einfo "time_t is smaller than 64 bits, will skip broken tests"
- EPYTEST_DESELECT+=(
- tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- distutils-r1_src_test
-}
-
-python_test() {
- epytest -p rerunfailures
-}
diff --git a/dev-python/pyopenssl/pyopenssl-25.0.0.ebuild b/dev-python/pyopenssl/pyopenssl-25.0.0.ebuild
index dc8cc533662b..aa3351af1a88 100644
--- a/dev-python/pyopenssl/pyopenssl-25.0.0.ebuild
+++ b/dev-python/pyopenssl/pyopenssl-25.0.0.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
<dev-python/cryptography-45[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild b/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild
index 7c2838731b56..a788b589de26 100644
--- a/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild
+++ b/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/pytest-8.1[${PYTHON_USEDEP}]
diff --git a/dev-python/python-tests/python-tests-3.12.9.ebuild b/dev-python/python-tests/python-tests-3.12.9.ebuild
index f404fda71ef0..1c35cd1ee4cd 100644
--- a/dev-python/python-tests/python-tests-3.12.9.ebuild
+++ b/dev-python/python-tests/python-tests-3.12.9.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
diff --git a/dev-python/python-tests/python-tests-3.13.2.ebuild b/dev-python/python-tests/python-tests-3.13.2.ebuild
index 56b7d050c5b1..f771b1aadb9a 100644
--- a/dev-python/python-tests/python-tests-3.13.2.ebuild
+++ b/dev-python/python-tests/python-tests-3.13.2.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}/Lib"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index 5566f3da2666..545994bc45d5 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,2 +1 @@
-DIST rapidfuzz-3.11.0.tar.gz 57983000 BLAKE2B 0de87fc6a392162b3ef908ed003f54b062d4a3a798cb6915c6ca1e4736ddf5666ae44bacb4351a4948e761ee08e278d5278f63f8c48ec41ef7870baaccbb4194 SHA512 5d8f00321b4314dbfd0409ba1533b35b337838b18e2efa37ef4ce8c406cea3f6fee3655a20d44a0007248ac58173cb60672324a553593a8b70dc5ecc17d8ac4e
DIST rapidfuzz-3.12.1.tar.gz 57907552 BLAKE2B 6a64f05e2a7275a43b827c027ea45728c7718542d769f7eff302ad991afec10559d560a01de1340e518a57528b8c954c642e99e385a5652b990e0aa91a33c335 SHA512 71b0de7ea5aafa30b3976a5424de57398ae9a116b9d36c15595d5998d803b553a3008f82903b74febd2520abcb2de07a58b00cd754263db6d5544ee64a5018eb
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.11.0.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.11.0.ebuild
deleted file mode 100644
index 84d20bc1558b..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-3.11.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYPI_PN=RapidFuzz
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/rapidfuzz/RapidFuzz/
- https://pypi.org/project/RapidFuzz/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-3.2.0
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
- # remove bundled libraries
- rm -r extern || die
- # force recythonization
- find src -name '*.cxx' -delete || die
- # do not require exact taskflow version
- sed -i -e '/Taskflow/s:3\.8\.0::' CMakeLists.txt || die
- # https://github.com/scikit-build/scikit-build-core/issues/912
- sed -i -e '/scikit-build-core/s:0\.10:0.8:' pyproject.toml || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.12.1.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.12.1.ebuild
index 317df628fb44..2eb7aaa10357 100644
--- a/dev-python/rapidfuzz/rapidfuzz-3.12.1.ebuild
+++ b/dev-python/rapidfuzz/rapidfuzz-3.12.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
# all these are header-only libraries
DEPEND="
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild
index 48540a36e116..2c4559d46797 100644
--- a/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild
+++ b/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/pyudev[${PYTHON_USEDEP}]
diff --git a/dev-python/setproctitle/Manifest b/dev-python/setproctitle/Manifest
index e157844ebdc0..ebd7f63a66dc 100644
--- a/dev-python/setproctitle/Manifest
+++ b/dev-python/setproctitle/Manifest
@@ -1 +1,2 @@
DIST setproctitle-1.3.4.tar.gz 26456 BLAKE2B c0be58c004c7a1834c0967ba4f90688aa668c3f6c8ab7c944891e7e4e78de65e14b829f8abf63c8490689d8cd6ab23f236ecfa7837fc4bbc28a45ef46dd3f24b SHA512 b1a8648a83648766eb9f88a15982568de6640692a39a1079455d8788996f73e313b879f567c82878450798b5755a8111a7965b3776e9238eebb59dfd09d41c4e
+DIST setproctitle-1.3.5.tar.gz 26737 BLAKE2B fccb12f651bdf8d8d585465ae56f7e37358692d8361fba77936513d19a395b196d15821ce4a902eba80f22fc84bc9ad919d730aebcbe53ded039b559238368dd SHA512 ab1dc0c22506d8c43b626e39fbad754aa0115faf592d011f84ae28dee31a3797fff61c236c80864eb2749a2e585c46678beb87c63334c55a53c31540e76eea3b
diff --git a/dev-python/setproctitle/setproctitle-1.3.5.ebuild b/dev-python/setproctitle/setproctitle-1.3.5.ebuild
new file mode 100644
index 000000000000..76006026878a
--- /dev/null
+++ b/dev-python/setproctitle/setproctitle-1.3.5.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# The package has a fallback implementation which is a noop but warns
+# if the extensions weren't built, so we always build them.
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 flag-o-matic pypi
+
+DESCRIPTION="Allow customization of the process title"
+HOMEPAGE="
+ https://github.com/dvarrazzo/py-setproctitle/
+ https://pypi.org/project/setproctitle/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # remove the override that makes extension builds non-fatal
+ sed -i -e '/cmdclass/d' setup.py || die
+}
+
+src_configure() {
+ # https://github.com/dvarrazzo/py-setproctitle/issues/145
+ append-cflags -std=gnu17
+
+ distutils-r1_src_configure
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.38.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.38.ebuild
index 4184dc356b09..ddc6a3e7457c 100644
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.38.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.38.ebuild
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples +sqlite test"
RDEPEND="
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index e62d5d3fc0d5..26131b94db55 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1 +1,2 @@
DIST starlette-0.45.3.gh.tar.gz 2574214 BLAKE2B e3a1c44288ba8d2da558417d14a2787a7c00c689298074b4ac9ce330d90e17181d98ad2ed85795bcea408ee2a64d287dec14ce5c7f9dfc79507562697b83511a SHA512 45d3726ce794a7572e4c816fa3eb1a8a9ad2c110757200b4f6e1aed0d502d2cc293e29c5b282d3451c9770ea067cfb684176755bf2d261fdb22de111ef8a1542
+DIST starlette-0.46.0.gh.tar.gz 2575846 BLAKE2B f71379bc9157a9ca6bf9b058a625c97219d8334967fc7f21d0d4efb13feea0088946e6802264aa9a042bf7e26414188c3560b6642f7b22d923381218fe326a05 SHA512 24d35d50bbdc1433b7203a3f74b43d2c303bdf4ed3b4a9ca5f0635c22a03ef35b34569fb99376ba3244520af2045209480152851c9d48172b1b1537424ae16fe
diff --git a/dev-python/starlette/starlette-0.46.0.ebuild b/dev-python/starlette/starlette-0.46.0.ebuild
new file mode 100644
index 000000000000..ff51d180c843
--- /dev/null
+++ b/dev-python/starlette/starlette-0.46.0.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=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
+ <dev-python/httpx-0.29[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/twine/twine-6.1.0.ebuild b/dev-python/twine/twine-6.1.0.ebuild
index 07d916ccce6e..5f0cc799c1c2 100644
--- a/dev-python/twine/twine-6.1.0.ebuild
+++ b/dev-python/twine/twine-6.1.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
diff --git a/dev-python/websockets/websockets-14.2.ebuild b/dev-python/websockets/websockets-14.2.ebuild
index a58204026f5c..d88a72e9cc38 100644
--- a/dev-python/websockets/websockets-14.2.ebuild
+++ b/dev-python/websockets/websockets-14.2.ebuild
@@ -24,7 +24,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
BDEPEND="
diff --git a/dev-python/wrapt/wrapt-1.17.2.ebuild b/dev-python/wrapt/wrapt-1.17.2.ebuild
index 57b635871d4b..2a9b9bfc9a6a 100644
--- a/dev-python/wrapt/wrapt-1.17.2.ebuild
+++ b/dev-python/wrapt/wrapt-1.17.2.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="+native-extensions"
distutils_enable_tests pytest