summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-16 19:18:42 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-16 19:18:42 +0000
commitda26e5c2ef5996cb5bf06adeb42fa47c0b76522d (patch)
treedbcabc755e8eb6ab520fd722b8cb9953b324f952 /dev-python
parent620116181138534133abab566a07a8668c7de802 (diff)
downloadbaldeagleos-repo-da26e5c2ef5996cb5bf06adeb42fa47c0b76522d.tar.gz
baldeagleos-repo-da26e5c2ef5996cb5bf06adeb42fa47c0b76522d.tar.xz
baldeagleos-repo-da26e5c2ef5996cb5bf06adeb42fa47c0b76522d.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/asgi-lifespan/Manifest2
-rw-r--r--dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild47
-rw-r--r--dev-python/asgi-lifespan/asgi-lifespan-2.1.0.ebuild38
-rw-r--r--dev-python/asgi-lifespan/metadata.xml5
-rw-r--r--dev-python/chalice/Manifest1
-rw-r--r--dev-python/chalice/chalice-1.32.0.ebuild84
-rw-r--r--dev-python/chalice/files/chalice-1.32.0-botocore-unvendor.patch60
-rw-r--r--dev-python/chalice/metadata.xml11
-rw-r--r--dev-python/cross-web/Manifest1
-rw-r--r--dev-python/cross-web/cross-web-0.4.1.ebuild46
-rw-r--r--dev-python/cross-web/metadata.xml11
-rw-r--r--dev-python/dek/Manifest1
-rw-r--r--dev-python/dek/dek-1.5.0.ebuild32
-rw-r--r--dev-python/dek/metadata.xml11
-rw-r--r--dev-python/discord-protos/Manifest2
-rw-r--r--dev-python/discord-protos/discord-protos-1.2.126.ebuild24
-rw-r--r--dev-python/discord-protos/metadata.xml10
-rw-r--r--dev-python/editor/Manifest1
-rw-r--r--dev-python/editor/editor-1.7.0.ebuild39
-rw-r--r--dev-python/editor/metadata.xml11
-rw-r--r--dev-python/eval-type-backport/Manifest1
-rw-r--r--dev-python/eval-type-backport/eval-type-backport-0.3.1.ebuild22
-rw-r--r--dev-python/eval-type-backport/metadata.xml11
-rw-r--r--dev-python/fastapi/Manifest1
-rw-r--r--dev-python/fastapi/fastapi-0.135.1.ebuild117
-rw-r--r--dev-python/func-timeout/Manifest1
-rw-r--r--dev-python/func-timeout/func-timeout-4.3.6.ebuild34
-rw-r--r--dev-python/func-timeout/metadata.xml12
-rw-r--r--dev-python/graphql-core/Manifest1
-rw-r--r--dev-python/graphql-core/graphql-core-3.2.3.ebuild2
-rw-r--r--dev-python/graphql-core/graphql-core-3.2.8.ebuild37
-rw-r--r--dev-python/graphql-core/metadata.xml5
-rw-r--r--dev-python/httpx-sse/Manifest1
-rw-r--r--dev-python/httpx-sse/httpx-sse-0.4.3.ebuild38
-rw-r--r--dev-python/httpx-sse/metadata.xml11
-rw-r--r--dev-python/ignore-python/Manifest4
-rw-r--r--dev-python/ignore-python/ignore-python-0.3.3.ebuild (renamed from dev-python/ignore-python/ignore-python-0.3.2.ebuild)0
-rw-r--r--dev-python/inquirer/Manifest1
-rw-r--r--dev-python/inquirer/inquirer-3.4.1.ebuild34
-rw-r--r--dev-python/inquirer/metadata.xml11
-rw-r--r--dev-python/litestar-htmx/Manifest2
-rw-r--r--dev-python/litestar-htmx/litestar-htmx-0.5.0.ebuild28
-rw-r--r--dev-python/litestar-htmx/metadata.xml11
-rw-r--r--dev-python/litestar/Manifest1
-rw-r--r--dev-python/litestar/files/litestar-2.19.0-no-valkey.patch98
-rw-r--r--dev-python/litestar/litestar-2.21.1.ebuild151
-rw-r--r--dev-python/litestar/metadata.xml13
-rw-r--r--dev-python/polyfactory/Manifest2
-rw-r--r--dev-python/polyfactory/metadata.xml11
-rw-r--r--dev-python/polyfactory/polyfactory-3.3.0.ebuild51
-rw-r--r--dev-python/posthog/Manifest2
-rw-r--r--dev-python/posthog/posthog-7.9.12.ebuild (renamed from dev-python/posthog/posthog-7.9.7.ebuild)0
-rw-r--r--dev-python/pwdlib/Manifest1
-rw-r--r--dev-python/pwdlib/pwdlib-0.3.0.ebuild36
-rw-r--r--dev-python/pydantic-extra-types/metadata.xml4
-rw-r--r--dev-python/pyinstrument/Manifest2
-rw-r--r--dev-python/pyinstrument/metadata.xml10
-rw-r--r--dev-python/pyinstrument/pyinstrument-5.1.2.ebuild44
-rw-r--r--dev-python/pytest-snapshot/Manifest1
-rw-r--r--dev-python/pytest-snapshot/files/pytest-snapshot-0.9.0-pytest8.patch21
-rw-r--r--dev-python/pytest-snapshot/metadata.xml11
-rw-r--r--dev-python/pytest-snapshot/pytest-snapshot-0.9.0.ebuild36
-rw-r--r--dev-python/python-tlsh/python-tlsh-4.12.1.ebuild2
-rw-r--r--dev-python/readchar/Manifest1
-rw-r--r--dev-python/readchar/metadata.xml11
-rw-r--r--dev-python/readchar/readchar-4.2.1.ebuild34
-rw-r--r--dev-python/runs/Manifest1
-rw-r--r--dev-python/runs/metadata.xml11
-rw-r--r--dev-python/runs/runs-1.3.0.ebuild41
-rw-r--r--dev-python/soundcard/Manifest1
-rw-r--r--dev-python/soundcard/metadata.xml15
-rw-r--r--dev-python/soundcard/soundcard-0.4.5.ebuild26
-rw-r--r--dev-python/sqlmodel/Manifest1
-rw-r--r--dev-python/sqlmodel/sqlmodel-0.0.37.ebuild59
-rw-r--r--dev-python/sse-starlette/Manifest1
-rw-r--r--dev-python/sse-starlette/metadata.xml11
-rw-r--r--dev-python/sse-starlette/sse-starlette-3.3.2.ebuild37
-rw-r--r--dev-python/strawberry-graphql/Manifest1
-rw-r--r--dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch19
-rw-r--r--dev-python/strawberry-graphql/metadata.xml11
-rw-r--r--dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild99
-rw-r--r--dev-python/tdir/Manifest1
-rw-r--r--dev-python/tdir/metadata.xml11
-rw-r--r--dev-python/tdir/tdir-1.9.0.ebuild33
-rw-r--r--dev-python/textual/Manifest2
-rw-r--r--dev-python/textual/textual-8.1.1.ebuild (renamed from dev-python/textual/textual-8.0.2.ebuild)2
-rw-r--r--dev-python/xmod/Manifest1
-rw-r--r--dev-python/xmod/metadata.xml11
-rw-r--r--dev-python/xmod/xmod-1.9.0.ebuild28
89 files changed, 1740 insertions, 48 deletions
diff --git a/dev-python/asgi-lifespan/Manifest b/dev-python/asgi-lifespan/Manifest
index e32f4569fd54..4d0ef5ff1c4d 100644
--- a/dev-python/asgi-lifespan/Manifest
+++ b/dev-python/asgi-lifespan/Manifest
@@ -1 +1 @@
-DIST asgi-lifespan-2.1.0.gh.tar.gz 10652 BLAKE2B 95a37be55b361741f8afe6c102b719e5b21582f642712988f342c93d848dcf164b53b7112c0f423b1f035a7eeb060867b68f177aead0bf398e7997043da8aeb3 SHA512 cd2be831a8ae7eac1545e87b43158dfe2fc52edf25538907edb6efe54eb7155ccac9f3972fdd10cff41974cd32fe312f7648a4757ee2ab40dc295f1a61875348
+DIST asgi-lifespan-2.1.0.tar.gz 15627 BLAKE2B 5186bf02455cab05c010907589bf4125110e6f03f1b6d9e711d44dcf132aa979edeb8991211cebe5d1fd3f7cd9e8a76e37ff5cb788b00cc3c3d07acc7b4cff75 SHA512 a1e3ba7b2cb5154afd71bfd89ccd49e7e9ecccb39ee695731f80e18f5d2637704fd57d5d047f60157a49f6aedcbabd62cda5fe6dc8595405ccaddada3462a190
diff --git a/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild b/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..2688b8714331
--- /dev/null
+++ b/dev-python/asgi-lifespan/asgi-lifespan-2.1.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Programmatic startup/shutdown of ASGI apps"
+HOMEPAGE="
+ https://github.com/florimondmanca/asgi-lifespan/
+ https://pypi.org/project/asgi-lifespan/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/sniffio[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # https://github.com/florimondmanca/asgi-lifespan/issues/63
+ tests/test_manager.py::test_lifespan_manager
+ tests/test_manager.py::test_lifespan_not_supported
+ tests/test_manager.py::test_lifespan_timeout
+ # https://github.com/florimondmanca/asgi-lifespan/issues/65
+ tests/test_manager.py::test_lifespan_state_async_cm
+)
+EPYTEST_PLUGINS=( pytest-asyncio pytest-trio )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/asgi-lifespan/asgi-lifespan-2.1.0.ebuild b/dev-python/asgi-lifespan/asgi-lifespan-2.1.0.ebuild
deleted file mode 100644
index 9eec68a4c94c..000000000000
--- a/dev-python/asgi-lifespan/asgi-lifespan-2.1.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..14} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Programmatic startup/shutdown of ASGI apps"
-HOMEPAGE="
- https://pypi.org/project/asgi-lifespan/
- https://github.com/florimondmanca/asgi-lifespan
-"
-SRC_URI="https://github.com/florimondmanca/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-python/sniffio[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- dev-python/starlette[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- rm setup.cfg || die
-}
diff --git a/dev-python/asgi-lifespan/metadata.xml b/dev-python/asgi-lifespan/metadata.xml
index cd56316ddc7e..6e5521f6da31 100644
--- a/dev-python/asgi-lifespan/metadata.xml
+++ b/dev-python/asgi-lifespan/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
<upstream>
<maintainer>
<email>florimond.manca@protonmail.com</email>
@@ -8,4 +12,5 @@
</maintainer>
</upstream>
<origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/chalice/Manifest b/dev-python/chalice/Manifest
new file mode 100644
index 000000000000..d5303b0c5dc9
--- /dev/null
+++ b/dev-python/chalice/Manifest
@@ -0,0 +1 @@
+DIST chalice-1.32.0.gh.tar.gz 2763823 BLAKE2B ced70b1a21398abdc7381ae0d1db818f0eca532bfa046c56c9a88ce4e91271b0124340af839a826730a9fa47c17108af0049a0227d853261204d333a5c367b94 SHA512 edddb135df4177f9dc9d36dee9ac61dbff52ef10ddb95469741e196a344a3fd4569ec2f785121b6c4aa8988bdd44971f8fa0c23e64a5f86447006ad74bc0d5d7
diff --git a/dev-python/chalice/chalice-1.32.0.ebuild b/dev-python/chalice/chalice-1.32.0.ebuild
new file mode 100644
index 000000000000..b1c136c8b060
--- /dev/null
+++ b/dev-python/chalice/chalice-1.32.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# py3.14: https://github.com/aws/chalice/issues/2150
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="Python Serverless Microframework for AWS"
+HOMEPAGE="
+ https://github.com/aws/chalice/
+ https://pypi.org/project/chalice/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/aws/chalice/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# <dev-python/pip-25.1[${PYTHON_USEDEP}]: patched out
+RDEPEND="
+ <dev-python/click-9.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7[${PYTHON_USEDEP}]
+ <dev-python/botocore-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}]
+ <dev-python/six-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pip-9[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.3[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/inquirer-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/inquirer-3.0.0[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ <dev-python/websocket-client-2.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # FIXME
+ "tests/functional/cli/test_factory.py::test_can_create_botocore_session_debug"
+ # looks to to be tricky
+ "tests/unit/deploy/test_packager.py::TestPipRunner::test_build_wheel"
+ # network-sandbox
+ "tests/functional/test_awsclient.py::TestUpdateDomainName::test_update_domain_name_failed"
+ "tests/functional/test_deployer.py::test_no_error_message_printed_on_empty_reqs_file"
+ # pinned deps checker
+ "tests/integration/test_package.py::TestPackage::test_can_package_with_dashes_in_name"
+ "tests/integration/test_package.py::TestPackage::test_can_package_simplejson"
+ "tests/integration/test_package.py::TestPackage::test_can_package_sqlalchemy"
+ "tests/integration/test_package.py::TestPackage::test_can_package_pandas"
+ "tests/integration/test_package.py::TestPackage::test_packaging_requirements_keeps_same_hash"
+)
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/chalice-1.32.0-botocore-unvendor.patch
+)
+
+python_prepare_all() {
+ sed -e '/install_requires/,/^\]$/ { /pip/ s/<25.1// }' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/unit tests/functional tests/integration
+}
diff --git a/dev-python/chalice/files/chalice-1.32.0-botocore-unvendor.patch b/dev-python/chalice/files/chalice-1.32.0-botocore-unvendor.patch
new file mode 100644
index 000000000000..9605be6c22bf
--- /dev/null
+++ b/dev-python/chalice/files/chalice-1.32.0-botocore-unvendor.patch
@@ -0,0 +1,60 @@
+diff --git a/chalice/awsclient.py b/chalice/awsclient.py
+index ff28738..bc3fd31 100644
+--- a/chalice/awsclient.py
++++ b/chalice/awsclient.py
+@@ -44,10 +44,10 @@ import botocore.session # noqa
+ from botocore.loaders import create_loader
+ from botocore.exceptions import ClientError
+ from botocore.utils import datetime2timestamp
+-from botocore.vendored.requests import (
++from requests import (
+ ConnectionError as RequestsConnectionError,
+ )
+-from botocore.vendored.requests.exceptions import (
++from requests.exceptions import (
+ ReadTimeout as RequestsReadTimeout,
+ )
+ from typing import TypedDict
+diff --git a/chalice/deploy/deployer.py b/chalice/deploy/deployer.py
+index de1c17c..4feba5f 100644
+--- a/chalice/deploy/deployer.py
++++ b/chalice/deploy/deployer.py
+@@ -88,7 +88,7 @@ import socket
+ import logging
+
+ import botocore.exceptions
+-from botocore.vendored.requests import ConnectionError as \
++from requests import ConnectionError as \
+ RequestsConnectionError
+ from botocore.session import Session # noqa
+ from typing import Optional, Dict, List, Any, Type, cast # noqa
+diff --git a/tests/functional/test_awsclient.py b/tests/functional/test_awsclient.py
+index c565dd7..03f805f 100644
+--- a/tests/functional/test_awsclient.py
++++ b/tests/functional/test_awsclient.py
+@@ -5,9 +5,9 @@ from unittest import mock
+
+ import pytest
+ import botocore.exceptions
+-from botocore.vendored.requests import ConnectionError as \
++from requests import ConnectionError as \
+ RequestsConnectionError
+-from botocore.vendored.requests.exceptions import ReadTimeout as \
++from requests.exceptions import ReadTimeout as \
+ RequestsReadTimeout
+ from botocore import stub
+ from botocore.utils import datetime2timestamp
+diff --git a/tests/unit/deploy/test_deployer.py b/tests/unit/deploy/test_deployer.py
+index 0fbe1b9..98bd2cd 100644
+--- a/tests/unit/deploy/test_deployer.py
++++ b/tests/unit/deploy/test_deployer.py
+@@ -8,7 +8,7 @@ import botocore.session
+ import pytest
+ from unittest import mock
+ from botocore.stub import Stubber
+-from botocore.vendored.requests import ConnectionError as \
++from requests import ConnectionError as \
+ RequestsConnectionError
+ from pytest import fixture
+
+
diff --git a/dev-python/chalice/metadata.xml b/dev-python/chalice/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/chalice/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/cross-web/Manifest b/dev-python/cross-web/Manifest
new file mode 100644
index 000000000000..dcca15ed8b67
--- /dev/null
+++ b/dev-python/cross-web/Manifest
@@ -0,0 +1 @@
+DIST cross_web-0.4.1.tar.gz 157385 BLAKE2B be861d08154b766bfde1c49cd8e086991706a7e63bd1b0a787346b62a7cde0eb872521a9f6fed25d19ad77bf56ee4bee27fceb8075f2707e9422f3003356e9bb SHA512 ace491ccb9ae102db8918cf6854021530f1b608d55f00055f15f159b71effc5bf37711aa3fe607c13042d6848adb2b39672d8ef528f993ace790db0e2ef1c457
diff --git a/dev-python/cross-web/cross-web-0.4.1.ebuild b/dev-python/cross-web/cross-web-0.4.1.ebuild
new file mode 100644
index 000000000000..932c395c271d
--- /dev/null
+++ b/dev-python/cross-web/cross-web-0.4.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for working with web frameworks"
+HOMEPAGE="
+ https://github.com/usecross/cross-web/
+ https://pypi.org/project/cross-web/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/aiohttp-3.9[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ >=dev-python/fastapi-0.115.12[${PYTHON_USEDEP}]
+ >=dev-python/flask-2.3[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.20[${PYTHON_USEDEP}]
+ >=dev-python/quart-0.19[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.1[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-2.3[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.9[${PYTHON_USEDEP}]
+ >=dev-python/chalice-1.20[${PYTHON_USEDEP}]
+ >=dev-python/litestar-2.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # avoid unpackaged test dependencies
+ tests/request/test_sanic.py
+)
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/cross-web/metadata.xml b/dev-python/cross-web/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/cross-web/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/dek/Manifest b/dev-python/dek/Manifest
new file mode 100644
index 000000000000..c73e67d5f158
--- /dev/null
+++ b/dev-python/dek/Manifest
@@ -0,0 +1 @@
+DIST dek-1.5.0.gh.tar.gz 17350 BLAKE2B de2caf6b3220ca0bff0e690efd52f62ab451c1015f20496ab5c04caa31e886de9737598632b5a15398e94f455dd4bf48cc0354e31e94753713c01e74ce3c41eb SHA512 7f93598aac9a261b497f3544b12b0b4b9f9a746d03404981f11fe15c5bda02ce90dd2a42ec14b7ee0f3bafa508a80119d94fbc78953e9d02ad56510603d82f99
diff --git a/dev-python/dek/dek-1.5.0.ebuild b/dev-python/dek/dek-1.5.0.ebuild
new file mode 100644
index 000000000000..833985352fa6
--- /dev/null
+++ b/dev-python/dek/dek-1.5.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="The decorator-decorator"
+HOMEPAGE="
+ https://rec.github.io/dek/
+ https://github.com/rec/dek/
+ https://pypi.org/project/dek/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/rec/dek/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/xmod[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/dek/metadata.xml b/dev-python/dek/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/dek/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/discord-protos/Manifest b/dev-python/discord-protos/Manifest
new file mode 100644
index 000000000000..d2c7150f7f11
--- /dev/null
+++ b/dev-python/discord-protos/Manifest
@@ -0,0 +1,2 @@
+DIST discord_protos-1.2.126.tar.gz 162942 BLAKE2B 779dba561638b843378f6ece1a40114c86863f7922b7366cdfa0cbfe8b34be6289a7e89dabdb83b40202465a496520e44fb2c1e0652ea148935333c6a223e9e8 SHA512 1c2a8e369cdb93311d1ad2d84697d95c99d0ba6ccbfad564d261a38c8c0fc23e1460d5e9fe8c558e3b57151783c739eae368c11f440fc99c161abb2f953d2886
+DIST discord_protos-1.2.126.tar.gz.provenance 9989 BLAKE2B 52f23a0c095c665203e3d90a82526e502abd6bcb1a8d0e971cc213bb2c8d8f4bf057f01aba55b88873bf6cc155568ee9662a14e57c86bbebf9df7cf881958f3a SHA512 5db737c79b59142ec219b42d3a1064e9aceae6c4f7e858388cd6d5a3a65e0f1849699b0c304982280a2e21491af49b7cd6968e0eb20aeb517f7aeebe5902bda8
diff --git a/dev-python/discord-protos/discord-protos-1.2.126.ebuild b/dev-python/discord-protos/discord-protos-1.2.126.ebuild
new file mode 100644
index 000000000000..d73cf376d04e
--- /dev/null
+++ b/dev-python/discord-protos/discord-protos-1.2.126.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/discord-userdoccers/discord-protos
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit pypi distutils-r1
+
+DESCRIPTION="Reverse-engineering Discord's protobufs"
+HOMEPAGE="
+ https://pypi.org/project/discord-protos/
+ https://github.com/discord-userdoccers/discord-protos
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/protobuf[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/discord-protos/metadata.xml b/dev-python/discord-protos/metadata.xml
new file mode 100644
index 000000000000..218a618cc6b8
--- /dev/null
+++ b/dev-python/discord-protos/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ghostyn678+git@gmail.com</email>
+ <name>dsaf</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/editor/Manifest b/dev-python/editor/Manifest
new file mode 100644
index 000000000000..a8e87a7a734b
--- /dev/null
+++ b/dev-python/editor/Manifest
@@ -0,0 +1 @@
+DIST editor-1.7.0.gh.tar.gz 26732 BLAKE2B 97124df6b7fe27e5d7daa2102438120e51bcad05dc187baa3b72d18dfa5e70dbccfeb50a99420bb3fad54c77987b2a6cc680c36d20c126340b397955f0414b49 SHA512 037a6b66d9f619106166d55f525082465eea5aed642df55a7d0ad4d1e3c10318272b8110400ef2016ba8bc603e45d81df874438c76f15cc02d87f016a907a1ab
diff --git a/dev-python/editor/editor-1.7.0.ebuild b/dev-python/editor/editor-1.7.0.ebuild
new file mode 100644
index 000000000000..f34c39b4f01c
--- /dev/null
+++ b/dev-python/editor/editor-1.7.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Open the default text editor"
+HOMEPAGE="
+ https://rec.github.io/editor/
+ https://github.com/rec/editor/
+ https://pypi.org/project/editor/
+"
+# no tests in dist
+SRC_URI="
+ https://github.com/rec/editor/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/runs[${PYTHON_USEDEP}]
+ dev-python/xmod[${PYTHON_USEDEP}]
+ virtual/editor
+"
+BDEPEND="
+ test? (
+ dev-python/tdir[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/editor/metadata.xml b/dev-python/editor/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/editor/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/eval-type-backport/Manifest b/dev-python/eval-type-backport/Manifest
new file mode 100644
index 000000000000..225b89d15162
--- /dev/null
+++ b/dev-python/eval-type-backport/Manifest
@@ -0,0 +1 @@
+DIST eval_type_backport-0.3.1.tar.gz 9445 BLAKE2B 96aadb7accc8d143795ac846ce1a744d1ac7b84b3d8c020366cabf30cfcd7c092b4a6fbaade8bffc76415d56921569a8c9c760d057945bf1cc321c94d5189d35 SHA512 fe5f5b9641359f24c6d088321b018102a398b44aecd2b29762d3ad9b9c2a53abc3a9490f01b4ec63048a5dfb24218d07fa6b478264cd2ee3255c3cc33259ed2e
diff --git a/dev-python/eval-type-backport/eval-type-backport-0.3.1.ebuild b/dev-python/eval-type-backport/eval-type-backport-0.3.1.ebuild
new file mode 100644
index 000000000000..5b887370b3f9
--- /dev/null
+++ b/dev-python/eval-type-backport/eval-type-backport-0.3.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of typing._eval_type"
+HOMEPAGE="
+ https://github.com/alexmojaki/eval_type_backport/
+ https://pypi.org/project/eval-type-backport/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/eval-type-backport/metadata.xml b/dev-python/eval-type-backport/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/eval-type-backport/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index 57ddc54569c6..f1bdf804dff1 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1,2 +1,3 @@
DIST fastapi-0.125.0.tar.gz 370550 BLAKE2B 0aff60b022fbe6252981ca962aab599aef2a4bbff06e44d919aa23ebdb587605327690c9572d3b021ad24df5d6b83acdc223a21c86598cfe38e1017552962170 SHA512 45ac3cce536ad8efe12f01db9a3347b9d8d023433f07a76efc2c10363db747abcaecbea9c597f571fa6f90355e5b75ec9416e5648660240427d9a77155b44b0a
DIST fastapi-0.127.0.tar.gz 369269 BLAKE2B 5d7372892fdc63b3f8e9b75f3c7d9d23a902792badb91298e423e1d4630c77edf03ececef01db4fb0da750b6f5df4ec774e13da16c076f191aeeaf89fb2d72a4 SHA512 ec453a68385904b5d2d073ff362062a903b6b91c47cfce50e482715f4acd11574052c6d0d63f9a3932895226cff92d2c3771400b2d1230ebe55e1c9a45845c60
+DIST fastapi-0.135.1.tar.gz 394962 BLAKE2B 95e002ac88880562fb19c51d6a9fa5b3a10f58ebfed32d70f8e4fcb9dd2e3c3366c5cbdefc3b4a8cd4d0fee8dc2e64dd9b1f5393d479cb6b3a62d5ee9b34abca SHA512 bd9b2789dbf98fbf566f340f9c890229ccb6f283066df54a82fab62763bd417a08b5fe3aa287409f224c30dbb4879b78f48e0a90d2261303879926621f4bc326
diff --git a/dev-python/fastapi/fastapi-0.135.1.ebuild b/dev-python/fastapi/fastapi-0.135.1.ebuild
new file mode 100644
index 000000000000..b182f8a2bca8
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.135.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="FastAPI framework, high performance, easy to learn, ready for production"
+HOMEPAGE="
+ https://fastapi.tiangolo.com/
+ https://pypi.org/project/fastapi/
+ https://github.com/fastapi/fastapi
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fastapi/fastapi.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
+ >=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
+ dev-python/sqlmodel[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+# brotli and zstd due to starlette based tests expecting it
+
+# Hung once
+: ${EPYTEST_TIMEOUT:=60}
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Depends on coverage
+ "tests/test_fastapi_cli.py::test_fastapi_cli"
+ # Test result affected by unrelated packages such as brotli and zstd
+ # https://github.com/fastapi/fastapi/blob/7c6f2f8fde68f488163376c9e92a59d46c491298/tests/test_tutorial/test_header_param_models/test_tutorial001.py#L77
+ "tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore"
+ # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6afa196ca0cb1604875847b1b84fa64896a06f6e
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_old_multipart_installed"
+ # Hangs with network-sandbox
+ "tests/test_tutorial/test_websockets/test_tutorial003_py39.py::test_websocket_handle_disconnection"
+
+)
+
+python_prepare_all() {
+ # Dont install fastapi executable as fastapi-cli is supposed to handle it
+ sed -i -e '/\[project.scripts\]/,/^$/d' pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "commandline interface" dev-python/fastapi-cli
+ optfeature "test client" dev-python/httpx
+ optfeature "templates" dev-python/jinja2
+ optfeature "forms and file uploads" dev-python/python-multipart
+ optfeature "validate emails" dev-python/email-validator
+ optfeature "uvicorn with uvloop" dev-python/uvicorn
+ optfeature "settings management" dev-python/pydantic-settings
+ optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
+ optfeature_header "Alternative JSON responses"
+ optfeature "ORJSONResponse" dev-python/orjson
+ optfeature "UJSONResponse" dev-python/ujson
+}
diff --git a/dev-python/func-timeout/Manifest b/dev-python/func-timeout/Manifest
new file mode 100644
index 000000000000..3f196ef53627
--- /dev/null
+++ b/dev-python/func-timeout/Manifest
@@ -0,0 +1 @@
+DIST func-timeout-4.3.6.tar.gz 35913 BLAKE2B 5ebd74a447e612171560e3071e85679bd12198fd4478181c9eeffd4997833a387faa09db2e8ff6944419bfaecb4c323460cff058d021fc7d7e066c39d5428a96 SHA512 4f50ab5ee23d5c8ba721dfeee866a38857ea94c12a1032a977fef63bdbf4e63bf0cfdf6912d26358f78834ab81e2bf2b1cd9c487ba1f9141af08bb97538f9db4
diff --git a/dev-python/func-timeout/func-timeout-4.3.6.ebuild b/dev-python/func-timeout/func-timeout-4.3.6.ebuild
new file mode 100644
index 000000000000..3971d0b51066
--- /dev/null
+++ b/dev-python/func-timeout/func-timeout-4.3.6.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module which allows you to specify timeouts for any function"
+HOMEPAGE="https://github.com/kata198/func_timeout"
+SRC_URI="https://github.com/kata198/func_timeout/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/func_timeout-${PV}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm func_timeout/py2_raise.py || die
+
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ dodoc LICENSE
+}
diff --git a/dev-python/func-timeout/metadata.xml b/dev-python/func-timeout/metadata.xml
new file mode 100644
index 000000000000..2b5bcb48c5d6
--- /dev/null
+++ b/dev-python/func-timeout/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>contact@paveloom.dev</email>
+ <name>Pavel Sobolev</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/kata198/func_timeout</bugs-to>
+ </upstream>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/graphql-core/Manifest b/dev-python/graphql-core/Manifest
index 76f244507d61..d917eb16df1d 100644
--- a/dev-python/graphql-core/Manifest
+++ b/dev-python/graphql-core/Manifest
@@ -1 +1,2 @@
DIST graphql-core-3.2.3.tar.gz 529552 BLAKE2B 5931579fe860ffd8f0166e703ba3d055eb39660ac3bcd5335c42811da1a692382ab0e968bacfc7b3cb9fae72c74bec160516c74ab56775e3ed6e3756c67ee23a SHA512 6a43b802ae71de7229daa3c9bc8266a17955b163d6b342107034168bc71fb026ad2f8de1ab5fc40dfb6ebbd5c47030ad978d54a825f6aca1c318190e325b405e
+DIST graphql_core-3.2.8.tar.gz 513181 BLAKE2B d19ceae19149718c6dd2caa56c88a5f5b1808783e83a622bfa6d11e97bcb242f2845b011b1cbcefb15a9c48e3cb2a9979cdd5c72f9a62c9b0ee393467c1ddefc SHA512 8dd89e04530a0635398ce114c0b1a644a2a5ace88b652fbb211f8fb3250b2e5a13f0f91ceb2ce2866c6daac8fe66bd70dc84226fc58caf4e579ee9c2d76c9ebf
diff --git a/dev-python/graphql-core/graphql-core-3.2.3.ebuild b/dev-python/graphql-core/graphql-core-3.2.3.ebuild
index 74a3dead4ed2..91dc280c2d4c 100644
--- a/dev-python/graphql-core/graphql-core-3.2.3.ebuild
+++ b/dev-python/graphql-core/graphql-core-3.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/graphql-core/graphql-core-3.2.8.ebuild b/dev-python/graphql-core/graphql-core-3.2.8.ebuild
new file mode 100644
index 000000000000..4a5361dcf092
--- /dev/null
+++ b/dev-python/graphql-core/graphql-core-3.2.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="GraphQL-core is a Python port of GraphQL.js"
+HOMEPAGE="
+ https://github.com/graphql-python/graphql-core/
+ https://pypi.org/project/graphql-core/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ <dev-python/setuptools-81[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-59[${PYTHON_USEDEP}]
+"
+
+EPYTEST_IGNORE=(
+ # avoid pytest-benchmark
+ "tests/benchmarks/"
+)
+
+EPYTEST_PLUGINS=( anyio pytest-asyncio pytest-describe pytest-timeout )
+distutils_enable_tests pytest
+
+python_test() {
+ # avoid pytest-benchmark
+ epytest -o addopts= tests
+}
diff --git a/dev-python/graphql-core/metadata.xml b/dev-python/graphql-core/metadata.xml
index 736a1167c898..0dec5a678a5f 100644
--- a/dev-python/graphql-core/metadata.xml
+++ b/dev-python/graphql-core/metadata.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
<origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/httpx-sse/Manifest b/dev-python/httpx-sse/Manifest
new file mode 100644
index 000000000000..0c291e4d26d7
--- /dev/null
+++ b/dev-python/httpx-sse/Manifest
@@ -0,0 +1 @@
+DIST httpx_sse-0.4.3.tar.gz 15943 BLAKE2B 9398dd35baf19087f351098c9127c1dc782eaa675e465333f730089bdbb664c9201ba7119366bc655433d88569cf62d6449d1121d0fe4cd008b9b54c0357e8d4 SHA512 72e3b893c3e2a2c6db0e985e43c049ae177cd39a3f00747a7df7f6b1b7a058eedce328db5563a39323d23baca24b32bbba965423a11f05e6f05d6ff9a075a5cf
diff --git a/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild b/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild
new file mode 100644
index 000000000000..d0572c6c57c6
--- /dev/null
+++ b/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Consume Server-Sent Event (SSE) messages with HTTPX"
+HOMEPAGE="
+ https://github.com/florimondmanca/httpx-sse
+ https://pypi.org/project/httpx-sse/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/sse-starlette[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/httpx-sse/metadata.xml b/dev-python/httpx-sse/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/httpx-sse/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/ignore-python/Manifest b/dev-python/ignore-python/Manifest
index 4de0006394bf..bdbb5024ec82 100644
--- a/dev-python/ignore-python/Manifest
+++ b/dev-python/ignore-python/Manifest
@@ -1,2 +1,2 @@
-DIST ignore-python-0.3.2-deps.tar.xz 5120192 BLAKE2B c4e6f232308ce319cbeb70586f6d9ffcab79622c5d807ecd64fa9c2436c1be9a829d494f6309adb1726c61737fa5bbfe4b1fc881e019cf9ff832bf332f830f36 SHA512 5630c90ade519a606a7308091ee6e3dcb7dc69f121d8a8b466533ed10d2634758d16edb8d7009b5bf85685c38b318be0a79e434d58d20b4d28684c0e50fd27d7
-DIST ignore-python-0.3.2.gh.tar.gz 11719 BLAKE2B 91a5cc60a8750ff27c41bcd1ee285acc69d3d39a2da7ed903e47a32cd5d57526cc9be0616f8681f6d2efe076e70798d765663c965a450a69ea41742b95101b4c SHA512 c328e322fc5d9d82a4f19ea70fc1e124cc5ef63abdfe0ace2108f4884279c2f75622ebd92067585e45020f802e5f756c63ccb0067178a38c647090d23de05b90
+DIST ignore-python-0.3.3-deps.tar.xz 5151648 BLAKE2B 43c3d7d1d76e7433427f0488c811aa733cffc7681e802a3c51bcda4867f94bad1cf7f3c0f59e8bd85ba10685e8c143b96c5d0287d2c0ddd1b62df7b5f9ec36d4 SHA512 68095449686bd97aadeaa3e9732a62396246237f472e28be79bd4d0932acf8a8abad0d6c7146332e263d7c5be4cda229ea8960bda3e0dedba0a7d8e9c075d04b
+DIST ignore-python-0.3.3.gh.tar.gz 12062 BLAKE2B 11fc24335c547d9381526adc5de846ae3eb5a9eb873db8d55ab43b2e55bb2e870b0624de73d56d15e844067089dd6eb3b1edf72f73e21f52b70d3f2cc88dd9b3 SHA512 ae7b4b31e07f4c6ea8594b237a0e8cdbd60d73902ba8b8502c9f935d6855ce599d191a025d7dc09b1a7c342076aca26ef2df576cfe29e53cfed07c292845896b
diff --git a/dev-python/ignore-python/ignore-python-0.3.2.ebuild b/dev-python/ignore-python/ignore-python-0.3.3.ebuild
index fbcac8a5e216..fbcac8a5e216 100644
--- a/dev-python/ignore-python/ignore-python-0.3.2.ebuild
+++ b/dev-python/ignore-python/ignore-python-0.3.3.ebuild
diff --git a/dev-python/inquirer/Manifest b/dev-python/inquirer/Manifest
new file mode 100644
index 000000000000..ecc0b4c3b995
--- /dev/null
+++ b/dev-python/inquirer/Manifest
@@ -0,0 +1 @@
+DIST inquirer-3.4.1.gh.tar.gz 515961 BLAKE2B 79d31896f3051d07df5cd60eb9355fa23db6af3bff2386b8ffa4e932505b5742a18ffac4a7ff92fbd61a5393e018d0b2c8cc43212fd9700b94f309e630f3740b SHA512 4383a5c58081e5c07b5ee945b12126d3f16be2fe429ab83fbec83a89e40de4c95e20d800551bc042e4a1e12142597b8e01c15765fabae34d959aa593728cd795
diff --git a/dev-python/inquirer/inquirer-3.4.1.ebuild b/dev-python/inquirer/inquirer-3.4.1.ebuild
new file mode 100644
index 000000000000..41ce521fe56f
--- /dev/null
+++ b/dev-python/inquirer/inquirer-3.4.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="Common interactive command line user interfaces, based on Inquirer.js"
+HOMEPAGE="
+ https://github.com/magmax/python-inquirer/
+ https://pypi.org/project/inquirer/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/magmax/python-inquirer/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-inquirer-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/blessed-1.19.0[${PYTHON_USEDEP}]
+ >=dev-python/readchar-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/editor-1.6.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/inquirer/metadata.xml b/dev-python/inquirer/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/inquirer/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/litestar-htmx/Manifest b/dev-python/litestar-htmx/Manifest
new file mode 100644
index 000000000000..b731ce69cf30
--- /dev/null
+++ b/dev-python/litestar-htmx/Manifest
@@ -0,0 +1,2 @@
+DIST litestar_htmx-0.5.0.tar.gz 119755 BLAKE2B f4fe8d34676989b3c47d17253cb0d3a5e84be2ada289147738ebe44fe0d3161d118a967993b31701e91cf9a1d9faaca09d78ab0ceab41a2ac63f379fd1b83070 SHA512 71f266cfd3fa0cd2a913d804474b2022585afad72214234bc42497fdb9b57cb0c0ba64c849182df5f3d1c90885a965c5415c58f52827bfdb663c8e6d0a8cfbf7
+DIST litestar_htmx-0.5.0.tar.gz.provenance 9533 BLAKE2B 2fe15857fad311426dd7b82da461579cdfe28c901b62be8ef596fa43b9d2ae90ecd2ee1290e56bb816f33166ae5a85c7c4c3f5b47e2b173fbf59880ad4609b07 SHA512 65b7beabebec7bc7fc84ba792a71996c8b745a1764d43f4a17cb7a9b8e42a63c41c7110415a88ec216b5f1d8c144019f823f2d43ae48de4f0e2f565f499f054a
diff --git a/dev-python/litestar-htmx/litestar-htmx-0.5.0.ebuild b/dev-python/litestar-htmx/litestar-htmx-0.5.0.ebuild
new file mode 100644
index 000000000000..68461c9b8923
--- /dev/null
+++ b/dev-python/litestar-htmx/litestar-htmx-0.5.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+PYPI_VERIFY_REPO=https://github.com/litestar-org/litestar-htmx
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTMX Integration for Litestar"
+HOMEPAGE="
+ https://github.com/litestar-org/litestar-htmx/
+ https://pypi.org/project/litestar-htmx/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/litestar[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
diff --git a/dev-python/litestar-htmx/metadata.xml b/dev-python/litestar-htmx/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/litestar-htmx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/litestar/Manifest b/dev-python/litestar/Manifest
new file mode 100644
index 000000000000..b09c8baafd0b
--- /dev/null
+++ b/dev-python/litestar/Manifest
@@ -0,0 +1 @@
+DIST litestar-2.21.1.gh.tar.gz 2954454 BLAKE2B e25249995e390027266bf94eac23feb73a6b4730d71f8e4384e22ddb80ecb4d7df9710b27e54a5eb3bdb5b6aeb44aef7d390a9db849280f11419c283a0c77d2a SHA512 214989cf82d49feb57a1bfcc6ac57604088b544e6ccb10492269f207490ce019e73432982644707028baaee3067ee905106f93607f33776b13b4b2ef4575a566
diff --git a/dev-python/litestar/files/litestar-2.19.0-no-valkey.patch b/dev-python/litestar/files/litestar-2.19.0-no-valkey.patch
new file mode 100644
index 000000000000..c788e3962bc4
--- /dev/null
+++ b/dev-python/litestar/files/litestar-2.19.0-no-valkey.patch
@@ -0,0 +1,98 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 846899814..9f0df8bc1 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -18,8 +18,6 @@ from pytest_lazy_fixtures import lf
+ from redis.asyncio import Redis as AsyncRedis
+ from redis.client import Redis
+ from time_machine import Coordinates, travel
+-from valkey.asyncio import Valkey as AsyncValkey
+-from valkey.client import Valkey
+
+ from litestar.logging import LoggingConfig
+ from litestar.middleware.session import SessionMiddleware
+@@ -31,7 +29,6 @@ from litestar.stores.base import Store
+ from litestar.stores.file import FileStore
+ from litestar.stores.memory import MemoryStore
+ from litestar.stores.redis import RedisStore
+-from litestar.stores.valkey import ValkeyStore
+ from litestar.testing import RequestFactory
+ from tests.helpers import not_none
+
+@@ -85,11 +82,6 @@ def redis_store(redis_client: AsyncRedis) -> RedisStore:
+ return RedisStore(redis=redis_client)
+
+
+-@pytest.fixture()
+-def valkey_store(valkey_client: AsyncValkey) -> ValkeyStore:
+- return ValkeyStore(valkey=valkey_client)
+-
+-
+ @pytest.fixture()
+ def memory_store() -> MemoryStore:
+ return MemoryStore()
+@@ -115,7 +107,6 @@ def file_store_create_directories_flag_false(tmp_path: Path) -> FileStore:
+ @pytest.fixture(
+ params=[
+ pytest.param("redis_store", marks=pytest.mark.xdist_group("redis")),
+- pytest.param("valkey_store", marks=pytest.mark.xdist_group("valkey")),
+ "memory_store",
+ "file_store",
+ ]
+@@ -341,20 +332,6 @@ async def redis_client(docker_ip: str, redis_service: None) -> AsyncGenerator[As
+ pass
+
+
+-@pytest.fixture()
+-async def valkey_client(docker_ip: str, valkey_service: None) -> AsyncGenerator[AsyncValkey, None]:
+- # this is to get around some weirdness with pytest-asyncio and valkey interaction
+- # on 3.8 and 3.9
+-
+- Valkey(host=docker_ip, port=6381).flushall()
+- client: AsyncValkey = AsyncValkey(host=docker_ip, port=6381)
+- yield client
+- try:
+- await client.aclose()
+- except RuntimeError:
+- pass
+-
+-
+ @pytest.fixture(autouse=True)
+ def _patch_openapi_config(monkeypatch: pytest.MonkeyPatch) -> None:
+ monkeypatch.setattr("litestar.app.DEFAULT_OPENAPI_CONFIG", OpenAPIConfig(title="Litestar API", version="1.0.0"))
+diff --git a/tests/docker_service_fixtures.py b/tests/docker_service_fixtures.py
+index 84e78d48e..6efca3697 100644
+--- a/tests/docker_service_fixtures.py
++++ b/tests/docker_service_fixtures.py
+@@ -13,8 +13,6 @@ import asyncpg
+ import pytest
+ from redis.asyncio import Redis as AsyncRedis
+ from redis.exceptions import ConnectionError as RedisConnectionError
+-from valkey.asyncio import Valkey as AsyncValkey
+-from valkey.exceptions import ConnectionError as ValkeyConnectionError
+
+ from litestar.utils import ensure_async_callable
+
+@@ -129,21 +127,6 @@ async def redis_service(docker_services: DockerServiceRegistry) -> None:
+ await docker_services.start("redis", check=redis_responsive)
+
+
+-async def valkey_responsive(host: str) -> bool:
+- client: AsyncValkey = AsyncValkey(host=host, port=6381)
+- try:
+- return await client.ping()
+- except (ConnectionError, ValkeyConnectionError):
+- return False
+- finally:
+- await client.aclose()
+-
+-
+-@pytest.fixture()
+-async def valkey_service(docker_services: DockerServiceRegistry) -> None:
+- await docker_services.start("valkey", check=valkey_responsive)
+-
+-
+ async def postgres_responsive(host: str) -> bool:
+ try:
+ conn = await asyncpg.connect(
+
diff --git a/dev-python/litestar/litestar-2.21.1.ebuild b/dev-python/litestar/litestar-2.21.1.ebuild
new file mode 100644
index 000000000000..ae22d424cc05
--- /dev/null
+++ b/dev-python/litestar/litestar-2.21.1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="Light, flexible and extensible ASGI framework"
+HOMEPAGE="
+ https://github.com/litestar-org/litestar/
+ https://pypi.org/project/litestar/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/litestar-org/litestar/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/anyio-3[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22[${PYTHON_USEDEP}]
+ >=dev-python/litestar-htmx-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/msgspec-0.18.2[${PYTHON_USEDEP}]
+ >=dev-python/multidict-6.0.2[${PYTHON_USEDEP}]
+ >=dev-python/multipart-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/polyfactory-2.6.3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.0.0[${PYTHON_USEDEP}]
+ dev-python/rich-click[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.3.1[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/asyncpg-0.29.0[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/httpx-sse[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/hypercorn[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ dev-python/pydantic-extra-types[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]
+ <dev-python/time-machine-3[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Requires docker
+ "tests/unit/test_channels/test_plugin.py"
+ "tests/unit/test_testing/test_test_client.py"
+ "tests/unit/test_channels/test_backends.py"
+
+ # Unpackaged advanced alchemy
+ "tests/examples/test_dto/test_example_apps.py"
+ "tests/unit/test_dto/test_factory/test_integration.py"
+ "tests/e2e/test_advanced_alchemy.py"
+ "tests/examples/test_contrib/test_sqlalchemy/plugins/test_example_apps.py"
+ "tests/examples/test_contrib/test_sqlalchemy/plugins/test_tutorial_example_apps.py"
+ "tests/examples/test_contrib/test_sqlalchemy/test_sqlalchemy_examples.py"
+ "tests/unit/test_app.py"
+ "tests/unit/test_contrib/test_sqlalchemy.py"
+ "tests/unit/test_plugins/test_base.py"
+ "tests/unit/test_plugins/test_sqlalchemy.py"
+ "tests/unit/test_repository/test_generic_mock_repository.py"
+ "tests/examples/test_plugins/test_sqlalchemy_init_plugin.py"
+
+ # Unpackaged minijinja
+ "tests/examples/test_templating/test_engine_instance.py"
+ "tests/examples/test_templating/test_returning_templates.py"
+ "tests/examples/test_templating/test_template_functions.py"
+ "tests/unit/test_contrib/test_minijinja.py"
+ "tests/unit/test_plugins/test_flash.py"
+ "tests/unit/test_template/test_built_in.py"
+ "tests/unit/test_template/test_builtin_functions.py"
+ "tests/unit/test_template/test_context.py"
+ "tests/unit/test_template/test_csrf_token.py"
+ "tests/unit/test_template/test_template.py"
+
+ # Unpackaged beanie
+ "tests/unit/test_plugins/test_pydantic/test_beanie_integration.py"
+
+ # Unpackaged valkey
+ "tests/unit/test_stores.py"
+
+ # Avoid the dependency
+ "tests/unit/test_contrib/test_opentelemetry.py"
+ "tests/unit/test_plugins/test_prometheus.py"
+)
+EPYTEST_DESELECT=(
+ # Requires docker
+ "tests/e2e/test_response_caching.py::test_with_stores[redis_store]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling_empty_path[hypercorn]"
+
+ # Unpackaged daphne
+ "tests/e2e/test_routing/test_path_resolution.py::test_no_path_traversal_from_static_directory[daphne]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling_empty_path[daphne]"
+ "tests/e2e/test_routing/test_path_resolution.py::test_server_root_path_handling[daphne]"
+ "tests/e2e/test_routing/test_path_mounting.py::test_path_mounting_live_server[daphne]"
+
+ # Deprecation test
+ "tests/unit/test_deprecations.py::test_contrib_minijnja_deprecation"
+ "tests/unit/test_deprecations.py::test_minijinja_from_state_deprecation"
+
+ # Unpackaged advanced alchemy
+ "tests/examples/test_data_transfer_objects/test_factory/test_type_checking.py::test_should_raise_error_on_route_registration"
+ "tests/unit/test_contrib/test_repository.py::test_advanced_alchemy_imports"
+
+ # Fragile to configuration differences
+ "tests/e2e/test_logging/test_structlog_to_file.py::test_structlog_to_file"
+ "tests/unit/test_connection/test_request.py::test_request_headers"
+ "tests/unit/test_connection/test_websocket.py::test_websocket_headers"
+
+ # Fragile to background load
+ #"tests/unit/test_handlers/test_http_handlers/test_kwarg_handling.py::test_route_handler_kwarg_handling"
+
+ # TypeError: Issuer (iss) must be a string.
+ "tests/unit/test_security/test_jwt/test_auth.py::test_jwt_auth_validation_error_returns_not_authorized"
+)
+
+EPYTEST_RERUNS=5 # upstream does it, and yes flaky is real
+EPYTEST_XDIST=1
+EPYTEST_PLUGINS=( pytest-asyncio pytest-mock pytest-lazy-fixtures )
+distutils_enable_tests pytest
+
+PATCHES=(
+ # valkey not packaged
+ "${FILESDIR}"/litestar-2.19.0-no-valkey.patch
+)
+
+python_test() {
+ epytest -o addopts= tests
+}
diff --git a/dev-python/litestar/metadata.xml b/dev-python/litestar/metadata.xml
new file mode 100644
index 000000000000..d86b32469b08
--- /dev/null
+++ b/dev-python/litestar/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <upstream>
+ <doc>https://docs.litestar.dev/latest/</doc>
+ </upstream>
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/polyfactory/Manifest b/dev-python/polyfactory/Manifest
new file mode 100644
index 000000000000..bc68f0f99fc9
--- /dev/null
+++ b/dev-python/polyfactory/Manifest
@@ -0,0 +1,2 @@
+DIST polyfactory-3.3.0.tar.gz 348668 BLAKE2B c677270f15d5fc951873402a464d81b88ef43f6a37679551f60821d00939161b9d0663de918f96414bbaa8cc2eae4442b1b5f83fb8c24203e92b3f381839a9ce SHA512 acea2fd2221024710ce0e6683b10d6af36214d87672b6f0293298de4a4abdf6d9cd2905132d8a42012bdc949cd591522719499924f18b8ce200fc077df9e7dc5
+DIST polyfactory-3.3.0.tar.gz.provenance 9815 BLAKE2B 6d0056a4e692f08209e647fe779e9106b62b8a0b8fa5c3f22393fb9b6bf2ef5796b2a27abe5967e042885d361cb4b245b5f9ebec65840dfd2a1fc14923836149 SHA512 ff5604b61941d518ccc840db19e2298aea4ccc9e37409795347b73d8fb03177506440d8a4e55245a4db5dec6d368bd75648ad50f6a97727614b8c522908c87a6
diff --git a/dev-python/polyfactory/metadata.xml b/dev-python/polyfactory/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/polyfactory/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/polyfactory/polyfactory-3.3.0.ebuild b/dev-python/polyfactory/polyfactory-3.3.0.ebuild
new file mode 100644
index 000000000000..6016be49e08f
--- /dev/null
+++ b/dev-python/polyfactory/polyfactory-3.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+PYPI_VERIFY_REPO=https://github.com/litestar-org/polyfactory
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple and powerful factories for mock data generation"
+HOMEPAGE="
+ https://github.com/litestar-org/polyfactory/
+ https://pypi.org/project/polyfactory/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/faker-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/annotated-types-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ >=dev-python/eval-type-backport-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-1[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.86.2[${PYTHON_USEDEP}]
+ >=dev-python/msgspec-0.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.29[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # required unpackaged beanie
+ tests/test_beanie_factory.py
+ # requires unpackaged odmantic
+ tests/test_odmantic_factory.py
+)
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests
+}
diff --git a/dev-python/posthog/Manifest b/dev-python/posthog/Manifest
index 36cb4e13180a..a9d17e5e0000 100644
--- a/dev-python/posthog/Manifest
+++ b/dev-python/posthog/Manifest
@@ -1 +1 @@
-DIST posthog-7.9.7.gh.tar.gz 628295 BLAKE2B 2cc6a7e720c9138c099891172735ac8cc15cc712fae0418518a6f582bcaf3f5c69f0838af083a32016622610d0da68af5a12bcc18e6cec2ed7e1e78070027336 SHA512 18f5d6865cfc189e911f083d3173c7de0344f62356def1790647cc550a6c0eedb7deeb00f87e5d724687fe523417a6dab581660c80eee27963ce4acbe3acb030
+DIST posthog-7.9.12.gh.tar.gz 630316 BLAKE2B 0f2b0f638bf21e2c1cbf9b1a5603ed6bece2fd882ec0cd434f37d1fb2a257a5e6ab4387398511a2e681c911a899f8e720e7343dc2ceb820528dedd7a4e2f2240 SHA512 93361e8a869ff82a99ceea1ab0ac25c2257195d652f5f489a06cf81e1bfc329ba00906a8aa991f1ec7ff6f43f7ab0341f4c7abb9935ce94d8eabf3764cd910be
diff --git a/dev-python/posthog/posthog-7.9.7.ebuild b/dev-python/posthog/posthog-7.9.12.ebuild
index 7da389587797..7da389587797 100644
--- a/dev-python/posthog/posthog-7.9.7.ebuild
+++ b/dev-python/posthog/posthog-7.9.12.ebuild
diff --git a/dev-python/pwdlib/Manifest b/dev-python/pwdlib/Manifest
index ff38927d3076..caf7856e8b1d 100644
--- a/dev-python/pwdlib/Manifest
+++ b/dev-python/pwdlib/Manifest
@@ -1 +1,2 @@
DIST pwdlib-0.2.1.tar.gz 11699 BLAKE2B 79913b1d4b52b5813defee6130707bd0444c106b1aa9b5a8a455cf0f61c42fc8878eb77b139d8cd3deae73483e570cc932b78db63347ed236d17e1af73fe5a06 SHA512 82d43867cda32faece5a21c4b348945ed25ee10ab49517f9d3a7200d0c3bc89010ffbdf9893accfcee366ea351fde9da40cbcf172be6dcc9828f1af614251864
+DIST pwdlib-0.3.0.tar.gz 215810 BLAKE2B d25c97dc5e8ca20a816b8ce823eccb5ae666e0b3d45582eafe230a70680bf84db092028425e2e0854b819a60847fa8f6d48a3ecaec290ddbfea019508ce5881e SHA512 0bedb03f588d8b9f6413a5e660f11ee85f5f608dc96bf2a7de12953339db83b347741f7e783c5a939f5fec0057b80b923a0785c9ef89865236efa0adca7df98c
diff --git a/dev-python/pwdlib/pwdlib-0.3.0.ebuild b/dev-python/pwdlib/pwdlib-0.3.0.ebuild
new file mode 100644
index 000000000000..b13b84273700
--- /dev/null
+++ b/dev-python/pwdlib/pwdlib-0.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Modern password hashing for Python"
+HOMEPAGE="
+ https://github.com/frankie567/pwdlib/
+ https://pypi.org/project/pwdlib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # no coverage please
+ sed -e '/[tool.pytest.ini_options]/,/^$/ { /^addopts/d }' -i pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pydantic-extra-types/metadata.xml b/dev-python/pydantic-extra-types/metadata.xml
index ae843d0eeb16..0dec5a678a5f 100644
--- a/dev-python/pydantic-extra-types/metadata.xml
+++ b/dev-python/pydantic-extra-types/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>parona@protonmail.com</email>
- <name>Alfred Wingate</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<origin>gentoo-guru-overlay</origin>
diff --git a/dev-python/pyinstrument/Manifest b/dev-python/pyinstrument/Manifest
new file mode 100644
index 000000000000..bf8136fa3862
--- /dev/null
+++ b/dev-python/pyinstrument/Manifest
@@ -0,0 +1,2 @@
+DIST pyinstrument-5.1.2.tar.gz 266889 BLAKE2B f310a4e57abeddade594bf08f6c230fadd61a23cc25d2c26c814bf95d780e31af18d46f469e8bfef9936676b41b4f6119f2b7317ef3199edc90f66ba2cd73cf4 SHA512 552ed79d3ee9db4f164eee9198601ee9c57505a393654f1a472e5312421a86bb0c66994fdacc7ad2daa7f6ef9dcbec9b207cc2f6b28c22514437eb3a9464dcf7
+DIST pyinstrument-5.1.2.tar.gz.provenance 9404 BLAKE2B f2cab00559e5710d3365e47707f26ffb0b4bf5cab9f496bba609b2ef6a91a5dc2dcf6d4573ff7c9b602b9066c85d2c66dc99d9a007ddc1a11e654e7b381ea3d3 SHA512 971fc5de6b06137d6928dbc37e2f6271a7e89aef2ace4265f22e8b92f09a2a92773e6e1c7357343c8cc6d28a3afcf8b9a8b4eb42ee107192e0125e300f7c70ec
diff --git a/dev-python/pyinstrument/metadata.xml b/dev-python/pyinstrument/metadata.xml
new file mode 100644
index 000000000000..e5d25e771884
--- /dev/null
+++ b/dev-python/pyinstrument/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyinstrument/pyinstrument-5.1.2.ebuild b/dev-python/pyinstrument/pyinstrument-5.1.2.ebuild
new file mode 100644
index 000000000000..e1995ce8feff
--- /dev/null
+++ b/dev-python/pyinstrument/pyinstrument-5.1.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2026 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_{10..14} )
+PYPI_VERIFY_REPO=https://github.com/joerick/pyinstrument
+inherit distutils-r1 pypi
+
+DESCRIPTION="Call stack profiler for Python"
+HOMEPAGE="
+ https://github.com/joerick/pyinstrument/
+ https://pypi.org/project/pyinstrument/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ >=dev-python/cffi-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-3[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # hack away flaky dep
+ sed -e '/from flaky import flaky/d' -i test/util.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf pyinstrument || die
+ epytest
+}
diff --git a/dev-python/pytest-snapshot/Manifest b/dev-python/pytest-snapshot/Manifest
new file mode 100644
index 000000000000..41a09617fdc6
--- /dev/null
+++ b/dev-python/pytest-snapshot/Manifest
@@ -0,0 +1 @@
+DIST pytest-snapshot-0.9.0.tar.gz 19877 BLAKE2B 2be9dfb5b4307b06f8633199e540a9635420ea0e783602fdc08321ceb8df2d1dfab241dc933e188c7ad252fffeef9960d78905c578da87af69c6e0fb77586c34 SHA512 ad0ce310ea8927dfac1ae07bae0bfb6651cfe4cb9e0ec17475923eaee4a64cac99ca24840da3831dfc24a514cde09cd9433fa896316646ba40078b46d8f079db
diff --git a/dev-python/pytest-snapshot/files/pytest-snapshot-0.9.0-pytest8.patch b/dev-python/pytest-snapshot/files/pytest-snapshot-0.9.0-pytest8.patch
new file mode 100644
index 000000000000..4b1306b39710
--- /dev/null
+++ b/dev-python/pytest-snapshot/files/pytest-snapshot-0.9.0-pytest8.patch
@@ -0,0 +1,21 @@
+https://github.com/joseph-roitman/pytest-snapshot/issues/71
+https://github.com/joseph-roitman/pytest-snapshot/pull/72
+
+From c9df38f672d42f13ab519ad7a9337d7b44b87346 Mon Sep 17 00:00:00 2001
+From: Reuven Peleg <4018286+R-Peleg@users.noreply.github.com>
+Date: Tue, 9 Jul 2024 10:58:50 +0300
+Subject: [PATCH] Allow the '(' in the new pytest's output
+
+--- a/tests/test_assert_match.py
++++ b/tests/test_assert_match.py
+@@ -87,8 +87,8 @@ def test_sth(snapshot):
+ r"E* assert * == *",
+ r"E* At index 4 diff: * != *",
+ r"E* Full diff:",
+- r"E* - b'the valu\xc3\x89 of snapshot1.txt{}'".format(repr(os.linesep)[1:-1]),
+- r"E* + b'the INCORRECT value of snapshot1.txt{}'".format(repr(os.linesep)[1:-1]),
++ r"E* - *b'the valu\xc3\x89 of snapshot1.txt{}'*".format(repr(os.linesep)[1:-1]),
++ r"E* + *b'the INCORRECT value of snapshot1.txt{}'*".format(repr(os.linesep)[1:-1]),
+ ])
+ assert result.ret == 1
+
diff --git a/dev-python/pytest-snapshot/metadata.xml b/dev-python/pytest-snapshot/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/pytest-snapshot/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytest-snapshot/pytest-snapshot-0.9.0.ebuild b/dev-python/pytest-snapshot/pytest-snapshot-0.9.0.ebuild
new file mode 100644
index 000000000000..f7a0eef95c33
--- /dev/null
+++ b/dev-python/pytest-snapshot/pytest-snapshot-0.9.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A plugin for snapshot testing with pytest"
+HOMEPAGE="
+ https://github.com/joseph-roitman/pytest-snapshot/
+ https://pypi.org/project/pytest-snapshot/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pytest-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=( pytest-snapshot )
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/pytest-snapshot-0.9.0-pytest8.patch
+)
diff --git a/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild b/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild
index 722cd5811a00..38d81498babd 100644
--- a/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild
+++ b/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}/py_ext
LICENSE="|| ( Apache-2.0 BSD )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
DEPEND="dev-libs/tlsh"
RDEPEND="${DEPEND}"
diff --git a/dev-python/readchar/Manifest b/dev-python/readchar/Manifest
new file mode 100644
index 000000000000..4f3e29d2648c
--- /dev/null
+++ b/dev-python/readchar/Manifest
@@ -0,0 +1 @@
+DIST readchar-4.2.1.gh.tar.gz 13314 BLAKE2B 5ba452b11e11bca431b3db5245ae640e318275bc58de7f837d0e6167e5c7d102eac2b91641d7f4fea6da3a3b6bedb7c0b984d80d752286285b5316d7f8d499c6 SHA512 dc633048c165f3683bb5776292251baae6b9cd0e1da4e7505d78a389565dc4557d815cf8635241bde8dd275873322e763c5ee13741b6ba4d0b1914e76ef2e028
diff --git a/dev-python/readchar/metadata.xml b/dev-python/readchar/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/readchar/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/readchar/readchar-4.2.1.ebuild b/dev-python/readchar/readchar-4.2.1.ebuild
new file mode 100644
index 000000000000..02eb7fd3b3a9
--- /dev/null
+++ b/dev-python/readchar/readchar-4.2.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="Python library to read characters and key strokes"
+HOMEPAGE="
+ https://github.com/magmax/python-readchar/
+ https://pypi.org/project/readchar/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/magmax/python-readchar/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-readchar-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ # --capture=no: required for tests to pass
+ # -o addopts=: avoid cov options
+ epytest --capture=no -o addopts=
+}
diff --git a/dev-python/runs/Manifest b/dev-python/runs/Manifest
new file mode 100644
index 000000000000..d1f770b6d0fb
--- /dev/null
+++ b/dev-python/runs/Manifest
@@ -0,0 +1 @@
+DIST runs-1.3.0.gh.tar.gz 17509 BLAKE2B cad3605e7c54f77ef5757f7022dd922f560dd7aa97a1f8c45a8ea9aa954d3bf8790004e6453ecaea80b88b18a18d80bb671bac7ba99288f5720b5a0a9cabf01e SHA512 38c117560376b625fa7f04653f54a21d5ed2684a5af79cbc1eef9cdd47d1f1771cb8b1d4e3cc94cac5df7ff9decceeaa7e76eb54789fa0a33b09679f17cfc66f
diff --git a/dev-python/runs/metadata.xml b/dev-python/runs/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/runs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/runs/runs-1.3.0.ebuild b/dev-python/runs/runs-1.3.0.ebuild
new file mode 100644
index 000000000000..6e7240463658
--- /dev/null
+++ b/dev-python/runs/runs-1.3.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Run a block of text as a subprocess"
+HOMEPAGE="
+ https://github.com/rec/runs/
+ https://pypi.org/project/runs/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/rec/runs/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/xmod[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tdir[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e "/'.git'/d" -i test/test_runs.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/soundcard/Manifest b/dev-python/soundcard/Manifest
new file mode 100644
index 000000000000..fc15f9757935
--- /dev/null
+++ b/dev-python/soundcard/Manifest
@@ -0,0 +1 @@
+DIST soundcard-0.4.5.tar.gz 40831 BLAKE2B bee3c54dce51a5fe0d01a30c78edc4c87752c803f90bcc2771a235d9579ade74095e2437747af322e3f179d5ae018c0a169f86ef86487291d140d1495e736d17 SHA512 f08deec62717e29a173f5fc8df2e828385e47e923ed9face22f0a389062929f95fc41b8f7156977cfffff2f6c122d052f6a00f8fdb86ff84fb845f172425d987
diff --git a/dev-python/soundcard/metadata.xml b/dev-python/soundcard/metadata.xml
new file mode 100644
index 000000000000..fa4d08b7eb9d
--- /dev/null
+++ b/dev-python/soundcard/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ghostyn678+git@gmail.com</email>
+ <name>dsaf</name>
+ </maintainer>
+ <longdescription>
+ SoundCard is a library for playing and recording audio without resorting
+ to a CPython extension. Instead, it is implemented using the wonderful
+ CFFI and the native audio libraries of Linux, Windows and macOS.
+ </longdescription>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/soundcard/soundcard-0.4.5.ebuild b/dev-python/soundcard/soundcard-0.4.5.ebuild
new file mode 100644
index 000000000000..9239586acdd0
--- /dev/null
+++ b/dev-python/soundcard/soundcard-0.4.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit pypi distutils-r1
+
+DESCRIPTION="A Pure-Python Real-Time Audio Library"
+HOMEPAGE="
+ https://pypi.org/project/SoundCard/
+ https://github.com/bastibe/SoundCard/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="test" # requires a running pulseaudio server
+
+RDEPEND="
+ >=dev-python/numpy-1.11[${PYTHON_USEDEP}]
+ dev-python/cffi[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/sqlmodel/Manifest b/dev-python/sqlmodel/Manifest
index 904c4c314347..c194b00e7a0b 100644
--- a/dev-python/sqlmodel/Manifest
+++ b/dev-python/sqlmodel/Manifest
@@ -1,2 +1,3 @@
DIST sqlmodel-0.0.29.tar.gz 119485 BLAKE2B 82d98cb0f5db782d473f7434ccfd9150ecb2f68b3a54c0a905a6c5c9681c4431780f233033236fce4a67d9daca00d7859be4288aa567f66d39db8d4968b05d9d SHA512 49775a6f21545078188fa8f172a731241d6965bb099b0c2948d445f50ca90420c9fae466c4fe6fd87f7e7addeb2cfdb370e5d7fddd521d1d51dcc1f098277503
DIST sqlmodel-0.0.31.tar.gz 94952 BLAKE2B 6c2a968a6a0145b43e94317afa619905065f8e8f293ab6ded2549a37eb151814f9f2f41e05dbdcc1def8456fa60d158670d6ed5e6ef60a6950cc8c561514fd12 SHA512 485020a6f91e82a0bf9eb9c10fec69af3f1513e34808119afe58f635b182e677f5b20f9c46497fa68bf3bc037f0e534209895c882e6cdec3ab1f95533dc72f92
+DIST sqlmodel-0.0.37.tar.gz 85527 BLAKE2B 28edc63001d0127f09062b77444aeb98e41f0b6bf205fc3ecd8a9a3e13e69071be7422477a4fc1b6eae6db9e4d765639615e483eb4316f0d43cbf0d70168a294 SHA512 11d6d34a128a17bff1cd446fcc9c2eb7372fabafb6761c3ead0d91335d090773be4dce972ee206462eab29b3cad0b9c033cd092ad4d4eecd94978cbb1dd19936
diff --git a/dev-python/sqlmodel/sqlmodel-0.0.37.ebuild b/dev-python/sqlmodel/sqlmodel-0.0.37.ebuild
new file mode 100644
index 000000000000..bce9128dc2db
--- /dev/null
+++ b/dev-python/sqlmodel/sqlmodel-0.0.37.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="SQL databases in Python, designed for simplicity, compatibility, and robustness."
+HOMEPAGE="
+ https://sqlmodel.tiangolo.com/
+ https://github.com/fastapi/sqlmodel/
+ https://pypi.org/project/sqlmodel/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/sqlalchemy-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-2.0.14[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.11.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/fastapi[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Uses coverage
+ # TIP: Search for subprocess.run([coverage])
+ "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py::test_run_tests"
+ "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py::test_run_tests"
+ "tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py::test_run_tests"
+ # Updates files
+ "tests/test_select_gen.py::test_select_gen"
+)
+
+EPYTEST_IGNORE=(
+ # Uses coverage
+ # TIP: Search for imports of coverage_run
+ "tests/test_tutorial/test_create_db_and_table/test_tutorial001.py"
+ "tests/test_tutorial/test_create_db_and_table/test_tutorial001_py310.py"
+)
+
+python_test() {
+ epytest tests
+}
diff --git a/dev-python/sse-starlette/Manifest b/dev-python/sse-starlette/Manifest
new file mode 100644
index 000000000000..b604986a24c6
--- /dev/null
+++ b/dev-python/sse-starlette/Manifest
@@ -0,0 +1 @@
+DIST sse_starlette-3.3.2.tar.gz 32326 BLAKE2B 819d912e2a6c7059a63e573db5f1b828af42c4664ed102731379d837c98eb2b374fe61cd147102b0df7aeb8cbe1af401ad1209058b789caa66d4b26136f5d73f SHA512 52d4574d5ff7f00ce605cda9d06e6e5b2f5d440c03ee224dc2d86879611e71398583fb9e1560f2cfdc6d2e09a87ebca8436891185512efbbe68011560e860c02
diff --git a/dev-python/sse-starlette/metadata.xml b/dev-python/sse-starlette/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/sse-starlette/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild b/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild
new file mode 100644
index 000000000000..7b6a25989672
--- /dev/null
+++ b/dev-python/sse-starlette/sse-starlette-3.3.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Server-Sent Events for Starlette and FastAPI"
+HOMEPAGE="
+ https://github.com/sysid/sse-starlette/
+ https://pypi.org/project/sse-starlette/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/starlette-0.49.1[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/asgi-lifespan-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/portend-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-6.1.1[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/uvicorn-0.34.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
diff --git a/dev-python/strawberry-graphql/Manifest b/dev-python/strawberry-graphql/Manifest
new file mode 100644
index 000000000000..215c1dbf85bd
--- /dev/null
+++ b/dev-python/strawberry-graphql/Manifest
@@ -0,0 +1 @@
+DIST strawberry-graphql-0.311.0.gh.tar.gz 1266374 BLAKE2B efb47f68c3e4d60e689ed82e3adbf3a4455ae9ca6881389c0eabb2139ae774fe52251ad6000c431502389df92c66dc5cb59138916d75b95305cd1eab5bebf02f SHA512 3fa8e6b607530ba5ae81631bdd4a8b4b47a1d725f9d897a77065b689ccd8c816357cf971d647bd6b2f43508f39509a632b0879bc5b9a1fa31fa0223281565d58
diff --git a/dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch b/dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch
new file mode 100644
index 000000000000..ebc9c98ebf8b
--- /dev/null
+++ b/dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch
@@ -0,0 +1,19 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 954b5e32..7c30ad2f 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -6,14 +6,6 @@ import pytest
+ from strawberry.utils import IS_GQL_32
+
+
+-def pytest_emoji_xfailed(config: pytest.Config) -> tuple[str, str]:
+- return "🤷‍♂️ ", "XFAIL 🤷‍♂️ "
+-
+-
+-def pytest_emoji_skipped(config: pytest.Config) -> tuple[str, str]:
+- return "🦘 ", "SKIPPED 🦘"
+-
+-
+ pytest_plugins = ("tests.plugins.strawberry_exceptions",)
+
+
diff --git a/dev-python/strawberry-graphql/metadata.xml b/dev-python/strawberry-graphql/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/strawberry-graphql/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild b/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild
new file mode 100644
index 000000000000..4da9e4dc186f
--- /dev/null
+++ b/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="A library for creating GraphQL APIs"
+HOMEPAGE="
+ https://strawberry.rocks/
+ https://github.com/strawberry-graphql/strawberry/
+ https://pypi.org/project/strawberry-graphql/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/strawberry-graphql/strawberry/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/strawberry-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/cross-web-0.4.0[${PYTHON_USEDEP}]
+ <dev-python/graphql-core-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/graphql-core-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+
+# dev
+# integrations
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/libcst[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pyinstrument[${PYTHON_USEDEP}]
+ dev-python/python-multipart[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/inline-snapshot[${PYTHON_USEDEP}]
+
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/chalice[${PYTHON_USEDEP}]
+ dev-python/channels[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/fastapi[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/quart[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/litestar[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ "tests/benchmarks/"
+ # avoid daphne which requires autobahn
+ "tests/channels/test_layers.py"
+ "tests/channels/test_testing.py"
+ "tests/http/clients/channels.py"
+ # FIXME:
+ "tests/http/test_graphql_ide.py"
+)
+EPYTEST_DESELECT=(
+ # TODO: sanic
+ "tests/sanic/test_file_upload.py::test_file_cast"
+ "tests/sanic/test_file_upload.py::test_endpoint"
+ # test stdlib?
+ "tests/schema/test_lazy/test_lazy_generic.py::test_lazy_types_loaded_from_same_module[script]"
+ # FIXME
+ "tests/django/test_dataloaders.py::test_fetch_data_from_db"
+)
+EPYTEST_PLUGINS=( pytest-aiohttp pytest-asyncio pytest-django pytest-mock pytest-snapshot )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/strawberry-0.288.3-no-emoji-test.patch
+)
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE="tests.django.django_settings"
+
+ # avoid superfluous pytest-emoji dependency
+ epytest -o addopts=
+}
diff --git a/dev-python/tdir/Manifest b/dev-python/tdir/Manifest
new file mode 100644
index 000000000000..e9b511ebf8ce
--- /dev/null
+++ b/dev-python/tdir/Manifest
@@ -0,0 +1 @@
+DIST tdir-1.9.0.gh.tar.gz 29196 BLAKE2B 058105e176d4cb122ddc2418bcb1fd8f0c91655d07c44ba4f4c493ab9ec83c4b85b11e0364ca5e9b4c28e96ffb4b1ff8c8abe8402cff3adae406621ed28bc876 SHA512 387bdeddfa860c1469ab4801ba6b5be45b22d0da882f552ac2b96a2fac31d3af6064978605b77a23f81c54d19dc114f15b956164c7d19ca09b83157d5d9f6c84
diff --git a/dev-python/tdir/metadata.xml b/dev-python/tdir/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/tdir/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/tdir/tdir-1.9.0.ebuild b/dev-python/tdir/tdir-1.9.0.ebuild
new file mode 100644
index 000000000000..803fad1028d6
--- /dev/null
+++ b/dev-python/tdir/tdir-1.9.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Create and fill a temporary directory"
+HOMEPAGE="
+ https://rec.github.io/tdir/
+ https://github.com/rec/tdir/
+ https://pypi.org/project/tdir/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/rec/tdir/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/dek[${PYTHON_USEDEP}]
+ dev-python/xmod[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index 36890a565d2d..58bf629c66d5 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1 +1 @@
-DIST textual-8.0.2.gh.tar.gz 30211151 BLAKE2B 48ac92ddc4cc8def773fcb69ce62f4ea9316feeb432203ee25ac01dc9655f12a44f3b6558fe473f70a663da5906cf2ef357439b074f32fa5b9bde25b091efb59 SHA512 ea19dec1a935d5159fccbd72749f8460021e0c43da306fc5402fbc78ce6224efeb10a796b882943c1461727cbf2a14efda0dee7f96048591f10f29a5a6df6506
+DIST textual-8.1.1.gh.tar.gz 30212024 BLAKE2B 897e3d4714aebaaacfed5a84e298a400c3f13224a74d64e958cb9eda1fd368d3ec00b8b6f350e2d229a68299a9007f893979e86f4b09b4ae2e1c39975e46f26e SHA512 335457e9f9b8e44e73e1d7103f9ffb8dd92adc10be906004066659ac5209069bfdb673f78473c21a251a5d891943d56b26b0544fd7365e5d72d4f3d220c73518
diff --git a/dev-python/textual/textual-8.0.2.ebuild b/dev-python/textual/textual-8.1.1.ebuild
index 2234409e0746..dcd152c484dc 100644
--- a/dev-python/textual/textual-8.0.2.ebuild
+++ b/dev-python/textual/textual-8.1.1.ebuild
@@ -44,13 +44,13 @@ BDEPEND="
test? (
dev-python/griffe[${PYTHON_USEDEP}]
dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
=dev-python/textual-dev-1.7*[${PYTHON_USEDEP}]
)
"
DOCS+=( {CHANGELOG,README}.md )
+EPYTEST_PLUGINS=( pytest-asyncio )
EPYTEST_XDIST=1
EPYTEST_DESELECT=(
# Those tests ask to press keys
diff --git a/dev-python/xmod/Manifest b/dev-python/xmod/Manifest
new file mode 100644
index 000000000000..aa4d2a356a04
--- /dev/null
+++ b/dev-python/xmod/Manifest
@@ -0,0 +1 @@
+DIST xmod-1.9.0.gh.tar.gz 18369 BLAKE2B 19f455022cc6a766038f1082c3b4c3db676c6dd867dcd8b3e685e18bbee24e4f44838a42021d5b52d8e6163f4aaa9f0d829075b8dc99d913d7c50ea2c1c614f7 SHA512 4470a04fcc42604bc0eca3d954f3bf86511b673b8f115138592da188c4394fdd3d28e3ff5ed1103d34e76e790059f3c7f18dd67fb2c5d45d401ca41c2237c3bb
diff --git a/dev-python/xmod/metadata.xml b/dev-python/xmod/metadata.xml
new file mode 100644
index 000000000000..0dec5a678a5f
--- /dev/null
+++ b/dev-python/xmod/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/xmod/xmod-1.9.0.ebuild b/dev-python/xmod/xmod-1.9.0.ebuild
new file mode 100644
index 000000000000..3b123165a11c
--- /dev/null
+++ b/dev-python/xmod/xmod-1.9.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Turn any object into a module"
+HOMEPAGE="
+ https://rec.github.io/xmod/
+ https://github.com/rec/xmod/
+ https://pypi.org/project/xmod/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/rec/xmod/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest