summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-09-25 17:22:17 -0500
committerCrucible <crucible@localhost>2026-09-25 17:22:17 -0500
commit9a6e1511c14383e24caec476a289148f29a8ea98 (patch)
treebbb40ff849e340605463a1077de6a32e2172f7ae /dev-python
parent73b67572ec30da19af2daa03853db0c65cfa44e0 (diff)
downloadsrcux-9a6e1511c14383e24caec476a289148f29a8ea98.tar.gz
srcux-9a6e1511c14383e24caec476a289148f29a8ea98.tar.xz
srcux-9a6e1511c14383e24caec476a289148f29a8ea98.zip
Publish srcux candidate 0000000432-20260925-171914
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/authheaders/authheaders-0.16.3.ebuild2
-rw-r--r--dev-python/awscrt/awscrt-0.37.0.ebuild2
-rw-r--r--dev-python/chess/chess-1.11.2.ebuild1
-rw-r--r--dev-python/cogapp/Manifest1
-rw-r--r--dev-python/cogapp/cogapp-3.6.0.ebuild20
-rw-r--r--dev-python/liblore/liblore-0.9.0.ebuild2
-rw-r--r--dev-python/markdown/Manifest2
-rw-r--r--dev-python/markdown/markdown-3.11.ebuild (renamed from dev-python/markdown/markdown-3.10.2.ebuild)2
-rw-r--r--dev-python/multipart/Manifest2
-rw-r--r--dev-python/multipart/multipart-2.0.1.ebuild (renamed from dev-python/multipart/multipart-1.3.1.ebuild)2
-rw-r--r--dev-python/opentelemetry-api/Manifest2
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.45.0.ebuild (renamed from dev-python/opentelemetry-api/opentelemetry-api-1.43.0.ebuild)7
-rw-r--r--dev-python/opentelemetry-sdk/Manifest2
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.45.0.ebuild (renamed from dev-python/opentelemetry-sdk/opentelemetry-sdk-1.43.0.ebuild)8
-rw-r--r--dev-python/opentelemetry-semantic-conventions/Manifest2
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.45.0.ebuild (renamed from dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.43.0.ebuild)2
-rw-r--r--dev-python/platformdirs/Manifest2
-rw-r--r--dev-python/platformdirs/platformdirs-4.11.14.ebuild50
-rw-r--r--dev-python/proxy-py/proxy-py-2.4.10.ebuild6
-rw-r--r--dev-python/pydata-sphinx-theme/Manifest2
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.22.0.ebuild52
-rw-r--r--dev-python/pykwalify/files/pykwalify-1.8.0-py315.patch36
-rw-r--r--dev-python/pykwalify/pykwalify-1.8.0-r4.ebuild (renamed from dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild)2
-rw-r--r--dev-python/pyright/Manifest1
-rw-r--r--dev-python/pyright/metadata.xml9
-rw-r--r--dev-python/pyright/pyright-1.1.414.ebuild32
-rw-r--r--dev-python/ruff/Manifest1
-rw-r--r--dev-python/ruff/metadata.xml9
-rw-r--r--dev-python/ruff/ruff-0.16.7.ebuild29
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.1.1.ebuild103
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-3.7.0.ebuild73
-rw-r--r--dev-python/uvicorn/Manifest4
-rw-r--r--dev-python/uvicorn/uvicorn-0.54.0.ebuild (renamed from dev-python/uvicorn/uvicorn-0.52.3.ebuild)4
35 files changed, 446 insertions, 30 deletions
diff --git a/dev-python/authheaders/authheaders-0.16.3.ebuild b/dev-python/authheaders/authheaders-0.16.3.ebuild
index f4cdea8e6495..aad34e223fbc 100644
--- a/dev-python/authheaders/authheaders-0.16.3.ebuild
+++ b/dev-python/authheaders/authheaders-0.16.3.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
RDEPEND="
>=dev-python/authres-1.2.0-r1[${PYTHON_USEDEP}]
diff --git a/dev-python/awscrt/awscrt-0.37.0.ebuild b/dev-python/awscrt/awscrt-0.37.0.ebuild
index 3374314287ab..0d90cf782fb1 100644
--- a/dev-python/awscrt/awscrt-0.37.0.ebuild
+++ b/dev-python/awscrt/awscrt-0.37.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
DEPEND="
>=dev-libs/aws-c-common-1.0.0:=
diff --git a/dev-python/chess/chess-1.11.2.ebuild b/dev-python/chess/chess-1.11.2.ebuild
index 66214a481242..3d3ee8125e99 100644
--- a/dev-python/chess/chess-1.11.2.ebuild
+++ b/dev-python/chess/chess-1.11.2.ebuild
@@ -15,7 +15,6 @@ LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
-DEPEND="${RDEPEND}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="test"
diff --git a/dev-python/cogapp/Manifest b/dev-python/cogapp/Manifest
index 64da61a161e7..8b2e3f7f2d6c 100644
--- a/dev-python/cogapp/Manifest
+++ b/dev-python/cogapp/Manifest
@@ -1 +1,2 @@
DIST cogapp-3.4.1.tar.gz 53776 BLAKE2B e513047b50de92df67ff0ecd7ba20680f1b92bb1eb18fd04a4a2326faa8c4683d9390ee610b958581656b898ce0528d173f63b88859073525949923ef110f638 SHA512 7dda6720f3bfa2edca642a2082f8ad8aa4bbb6b13653e2c03d76726c88ddf433330a49d362b554f30ddab4468b9cfad6156167200b450258a697f93db1266586
+DIST cogapp-3.6.0.tar.gz 59742 BLAKE2B 093594d0ffd039ceb5c4a9316a912fa6ea320f04bd7593c8d5487a6b5e6c9293b71bccd24ac35fd4f7040239cae5cd3cf54db4c94d0143b28fc92994d0dffcbb SHA512 58e1fbe98ede16be7d99dc7613529f3354cdd1e6a8befdd2601956698fbeb62c269f5f3c69778ef59b6f307a673fccfd4d61d931550cfcf863e0c9d10bfb073c
diff --git a/dev-python/cogapp/cogapp-3.6.0.ebuild b/dev-python/cogapp/cogapp-3.6.0.ebuild
new file mode 100644
index 000000000000..5ef6c0d92bac
--- /dev/null
+++ b/dev-python/cogapp/cogapp-3.6.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Cog content generation tool. Small bits of computation for static files"
+HOMEPAGE="
+ https://pypi.org/project/cogapp/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/liblore/liblore-0.9.0.ebuild b/dev-python/liblore/liblore-0.9.0.ebuild
index 361c9fac7ed9..84766930cc3d 100644
--- a/dev-python/liblore/liblore-0.9.0.ebuild
+++ b/dev-python/liblore/liblore-0.9.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://git.kernel.org/pub/scm/utils/${PN}/${PN}.git/snapshot/${P}.tar.
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
IUSE="auth test"
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index c2c3b4d9c5d5..5d63124f0b7b 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,2 +1,2 @@
-DIST markdown-3.10.2.tar.gz 368805 BLAKE2B cc5bbbfe702e81937b849f3b9b48089ca07a314ae8603ca5203b11f3eaed0591a042ac855abb1231378848073b9c0d071e22550952659e6b7711e5607ecf0d77 SHA512 cd84d5715002ed58cb1ec64f1b33d048892162cfc9675f570e146bc611ea92cf0dbb3a99018e091131188f29efde8c25da2e9218b5d0d96890c406cbde300074
DIST markdown-3.10.3.tar.gz 372596 BLAKE2B 3f5ad04979c29234964928e436d4523ac0abbbbd9e4f1816652ca889d82993bc324f3d8d855f47b1be9291c3a4f97b9fbef1df0772af24af7aa3b920089cc26a SHA512 64e5e5f27a2aa0297e316c20796969e802acc3ffcf5e8c266fcf0eda2d188f30458adf1f0420508b104dfdb2a8b153d58b10a5b20f48d8327df5318b784307f9
+DIST markdown-3.11.tar.gz 485623 BLAKE2B d3bf9cc73ec427810c33a233cdc46ed97261e582d526c1aa667d16d6c06c84f6a65367d4c337bc7ac1fc8e13c9cb69b8d9393c9c1d38d49ff0ed84785df64187 SHA512 4368f4527c8af676c3d4df0e3c8fe0a7742a0f2468fcce74a5ca90cce42a19fe526b31b2325ad872ca9b7197a64d418da8c7599d94635bce0a25940cb337c5f3
diff --git a/dev-python/markdown/markdown-3.10.2.ebuild b/dev-python/markdown/markdown-3.11.ebuild
index f71c0d4d1d80..5a1dd7ba2712 100644
--- a/dev-python/markdown/markdown-3.10.2.ebuild
+++ b/dev-python/markdown/markdown-3.11.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/multipart/Manifest b/dev-python/multipart/Manifest
index 7506a439720d..6fef5a1e1e2d 100644
--- a/dev-python/multipart/Manifest
+++ b/dev-python/multipart/Manifest
@@ -1,2 +1,2 @@
-DIST multipart-1.3.1.tar.gz 38929 BLAKE2B 03560a8c2fef4c07129f94daf28f5857649cae43aaeaae6f3cd00ff810892f2450af399da691723306c4d2eec44cad4e8035a4ec0f99079c8aceae52b29f2624 SHA512 a8292c63ec312777e58a36e308f69949ae9ac86a8f4dd543de2f5bbdde510753f33904b100173efba07d85eed32f7bc53d743d51824b7a362b8438059714efff
DIST multipart-2.0.0.tar.gz 42606 BLAKE2B de7119ecf7835b59d9dcfde431112a98c2e588e263159c380e56331b39479e23d1794a45817f420470dc150863b973b509d0050f80fccc771ad7668ec7b8aa40 SHA512 637a6224e83284d38c35a6615157463f08d7e9a95d6d71e0943d71e313cb7d5249b32eace22f064a93ecb86fc68a47fd2e65288c272acfc7d9cb692c3606a281
+DIST multipart-2.0.1.tar.gz 42844 BLAKE2B e07049279175fcda885f867193f73a364e2c3d893079006c8b7e04d059e518d250d90632afd209975d6e79b506270e8703b59960c52a3c1e68eb46ca1590471d SHA512 656e860bed5b655905951d733d8680807d04fdfe93a3a17a233ddfa117d98586550d63828a02f875825c7b20f50cab3496dbf566811d22039f91838474a241ff
diff --git a/dev-python/multipart/multipart-1.3.1.ebuild b/dev-python/multipart/multipart-2.0.1.ebuild
index 226d4b1bf98a..9a6e1e4d5f7e 100644
--- a/dev-python/multipart/multipart-1.3.1.ebuild
+++ b/dev-python/multipart/multipart-2.0.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/opentelemetry-api/Manifest b/dev-python/opentelemetry-api/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-api/Manifest
+++ b/dev-python/opentelemetry-api/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.43.0.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.45.0.ebuild
index 16edbb639211..ce870dea8751 100644
--- a/dev-python/opentelemetry-api/opentelemetry-api-1.43.0.ebuild
+++ b/dev-python/opentelemetry-api/opentelemetry-api-1.45.0.ebuild
@@ -23,16 +23,11 @@ S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/opentelemetry-sdk/Manifest b/dev-python/opentelemetry-sdk/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-sdk/Manifest
+++ b/dev-python/opentelemetry-sdk/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.43.0.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.45.0.ebuild
index e412716c45ef..9b5d6e0bef64 100644
--- a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.43.0.ebuild
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.45.0.ebuild
@@ -24,19 +24,13 @@ S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- >=dev-python/jsonschema-4.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- )
-"
EPYTEST_PLUGINS=( pytest-rerunfailures )
# Tests cannot handle xdist with high makeopts
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
index 9b67d89df94a..7c0b17310c63 100644
--- a/dev-python/opentelemetry-semantic-conventions/Manifest
+++ b/dev-python/opentelemetry-semantic-conventions/Manifest
@@ -1,2 +1,2 @@
-DIST opentelemetry-python-1.43.0.gh.tar.gz 1601072 BLAKE2B 9ea017308ecc0e3d4b00b86bf384c8737341babe5690defd33f0455af248052a4492bcaa793ea5a2bdc7a2d1cc27a708631651b232bda788fb535a7581bf844a SHA512 ec8b5862f9bc8aaa60ff765cbdf72ce488ea8b04efa49549901d73b909f5f66a187e8e345ac8b085fdff03207787539ff6a6f75ceb8fdbc056a5de5c3c3619ab
DIST opentelemetry-python-1.44.0.gh.tar.gz 1651335 BLAKE2B 9b1e6b9dbabaeccfc1e9fc267de0c882c78816abdec6d5344deccecca2c6d41736e1eb2fa7b5d85ed2e0047fa8fe23db1f4d2ae8e561f9c44ea1413754dde7f9 SHA512 310fa4d7b11aa6a4cfb498294e3c71e082e8fe2a9899c855f0968eb0b6eff91fc66921a0dad3b2075944a6f21b8802aea7d58baefd916f7909f1dae30bc7ad61
+DIST opentelemetry-python-1.45.0.gh.tar.gz 1715368 BLAKE2B 6a70a94f38df7b038eca1cf815ca93deaf58c94aac0996a24d08a0f9243651dd1e0c8c4f7daf9b1bc6274677ed1519fa0e9e72243fe266765a43fc6d50a4301a SHA512 c05f1fd1f6b2f8de830d2d2bdbaac01c47aa0b4615091f6fd78c39ef7e4aba10c2bd23ef4906e5b9e4ab46b2e55f8321f917c900bb930988d1cdfc85e9a77527
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.43.0.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.45.0.ebuild
index a177f70773f1..7b7a57f46e61 100644
--- a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.43.0.ebuild
+++ b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.45.0.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index 53c8d2f9b864..94939dae938f 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -4,6 +4,8 @@ DIST platformdirs-4.11.11.tar.gz 39949 BLAKE2B d2859626de4bde78e374803f075f100e2
DIST platformdirs-4.11.11.tar.gz.provenance 9911 BLAKE2B 186d2f4f51ebd4f88a32e16fb55502250179c937a2ca15c893ab0721c8407695b271e06a46b7903e95e229480572d946380e6cbf2a37ad1b26f30a1e5ee67339 SHA512 bb64f31a340a8d6220b837df9d6ccb56b879fa8a55d0716beed4e35516e8844bda9ab95097c9567276526cdb65871f09143cc2f2207d08e4b7b6598bfa10eb09
DIST platformdirs-4.11.12.tar.gz 40016 BLAKE2B d8f5b81cdde33623e59b21c5309d357e5a8edd80a4dbb2767a3379552e7414678e64aef3b44167c79e514cbc2afb9c1435f3a206bda1af6f02ff4278c0012a7b SHA512 89315faa27605b8f60788d7610c639f6dc8794a7e444c5fe9dfb06da72bb6520e05366da6968f8bcc0384f43d4294abd68f40e7912a1e75a94b09d4f0582dfca
DIST platformdirs-4.11.12.tar.gz.provenance 9617 BLAKE2B fd02ecf2e8bceb5f143d5184e8a242ddcce1b981af46f679de638714096c0e30ba8cc6040e594680a049c9ef5544e324503f95ddc372c885dda7365687a43491 SHA512 7b588b06856b2a61c83bc0607325befb42b95146db61ec34d6620dd07f93a74b07c9e055576271e40f4082383b009317707c39edef8eaa8b10480e62f49c1bfa
+DIST platformdirs-4.11.14.tar.gz 45301 BLAKE2B cbb1cf6980d7aab45525a46438a8accc2eb188a30c652fe9ae66e9a1f8858d1a287e7b898be54f1f0221777bfbe3b5bfe016314be1973f223b5acbb6faa53ea4 SHA512 8d386d0535728f51b7a2eacf7f994e986becc55515472c58bb244bb324c47354427ac704984afe01bf956d52c4832768be5a2cad5d464fc7e57131b219c38e09
+DIST platformdirs-4.11.14.tar.gz.provenance 9805 BLAKE2B 532406b48218fb89b03be35e52b1d2567a72897a23952fe17d8b085f7c55fb7b8df8e5c6a7f7f14188a1ee64febee56b7cfaf75d68b392bb87c202fad2b79c09 SHA512 465302f0476f2f11439339c1ee5ff17304022f1930351afa86a1dfcb1e0cd0ee4e943ec74af61d54dd9984fcc53034766a1da3a5efebd56b5c8ae3d912a22b89
DIST platformdirs-4.11.3.tar.gz 33050 BLAKE2B c838822e0d5a9391d13fbf240c3006ade7094c2a2ad7c5b9904fce23c48ea9db6e851d04c887a80f37fee3bd0612e010ae58516751c050fb881c8ec6da1ab22e SHA512 0d90ccbb4f75bc2c0eda42223d475c688c59214fd696ff4690abd022322d9883816bc7c33765da8c9a792afc04ab21faa08c69dcbe027f7cbdcb4087e5baa2a1
DIST platformdirs-4.11.3.tar.gz.provenance 9777 BLAKE2B 9b4f683aaab5b99f085f560e4ff21e3a9533b892e974e8e39aef047ee2021ff416ff88af6db98c6fd284ef592a926b425c8b7c05f5cb0f4b8d5c23bb59ac8229 SHA512 97833d43052e8b2c303f204f8291cfb39bc1b399c2ecfbeabe18b54e5d20bb8920c802013fc43060c9e4f2ed7f359c5a5c763dc8cb14e9ba8bc52f328a64fa34
DIST platformdirs-4.11.4.tar.gz 34079 BLAKE2B daf5b088aa61382c1cbcbda0eebb23b9b4e7071472589ee1cc61c04f5386952d1be1b3090198104c4749c09c0fe5fcf8677ddfd31c1f8efe34219ef1a9708b3d SHA512 557782bd9f2af016372e9406a05a55194259303ae63ee90f684595f9a5dfbe0cc8ba11252135ebf31cb5a93bef740487581b4ca852f467ef781287cda15e4a0c
diff --git a/dev-python/platformdirs/platformdirs-4.11.14.ebuild b/dev-python/platformdirs/platformdirs-4.11.14.ebuild
new file mode 100644
index 000000000000..97987e113428
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.11.14.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/tox-dev/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-mock )
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
diff --git a/dev-python/proxy-py/proxy-py-2.4.10.ebuild b/dev-python/proxy-py/proxy-py-2.4.10.ebuild
index e17ed304c023..e5e9cbe0e7fd 100644
--- a/dev-python/proxy-py/proxy-py-2.4.10.ebuild
+++ b/dev-python/proxy-py/proxy-py-2.4.10.ebuild
@@ -6,7 +6,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{13..14} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 optfeature
DESCRIPTION="Python proxy framework"
HOMEPAGE="https://github.com/abhinavsingh/proxy.py"
@@ -65,3 +65,7 @@ EPYTEST_IGNORE=(
EPYTEST_PLUGINS=( pytest-asyncio pytest-mock )
distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "CloudflareDnsResolverPlugin" dev-python/httpx
+}
diff --git a/dev-python/pydata-sphinx-theme/Manifest b/dev-python/pydata-sphinx-theme/Manifest
index 0ba046a59a09..bd9d28713b9a 100644
--- a/dev-python/pydata-sphinx-theme/Manifest
+++ b/dev-python/pydata-sphinx-theme/Manifest
@@ -1,4 +1,6 @@
DIST pydata-sphinx-theme-0.20.0.gh.tar.gz 5000413 BLAKE2B 8ca799f14f02cf9ce213662e2a6fd08c4cc83e96a63f192e58b27b2fea387f9ddd881dff3ca07fa7b8dc5049b2110e42a6cc480e254878d419975cc1a50a7b39 SHA512 1f0f9a0aee7901345e54db4715c07a16d8507819c14093fefa18a2c5b1e2685fa5c907b37361045d7302221e82f04fe0e1e4a05f182fcc2c8c89c5adbfd45351
DIST pydata-sphinx-theme-0.21.0.gh.tar.gz 5006029 BLAKE2B 39b0a0ef23aee77b9767b1a256b132d5ff94e7bdc8f25060d4e298119b3c6a56d04becf96dcbf0c2a589ab929926767f707ba06df9daa97c520895b479b39aa1 SHA512 3dd6b67130f7426b4a7175ee73ceab0f228633ed52914031cb9f6ae45afd59da40efa665d98c9a967ed78885ec3c919a5c6d60d5d4766dfab4f673cdf8b3d2d5
+DIST pydata-sphinx-theme-0.22.0.gh.tar.gz 5009287 BLAKE2B a8d640da27ae33c748ebf7d77c7a4ce6fb72b5204cb62a5c7dff67cc97805b25fb35bf123e996cdbe0d91df80e95b4dcfa57f3bafa2a3bc413d94e8de810c67f SHA512 2ffa4b026eebd2fc81d9528d658c947c48153855e9fa12e7202109b1d51f57e27912088618da4efdf75e94f38ead71256890ec036ab7037d494f38adc87643c8
DIST pydata_sphinx_theme-0.20.0-py3-none-any.whl 6201166 BLAKE2B 0595c8e40296a25b74282df03d94685425e6d09c6781280f1056a553438c7d9e11f4deb530b468c613f85c8158aaf54eb92b2908c36cb9d6c9ef779138eac85a SHA512 956914905da2ec4d3e1c88ff192fb02776c60e7dbbec29fa6b5622a0ae64cff2b4dd6f64ac4e11c0282a221d55a27a8a10d96e198a178abd9dbaf1c4f88d39c7
DIST pydata_sphinx_theme-0.21.0-py3-none-any.whl 6208465 BLAKE2B c02823a20968fd161e7d0de75d4628d4baa81e57f3d525393da266c6c56ddf00bd23a929abd4b97404cd38364c5e6075e029a115d2af256cfa4e59a592745c49 SHA512 3c7386638397f914a12cb6f66c20879db0a7517464f8dec01765c17096accea3399223e7d8538d613b9a02c71a8d5dcdf993a300673eaa9216a856c0226b81e7
+DIST pydata_sphinx_theme-0.22.0-py3-none-any.whl 6213182 BLAKE2B 82190b07dc60042b0cbd458d8d2efc98a5632834ba2dceb4264e54bc32ef3ca1ce82fb5e0e1e9cf31db31d284fcc29fa6a9d761e6628501fcc2c1bdd044f4834 SHA512 8369b93f15936bee39d0d73d67b1706dbf0a04eda24fae745352331574e401984f8df4c8fbf2c74e37e152ffad71b1e29fcc7bbeaec39daf60db2ea8afd7688b
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.22.0.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.22.0.ebuild
new file mode 100644
index 000000000000..adbcb06cf235
--- /dev/null
+++ b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.22.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+MY_P=${P/_/}
+DESCRIPTION="Bootstrap-based Sphinx theme from the PyData community"
+HOMEPAGE="
+ https://github.com/pydata/pydata-sphinx-theme/
+ https://pypi.org/project/pydata-sphinx-theme/
+"
+SRC_URI="
+ https://github.com/pydata/pydata-sphinx-theme/archive/v${PV/_/}.tar.gz
+ -> ${P}.gh.tar.gz
+ $(pypi_wheel_url)
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-with-disclosure"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/accessible-pygments[${PYTHON_USEDEP}]
+ dev-python/babel[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ <dev-python/sphinx-10[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-8.2[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-{datadir,regressions} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Requires sphinx-intl
+ 'tests/test_build.py::test_translations'
+)
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/$(pypi_wheel_name)"
+}
diff --git a/dev-python/pykwalify/files/pykwalify-1.8.0-py315.patch b/dev-python/pykwalify/files/pykwalify-1.8.0-py315.patch
new file mode 100644
index 000000000000..e9abf2f3ff63
--- /dev/null
+++ b/dev-python/pykwalify/files/pykwalify-1.8.0-py315.patch
@@ -0,0 +1,36 @@
+From 31e32d0964fcff54c1b87944370ea669581795a2 Mon Sep 17 00:00:00 2001
+From: Joost van Griethuysen <joostjm@gmail.com>
+Date: Tue, 28 Jan 2025 12:56:19 +0000
+Subject: [PATCH] BUG: Remove deprecated `load_module`
+
+In importlib's `SourceFileLoader`, the `load_module` function has been deprecated since python 3.6 and scheduled to be removed.
+Following the suggestions from https://stackoverflow.com/questions/19009932/import-arbitrary-python-source-file-python-3-3, replace this function with the `exec_module` function.
+---
+ pykwalify/core.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/pykwalify/core.py b/pykwalify/core.py
+index 140389c..8a14fe4 100644
+--- a/pykwalify/core.py
++++ b/pykwalify/core.py
+@@ -13,6 +13,7 @@
+ import time
+ from io import open
+ from importlib.machinery import SourceFileLoader
++import importlib.util
+
+ # pyKwalify imports
+ import pykwalify
+@@ -170,7 +171,11 @@ def _load_extensions(self):
+ if not os.path.exists(f):
+ raise CoreError(u"Extension file: {0} not found on disk".format(f))
+
+- self.loaded_extensions.append(SourceFileLoader("", f).load_module())
++ loader = SourceFileLoader("", f)
++ spec = importlib.util.spec_from_loader(loader.name, loader)
++ mod = importlib.util.module_from_spec(spec)
++ loader.exec_module(mod)
++ self.loaded_extensions.append(mod)
+
+ log.debug(self.loaded_extensions)
+ log.debug([dir(m) for m in self.loaded_extensions])
diff --git a/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild b/dev-python/pykwalify/pykwalify-1.8.0-r4.ebuild
index 1c5a8b31a270..69f2366d551a 100644
--- a/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
+++ b/dev-python/pykwalify/pykwalify-1.8.0-r4.ebuild
@@ -36,4 +36,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.4.0-S.patch
# fix tests for >=dev-python/ruamel-yaml-1.18, see #923136
"${FILESDIR}"/${PN}-1.8.0-ruamel-yaml-1.18.patch
+ # https://github.com/Grokzen/pykwalify/pull/203
+ "${FILESDIR}"/${P}-py315.patch
)
diff --git a/dev-python/pyright/Manifest b/dev-python/pyright/Manifest
new file mode 100644
index 000000000000..3852749ad0ec
--- /dev/null
+++ b/dev-python/pyright/Manifest
@@ -0,0 +1 @@
+DIST pyright-1.1.414.tgz 4226827 BLAKE2B f4413454fffca3b3f40bcf3d3f4c73d0b591493414e83c1e9fe19ddc67aab15c20ad7c536580389caa6b0c3855ef241ebd9853cf74be6a9dc2b4fa4de44a9f73 SHA512 14f6596f9d637a90d7e1e3fb4c460378d16d984dd683092411c269bc7dff426512b23d04032dcb5eefb10784ff1560de8edb179427c5affadb5858f0bb0b97c3
diff --git a/dev-python/pyright/metadata.xml b/dev-python/pyright/metadata.xml
new file mode 100644
index 000000000000..6f45a3abfba2
--- /dev/null
+++ b/dev-python/pyright/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>shimontrolles@gmail.com</email>
+ <name>Shimon Trolles</name>
+ </maintainer>
+ <origin>srcux</origin>
+</pkgmetadata>
diff --git a/dev-python/pyright/pyright-1.1.414.ebuild b/dev-python/pyright/pyright-1.1.414.ebuild
new file mode 100644
index 000000000000..80483d8a78b4
--- /dev/null
+++ b/dev-python/pyright/pyright-1.1.414.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Static type checker for Python"
+HOMEPAGE="https://github.com/microsoft/pyright"
+SRC_URI="https://github.com/microsoft/pyright/releases/download/${PV}/${PN}.tgz -> ${P}.tgz"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="net-libs/nodejs"
+BDEPEND="net-libs/nodejs[npm]"
+
+src_install() {
+ local mynpmargs=(
+ --audit false
+ --foreground-scripts
+ --global
+ --offline
+ --omit dev
+ --prefix "${ED}/usr"
+ --progress true
+ --save false
+ --verbose
+ )
+
+ npm "${mynpmargs[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed"
+}
diff --git a/dev-python/ruff/Manifest b/dev-python/ruff/Manifest
new file mode 100644
index 000000000000..964e342568c2
--- /dev/null
+++ b/dev-python/ruff/Manifest
@@ -0,0 +1 @@
+DIST ruff-0.16.7.tar.gz 4924184 BLAKE2B ab6e3e3edd605458d8774c8423fa4844a1a81d25be8f55125488fdd1dbdff0d8ad3ba9fbcbf71b614f5c2a979dc473463a004e94464b41d49e0dfb92684a6d49 SHA512 590f77900a2e68552da63173aa0d50ad0fe363ee26677488a3fd91197413cf87b3d9cd929d29aff17f749f245bd8d7122c918ac445e96fca70bef6f422ff02f9
diff --git a/dev-python/ruff/metadata.xml b/dev-python/ruff/metadata.xml
new file mode 100644
index 000000000000..6f45a3abfba2
--- /dev/null
+++ b/dev-python/ruff/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>shimontrolles@gmail.com</email>
+ <name>Shimon Trolles</name>
+ </maintainer>
+ <origin>srcux</origin>
+</pkgmetadata>
diff --git a/dev-python/ruff/ruff-0.16.7.ebuild b/dev-python/ruff/ruff-0.16.7.ebuild
new file mode 100644
index 000000000000..e72b8736f51b
--- /dev/null
+++ b/dev-python/ruff/ruff-0.16.7.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit pypi python-r1
+
+DESCRIPTION="An extremely fast Python linter and code formatter, written in Rust"
+HOMEPAGE="https://github.com/astral-sh/ruff"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="~dev-util/ruff-${PV}
+ ${PYTHON_DEPS}"
+
+my_install() {
+ python_moduleinto ruff
+ python_domodule python/ruff/__{init,main}__.py
+ python_domodule python/ruff/_find_ruff.py
+}
+
+src_install() {
+ python_foreach_impl my_install
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index c37e355d05e6..c70dbfd21936 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -3,3 +3,4 @@ DIST sqlalchemy-2.0.53.tar.gz 9966200 BLAKE2B b14be728d4ba7e6517b6e4af96127e3c5b
DIST sqlalchemy-2.0.54.tar.gz 9969559 BLAKE2B b29973d44b49e8c98267d509246369e78c213a3d53280098c4ea14c6d2ae6161fc2bfb71bd2e4af32c39bc187efd0ae03668bad3963ca79187c3889521da4911 SHA512 d88af975c7fc7d4e1b0781e654ef003fb1de90f00e6a4168b167c2b8c6927732caea5bb9ec084451994d89e8808691bc18abf236d80f6e13158f6f1f0a406d1b
DIST sqlalchemy-2.1.0.tar.gz 10502427 BLAKE2B 74d6c2f44b52f504ea75fb33cc61a0bf063236e6a4b8c35046ba4cdea3284d81ce7b644c21b9add6d65cd9807f4ed0379533b501977324b8f0364cd117bf70d4 SHA512 785b08779e002640fc2abece92fde7f998d08ee49b1b2d85ca37421dfbf67670fbff29976c3b7a0ddb60d12462185c4bc5bf96e17f0d06a7740375c87eb76435
DIST sqlalchemy-2.1.0rc1.tar.gz 10436777 BLAKE2B 3840f114f930dc1d18e8837cd51ebc66a193f386139eda7b825a0efcc280488a4d1f78c0997c4c81d5c8c2b6b92b2cb789beec32dbae43fa05bd638d3afe493b SHA512 66435f258067621f649ae8f28ed409772319cf9939b21cb8a7b2de1ddcdb482f536402350767ff618dbec2be5254b243f903f8c7a7261c49bc66269235bce2eb
+DIST sqlalchemy-2.1.1.tar.gz 10503203 BLAKE2B 18c76e58bb243bc9fff745f3c04435a4072088ee288aec87d3dc5cb1b6da9d556e6d32cab16d836611633e7316b03b0b960a0830213ba56528aa92d529b2e078 SHA512 5ad09e3c4f101818a7954f17eb665c03251a830ffda082c5feced050d6663b7426abdc9ea3f6801c92ec7d3120f072de18a0aa20aab8ac08bd3d8303f6dc8c32
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.1.1.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.1.1.ebuild
new file mode 100644
index 000000000000..d9cf5b3c5b56
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.1.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+if [[ ${PV} != *_beta* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+fi
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ # TODO: flaky? xdist?
+ test/base/test_concurrency_py3k.py::TestAsyncioCompat::test_await_fallback_no_greenlet
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ python3.15)
+ EPYTEST_DESELECT+=(
+ # repr() changes
+ test/orm/declarative/test_dc_transforms.py::DCTransformsTest::test_basic_constructor_repr_base_cls
+ test/orm/declarative/test_dc_transforms_future_anno_sync.py::DCTransformsTest::test_basic_constructor_repr_base_cls
+ # exception message changes
+ test/engine/test_processors.py::PyDateProcessorTest::test_no_string
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ epytest --reruns-delay=2 -m "not gc_intensive and not timing_intensive and not mypy"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 5ebe3d3f45f1..1f0b222a6910 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,3 +1,4 @@
DIST tavern-3.6.1.gh.tar.gz 734344 BLAKE2B bb3ed80c9c290e7c050d1a0590804cbf499fc9584567fab6cce0beeba8ba798319c0c4edaf614cb3cd6fe9a02313e1ff4c47042ece755ff8b408e4125f0f4805 SHA512 1178df1ec0079022dd3cd5afe214e27d0455b7e0f2cd315798f8291d671ae85a51d3e480743d19f5a340ede8a4989700f74d96683ddb99ff7c2212298e2bccf5
DIST tavern-3.6.2.gh.tar.gz 768394 BLAKE2B db97acfc7395eaa481bbcbb08d7e09978a395c202c88536803c0fd9659258dec717c0f08e866a3bef8283658a82342fecc2c63c7c0ec1ab857811a1d1c62e8d2 SHA512 f73991f996ed979e227886a8867ddc4a5837ce1292eb4c4c0f696971366b0c7695adbe2f242f64535ebcd61ac081efa1fafdaf8f10f3f767a3d490abc37a6ff0
DIST tavern-3.6.3.gh.tar.gz 769747 BLAKE2B 7f81d9bce49f212c8855775ad98b9a5d1e9d958170bef6769057472d2a3198d45251e0a873d2efdefc61871e48d7d060066da7cecb3a7597fb46f6f50581b34d SHA512 e93454fe8e15a18baa8dae8cb727dc6da03e1125a2e8968045cd8cb44e96b2f2bf8e1e9ce04f26c6770f5cc4ed41aded7aa49c9dc5c798f0bd02a1f69f90e36d
+DIST tavern-3.7.0.gh.tar.gz 776796 BLAKE2B d1ad141f95177c7a8231b37950050ccb02f74b261989aa44b55cc46487f3fab92143e8a469b644c34eaeb6fb395d80cc00bafae9fbfb87fbc2188dd553ed48d7 SHA512 f81def1db77cf0ea6b459f5e16c2c0f3b950b5ec0ae14a809e9d9286a9cfdb348a956d1bad5fb0c891bd88267cbb89b4c639e2c21eda3a87c91505532d022cf7
diff --git a/dev-python/tavern/tavern-3.7.0.ebuild b/dev-python/tavern/tavern-3.7.0.ebuild
new file mode 100644
index 000000000000..0cbe819120c0
--- /dev/null
+++ b/dev-python/tavern/tavern-3.7.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit-core
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/hypothesis-6[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ dev-python/paho-mqtt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+ # TODO
+ tests/unit/response/test_mqtt_response.py::TestResponse::test_same_topic
+)
+EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ # require gql
+ tavern/_plugins/graphql
+ tests/unit/plugins/graphql
+ # require allure
+ tests/unit/test_allure.py
+)
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 1f293d4da56c..7f4694a6a7e3 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,6 +1,6 @@
-DIST uvicorn-0.52.3.tar.gz 100621 BLAKE2B dc1041554e622bbd43fc9c34b6b9022a859f07ba17f4f432ace2553777fe89f4d3218d7d87b9f30942b6c5f7e0d6e7a5c248217ebb55b884ae6c1eebc4bad9fe SHA512 c4733d59e597134a1221a923802dddf7220a18715b08a56fccec1bc2ed5cd2858c6a05549bb24b94f67b48342ecfe2e9f0093361176f80814145eaa847597e19
-DIST uvicorn-0.52.3.tar.gz.provenance 9802 BLAKE2B d6e9972bb59bdd2e517628a605c90879456a68b2e2394a2ba53186e5af7039d4ba7d33ee20f6204539db78dd6bdc894c00cda47242383cf3d5b510d4f321fd37 SHA512 6a5a87767eea9e3ddd512e8de39679ddbe4317d89d4205ac7b491d1c03a69b64625502d895aa9113f770a053a253ae359752b73628010e85ed874a29c278f3fc
DIST uvicorn-0.52.4.tar.gz 100627 BLAKE2B 40024b93412deef10f04528293b48d4aff1cc69e5a0f3844e07d942640d9aeabc05dfa77f620eacd52934b16192fbba7d6c59e87197526c5f03f4d967d2c7960 SHA512 3a9e77316c71228748fab1b5190033099a613a0976252b080f4d1c3f3b2cd0722baeff9b99320e60fa708a7dd7c276696727112539df67419c12eba5de7cc856
DIST uvicorn-0.52.4.tar.gz.provenance 9504 BLAKE2B 74f1722b006f3e8e9694d5c5806236d405cc27ae0f47eceea1bc9b9391b5a6415442f0e512c29df091f8b694ae1c267045a099414af76aa11d413822cb3ff218 SHA512 4b5df0b5b2ab1f7c405c9c9a9bb15f5dafa9ecbbb542c98392d7fbfc877aab55b0bb63fbe135d0c579f1032cc40747b0b6773bd4f6351cfe367a2e71dcf70776
DIST uvicorn-0.53.0.tar.gz 110881 BLAKE2B 2f453b495350a391127d4eb1eddddf6e11a35c50c8cd3e5b301ecd4d00375283f43f4073eb12aa5375875c43cc13c1aefb0e319b626e9b9f9101de9881a565d5 SHA512 2d05ef27a1f8063ac1182ddaee9e20f3de4cc4e472fd6134ed37db446cae20274a3deff7402e0ae0491ebb1fa73b0f7ab435b7bc2e422c8fa2648c461d4d4bbb
DIST uvicorn-0.53.0.tar.gz.provenance 9598 BLAKE2B 6ab41cb71a8b982c6d01831b979d05558531919255c47c92460e1429445e70d8107c419db3344bc14cc8ddedf1d8fda4f5f6477f17dfba2cf9d9fe1bc01827cf SHA512 7467113fd5e175a01fb5dda3c20adf4a26737bda8178c1ed8c0f6f338d5c36892dcd56fffa9f389215cbf16e01e71d0faa6da2d8853bdc76f02dd1eaa7059381
+DIST uvicorn-0.54.0.tar.gz 112283 BLAKE2B 2ae0b9790f925ecaae0b20519e430264d3980f9a275e8ee60937e79543d33fd6e7ab537c6ea751faf8e6cb9eb809a05e5b53ea4a188d3d875d7b667e57e7d438 SHA512 ed18f0cc4f17583e910c085555dfb2d0eba16ebb557c06eedd0916381f004adbfa30e296dfb1fec1c862a758bdf7250f13f6008eea7846ae72d4d2eeda3a8ddf
+DIST uvicorn-0.54.0.tar.gz.provenance 9602 BLAKE2B b15fd63ee646ef0a500ab241b9565728f140f40391e5a0c083849c7768666b77f89c3f6bf2064cfd6be48e278ddcf2275b8ce7aab9705961015f1a80c2e29e1a SHA512 42d0af5e33142f93994e4f83898e27e3988ffb2c55d38fc169341e3b9a71b65d85e6ff23908ac44994fa204318737ebe2912c7cbbfc49227a3d68863bbc68f99
diff --git a/dev-python/uvicorn/uvicorn-0.52.3.ebuild b/dev-python/uvicorn/uvicorn-0.54.0.ebuild
index 525fcf20b707..9da45f27f6d1 100644
--- a/dev-python/uvicorn/uvicorn-0.52.3.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.54.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
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="test-rust"
RDEPEND="
@@ -30,7 +30,7 @@ BDEPEND="
test? (
dev-python/a2wsgi[${PYTHON_USEDEP}]
>=dev-python/httptools-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.28[${PYTHON_USEDEP}]
+ dev-python/httpx2[${PYTHON_USEDEP}]
dev-python/python-dotenv[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]