summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/authlib/Manifest1
-rw-r--r--dev-python/authlib/authlib-1.6.11.ebuild68
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.42.90.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.42.90.ebuild67
-rw-r--r--dev-python/channels/Manifest6
-rw-r--r--dev-python/channels/channels-3.0.5.ebuild41
-rw-r--r--dev-python/channels/channels-4.2.2.ebuild34
-rw-r--r--dev-python/channels/channels-4.3.2.ebuild62
-rw-r--r--dev-python/channels/files/channels-4.3.2-fix-install.patch14
-rw-r--r--dev-python/channels/metadata.xml11
-rw-r--r--dev-python/hishel/Manifest1
-rw-r--r--dev-python/hishel/hishel-1.1.10.ebuild73
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/rq/Manifest1
-rw-r--r--dev-python/rq/rq-2.8.0.ebuild78
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild117
-rw-r--r--dev-python/testscenarios/Manifest2
-rw-r--r--dev-python/testscenarios/testscenarios-0.6.1.ebuild38
-rw-r--r--dev-python/wrapt/Manifest3
-rw-r--r--dev-python/wrapt/wrapt-2.2.0_rc6.ebuild39
-rw-r--r--dev-python/wrapt/wrapt-2.2.0_rc9.ebuild (renamed from dev-python/wrapt/wrapt-2.2.0_rc5.ebuild)0
27 files changed, 598 insertions, 143 deletions
diff --git a/dev-python/authlib/Manifest b/dev-python/authlib/Manifest
index 4065eb7cc4e7..de06a2fd311c 100644
--- a/dev-python/authlib/Manifest
+++ b/dev-python/authlib/Manifest
@@ -1,2 +1,3 @@
DIST authlib-1.6.10.gh.tar.gz 330246 BLAKE2B f07f4fa116880f4e66f5a4b11e9fd3a519f2754ae2fed91966406cb7ca7780dfaae9180dda3179c43dd3c5e7a7b80ddb69157dc4e5589f394a658aa8de9dfdc0 SHA512 ba10af251f23a8d790026fbe2f27418e86b76fbcc0171b3400cf8fe2b2bc93eaf5e49a240ee092bee10a620d43e7b22e246609d1089b590668bf1a4eac2d01f6
+DIST authlib-1.6.11.gh.tar.gz 330921 BLAKE2B 1024844f9fbe4c40962df5b8534d7be5bf5556dda80e47577b160598d315d533c21877fa05e7ced85dbddde1e7fabd97c9ae05cbff0a1f87e0bb3d5354c24f72 SHA512 177dbbd3635b314bc2d67bb5ff7c140d5b94d1affa78ba265aca5f8c6b68621215836754d057e7e742b7b14dffb85eff8a1ddfef4505aca1fbe199af37c617ea
DIST authlib-1.6.9.gh.tar.gz 329652 BLAKE2B 0fed4ffffde554fac45519ced2ffe8d73343d9c52a3d177af5ba79714ca9bd80b08279c1f94c9521274fe994036e100d419a55acb1b86678e59a8f538f6aa82a SHA512 4e1ff409a1cae3dd6fdccd42411c832f44a1f00aaa60eb4dee77efc89b7a44813c3e674d3e785dd71d8090c29728590c7dce8073dd13c7c73569c78cdc47a3ff
diff --git a/dev-python/authlib/authlib-1.6.11.ebuild b/dev-python/authlib/authlib-1.6.11.ebuild
new file mode 100644
index 000000000000..daa000fe6e55
--- /dev/null
+++ b/dev-python/authlib/authlib-1.6.11.ebuild
@@ -0,0 +1,68 @@
+# 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="A Python library in building OAuth and OpenID Connect servers and clients"
+HOMEPAGE="
+ https://authlib.org/
+ https://github.com/authlib/authlib/
+ https://pypi.org/project/Authlib/
+"
+# pypi source distribution excludes the tests
+SRC_URI="
+ https://github.com/authlib/authlib/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="django jose test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ django? (
+ dev-python/django[${PYTHON_USEDEP}]
+ )
+ jose? (
+ >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/cachelib[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.10[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+# EPYTEST_XDIST makes tests flaky
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # convert from pycryptodomex to pycryptodome
+ sed -i -e 's:from Cryptodome:from Crypto:' \
+ authlib/jose/drafts/_jwe_enc_cryptodome.py || die
+}
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.django_settings
+ epytest tests/{core,jose,clients}
+
+ # TODO: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
+ #epytest tests/django
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 95652a295295..0dcd07bc49d9 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -10,3 +10,4 @@ DIST boto3-1.42.86.gh.tar.gz 1118949 BLAKE2B 567875d3a130f6b7bb5a7eecfe81bddc24b
DIST boto3-1.42.87.gh.tar.gz 1119510 BLAKE2B f800b5931768f707c5f53c7171d5a0828f286f92bb87a7840747082dd18891dfa12140441d335be081b7b2f2d7143c65d15a8ba8ee9d164e2a2eefb814892d2d SHA512 caf856381edaee513a5331402efcc5ec79a86ea22d415850f91d24fb4f4704e1a68433b4b05e8100ab207be354c73f3a4d869716c1b624f543628692044b60c9
DIST boto3-1.42.88.gh.tar.gz 1120718 BLAKE2B f45f5c0ee3a6b262f4e49a5fe670a225c1a3ea429072ad7a6318ac21802016aa8cf69a34c9a1d7dee710d6f8b5a2ba604825bb10efa6bc9f5b6a5c627f76a5ca SHA512 121dfb7ea610fb8689e53aa8a5e8bb203458b141cc48e725dd2df756d70b6d1de251e202544dfda07ce006958e96876ade58eeeac32053badd15d3ee4d090b73
DIST boto3-1.42.89.gh.tar.gz 1122098 BLAKE2B 8f81c17e47e8c07278b4eaf26c4e24a265f2c0e37c9d5e4ac364de781f0ec1d4869faa78b451726906ff3e967779c600d15a78954c721766a7ef494b193fb2dd SHA512 ef9c48233a08ff3147c589851af0c87b48bcd0506f7f3b1dd58de067ab3a7c9eef48e55f3696bcdae99094cde89339162d3432f492498555dacbf1288b4d0a53
+DIST boto3-1.42.90.gh.tar.gz 1123585 BLAKE2B c70766edc67bee9deceb08f779ace13f327c2d966996e780b3e6681115fceff7c18d69fcb16907c0753c6d4c36e3aba2ad07d141fe9e20cfce774441630430bf SHA512 ffc470e9a6a5165419180b99085e1461131d11cdf018969d1e7428e6e0b7ab3ab5c08e9e4e1b8401f3e5c74b28e10fab1d12e8e8dc9bbacf68a65b6002b390d3
diff --git a/dev-python/boto3/boto3-1.42.90.ebuild b/dev-python/boto3/boto3-1.42.90.ebuild
new file mode 100644
index 000000000000..6e5f06a012ad
--- /dev/null
+++ b/dev-python/boto3/boto3-1.42.90.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.16.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 55dda1340c17..1674469de24c 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -10,3 +10,4 @@ DIST botocore-1.42.86.gh.tar.gz 16096034 BLAKE2B 8e3fa6ca0d609d658cf0e7be713d31a
DIST botocore-1.42.87.gh.tar.gz 16110857 BLAKE2B d3f328970ab32dfcb4a139e15de275e468afb8441de33a16cb52ee605b316ce6ccf2c6b59c728766ee5e83d9327e3bb8ea5cbb05507783b423e61ea7a3a215e3 SHA512 bb549cd3de753cf05c6a60114743054c09a0f39e528f409702915a12f3bb687b338bd55e43be75fe6effa805c85af7a405680a4e385e9844a01bb89309446eac
DIST botocore-1.42.88.gh.tar.gz 16115557 BLAKE2B cb2470ce6d16bb0e91d6976b84899eea502f7fe41dc0da6727f8d55150dfd6f3aff67a7b8282c6b09e1aa8f8df419d5bd4285788603e72406a9f6d7cb86da165 SHA512 c9ccab70325b68e69fd38c728b5d525a2420c1e9a32d1acb6892fcb61f607a68e1cf8021b15e754e74a869b0fc337cfe584cd75b4f60a480328e5050c47fac3d
DIST botocore-1.42.89.gh.tar.gz 16126567 BLAKE2B 7f3586175496d9d767346ed9037cb8416f76bc080d921f248d27b4e391242ad6fd0ffd3337fcddf413f2dd272e8d6a9c7951e0c120a27686f1f921d782b4dbf2 SHA512 1e2fa4687a8e01a025c30fe01e6ae4e63c9ef00241fdedd329230f8fa8189e205a0566d75fd0d35ef28b53bcd0a0023aa74d3150f527cec8db41ee0a44329e6d
+DIST botocore-1.42.90.gh.tar.gz 16133286 BLAKE2B be3d2f1bb0c29c3d43fbd17d4c893923edd0f4287013d4e7f4bee36bc575c0fe4e5a12a8e976f0b1f898cdc8831539b1d34f615147eb40b4ff58addb9cacca9f SHA512 a6e7650163935b6e78a0cbfb27ce4ca7911b95012b46a478ec1b32233c28da59a8a4f7b8df221269b4e57722055d7d05cd600ec176117c5c270a6dcc716ca839
diff --git a/dev-python/botocore/botocore-1.42.90.ebuild b/dev-python/botocore/botocore-1.42.90.ebuild
new file mode 100644
index 000000000000..f6ce0d9ed8d5
--- /dev/null
+++ b/dev-python/botocore/botocore-1.42.90.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/channels/Manifest b/dev-python/channels/Manifest
index 93bbf2713782..b58c0c2009cc 100644
--- a/dev-python/channels/Manifest
+++ b/dev-python/channels/Manifest
@@ -1 +1,5 @@
-DIST channels-4.3.2.gh.tar.gz 206077 BLAKE2B c0913d67dc74bc728dd828584cf803b4ad175bab717de71ccf1e1c5b6aaca296fd15d011deb07b2876e63b7daaefab5e5ee24c323e907b3c563f5358759f14b8 SHA512 29d9c91aca721fad44143978863c45812bf596bb65cf99084803f78d85c664d5cc7ca1015df151cdc27754b822c9cfd18102989b6e5f59bc50257f6c9d8b8b3e
+DIST channels-3.0.5.gh.tar.gz 200118 BLAKE2B 7a7653f986face1e87369917317db013e5c9fc912c6e2d7c737054ffef167bd01feb48f7e2d00d0d331e7a16093478e5416645717aed59e46dfec8f9b3641a2e SHA512 b12d1aec9602b702b5a097e9ca52dccad49940f82fcbe5594890c9bd1f1879a2fcf0f29630ca53e4972a26853df8f71d07d7b2cccd876abbf2417a76dee281bf
+DIST channels-4.2.2.gh.tar.gz 197010 BLAKE2B 321bf62c68038ce511145acd43c036dd298d58056f20ab2d676c3e3a8d6360a86a4f07c8f9ed6c123f888c012d69da22cfae4fb477dd5422cf326bf2de6a4c8f SHA512 8f7c8f27981988fed8ec254db91ce0a130b24842949ef94cc9ae21b4a259a7003654ec86c4e18aa81924e26d9b81b6a2aafaac404e490cbdda6b4a100476917a
+EBUILD channels-3.0.5.ebuild 936 BLAKE2B 788d0e9a2822dd9d0ed2d1d1a62135aeb5f244710b66f7591962518a5204cde5b8e779280783dd1d1a1b1a3fa9b272a0eb457f1d88d62c8ecefc8f67384929ef SHA512 89003fa68c7ab1cdd1a329f4389ba6fe28f491217a70c03b2979a992b450d8aa1a02f024f073ad5fc0aa1d093d81c6c8b1adaa45bdc9a179f5bd1607d85c13ef
+EBUILD channels-4.2.2.ebuild 829 BLAKE2B e5946c4a0eaf9fb3ffa2092a3d5d49d3d6ee16f151483fa2b716c8bab3350eca5e330a22822f881421d8882ffb970f4c56154c613477d094319e46addf1a5537 SHA512 84ce30d87a654c1a89ac299fb0f6447ca9c736e4b63497d83fc2687384e9cbe8094ba8f5021a19f726f9bae97c6b6d11eddef6a9ee5c275efe827bf95d3848ec
+MISC metadata.xml 445 BLAKE2B b4c0a41d6caadfbc53cbba3c41f8b7689a286b3f8d285c37a88a1f79d8dc350b82fea255048c022b92091a1e0cc67bf19645d6c32183b82a6dd49cccadf5078f SHA512 380c8b98efe8d9a2513c51899b7de90b115d4a51f104f46b552ff8929c322850e511e245a2ba0e976213416ae7241a17292ca98248caacfc891fcdcf5cea5d44
diff --git a/dev-python/channels/channels-3.0.5.ebuild b/dev-python/channels/channels-3.0.5.ebuild
new file mode 100644
index 000000000000..03a4923889fe
--- /dev/null
+++ b/dev-python/channels/channels-3.0.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 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="Extends Django abilities beyond HTTP protocol"
+HOMEPAGE="https://github.com/django/channels"
+SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ >=dev-python/django-2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ >=dev-python/daphne-3.0[${PYTHON_USEDEP}]
+ <dev-python/daphne-4.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # https://github.com/django/channels/issues/1915
+ echo 'asyncio_mode = auto' >> setup.cfg
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/channels/channels-4.2.2.ebuild b/dev-python/channels/channels-4.2.2.ebuild
new file mode 100644
index 000000000000..710613a7cbd1
--- /dev/null
+++ b/dev-python/channels/channels-4.2.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 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="Extends Django abilities beyond HTTP protocol"
+HOMEPAGE="https://github.com/django/channels"
+SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ >=dev-python/asgiref-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ >=dev-python/daphne-4.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
diff --git a/dev-python/channels/channels-4.3.2.ebuild b/dev-python/channels/channels-4.3.2.ebuild
deleted file mode 100644
index ffafd1ece52b..000000000000
--- a/dev-python/channels/channels-4.3.2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# 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="Brings async, event-driven capabilities to Django"
-HOMEPAGE="
- https://channels.readthedocs.io/
- https://github.com/django/channels/
- https://pypi.org/project/channels/
-"
-# no tests in sdist
-SRC_URI="
- https://github.com/django/channels/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.9.0[${PYTHON_USEDEP}]
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- dev-python/selenium[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # avoid daphne as it requires autobahn
- tests/sample_project/tests/test_selenium.py
- tests/security/test_websocket.py
- tests/test_database.py
- tests/test_generic_http.py
- tests/test_generic_websocket.py
- tests/test_http.py
- tests/test_testing.py
-)
-
-EPYTEST_PLUGINS=( pytest-django pytest-asyncio )
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/channels-4.3.2-fix-install.patch
-)
-
-python_prepare_all() {
- # avoid daphne as it requires autobahn
- sed -e '/"daphne"/d' -i tests/sample_project/config/settings.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/channels/files/channels-4.3.2-fix-install.patch b/dev-python/channels/files/channels-4.3.2-fix-install.patch
deleted file mode 100644
index 18eca8f75445..000000000000
--- a/dev-python/channels/files/channels-4.3.2-fix-install.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index 742e1f6..43d8c0d 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -52,7 +52,7 @@ types =
-
- [options.packages.find]
- exclude =
-- tests
-+ tests*
-
- [flake8]
- exclude = venv/*,tox/*,docs/*,testproject/*,build/*
-
diff --git a/dev-python/channels/metadata.xml b/dev-python/channels/metadata.xml
index 0dec5a678a5f..7093cae71294 100644
--- a/dev-python/channels/metadata.xml
+++ b/dev-python/channels/metadata.xml
@@ -2,10 +2,11 @@
<!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>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
- <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/django/channels/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
index 28aeb778495e..6e2d3e5e5d65 100644
--- a/dev-python/hishel/Manifest
+++ b/dev-python/hishel/Manifest
@@ -1 +1,2 @@
+DIST hishel-1.1.10.gh.tar.gz 749424 BLAKE2B 5757ad0f64711fb2616f4c6b209f78ded5049d186acaea41ae4f9d0c254ca3bf1c0f6b745b8d6720068c6ad925968b2fa2fa0f16fb0cb66c605dc6ebf3640de8 SHA512 9aa2a797152f0b23160f91f505999508d1507b08da576405c0bf4c1dbfa3ab7dbe8863b9c01727b74a3dec29ad82a5d953bb0ef094f12de6b637fa5a654ef3d9
DIST hishel-1.1.9.gh.tar.gz 1112186 BLAKE2B bbb5f2d60b1319ae6ba6753664a85c26316cf355c3e721db5bb2d28ec0edf4f97bec50aeaba4bd707f95e943e0379ee91911125bd6f7b0c872d481d850773cbe SHA512 b17b30bee8a68cbdd51d28b00229b49464c1a6a94fafcdc89fd6f16a82713b9422df39af341f4c26de4c9e72be8dd6495cbcf382b0185c53f4aac7d0d27d620a
diff --git a/dev-python/hishel/hishel-1.1.10.ebuild b/dev-python/hishel/hishel-1.1.10.ebuild
new file mode 100644
index 000000000000..736a5f07b9d6
--- /dev/null
+++ b/dev-python/hishel/hishel-1.1.10.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2024-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
+
+DESCRIPTION="An elegant HTTP Cache implementation for HTTPX and HTTP Core"
+HOMEPAGE="
+ https://github.com/karpetrosyan/hishel/
+ https://pypi.org/project/hishel/
+"
+SRC_URI="
+ https://github.com/karpetrosyan/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/anyio-4.9.0[${PYTHON_USEDEP}]
+ >=dev-python/anysqlite-0.0.5[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-1.14.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-db/redis
+ >=dev-python/boto3-1.15.3[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.28.0[${PYTHON_USEDEP}]
+ >=dev-python/redis-6.2.0[${PYTHON_USEDEP}]
+ >=dev-python/time-machine-2.19.0[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.30.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_async_httpx.py
+ tests/test_requests.py
+ tests/test_sync_httpx.py
+ )
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Starting Redis"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..d12ab8aeaca8 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 7100f5f39dd8..271137de443d 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2025 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest
index 20a55546419d..de6436de4326 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1 +1,2 @@
DIST rq-2.7.0.tar.gz 679396 BLAKE2B b304624e88e6c2f636dc2bb69da845ffa12b40e27ac1a6198e56217233b61b3fee64c9c59e48388710408b43d6de6187881f8b6ed83ed04b783d848bd8fff234 SHA512 323a7b9f9d8ee2a74434d647db131c20d975f93215993c0410574f075fc5f6f340ebb4480c8acf8102944c13c0e699309baaf1a2b9a9f6a71367e0c772896ecb
+DIST rq-2.8.0.tar.gz 743395 BLAKE2B bbc71e84b3bc5e52b7db2330ba9fa8313a429eeda93f2b884dfc9303e27738eb60aee2ad4d647bd5aedb771edee578bca2810f9a97d9cf5f8aa056342ef5d78f SHA512 e48a349be9d6f7151c32d183ffe0bc883fa395b988b7c607ffedcdaad19b5da1af78d0cd14d1de9029f1dd82a6a26419cfe2a668ab491e73b948f8568e1e3245
diff --git a/dev-python/rq/rq-2.8.0.ebuild b/dev-python/rq/rq-2.8.0.ebuild
new file mode 100644
index 000000000000..03d1ff885aeb
--- /dev/null
+++ b/dev-python/rq/rq-2.8.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-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="Simple, lightweight library for creating and processing background jobs"
+HOMEPAGE="
+ https://python-rq.org/
+ https://github.com/rq/rq/
+ https://pypi.org/project/rq/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ dev-python/croniter[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires <sentry-sdk-2
+ tests/test_sentry.py::TestSentry::test_failure_capture
+ # hang
+ tests/test_commands.py::TestCommands::test_shutdown_command
+ tests/test_worker_pool.py::TestWorkerPool::test_check_workers
+ tests/test_worker_pool.py::TestWorkerPool::test_reap_workers
+ tests/test_dependencies.py::TestDependencies
+ # already present in older versions
+ tests/test_spawn_worker.py::TestWorker::test_work_and_quit
+)
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip pin
+ sed -i -e '/dependencies/s:,!=[0-9.]*::' pyproject.toml || die
+}
+
+src_test() {
+ local -x TZ=UTC
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+ local redis_test_config="daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ "
+
+ # Spawn Redis itself for testing purposes
+ # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
+ # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ /usr/sbin/redis-server - <<< "${redis_test_config}" || die
+
+ # Run the actual tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 38726b5a7fd1..6989ff802e83 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -2,3 +2,4 @@ DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb
DIST sqlalchemy-2.0.48.tar.gz 9886075 BLAKE2B fae9446bffad0135fe89c91aa81fd18b9c63a08fc84a6865bb92b9fbc08439c3ff7b06bba209ef2f935b12e0ac8c5473e85a4f8242d22650c8145768cc47ab8a SHA512 ec108625627b6f2611d55786e5d4079954fea1ba46e923d19d0f33a98ca6a2a4eac605d3d09746defd6a8eb9defd577097df98eff1b64c7c2d6d5647ac1122fe
DIST sqlalchemy-2.0.49.tar.gz 9898221 BLAKE2B becdf2e8fab5712ac175ac649bb2f6a8b830122d3df218c5f4039ef9e51a3ebe1d99d21fc13719d8c48b9de1b335ed079fc59f5ada696ae11c682f418640aa4a SHA512 7c28643c0f220f0c096eab3aff094949144b42fe0c72813f5a9ed27d1531504b2ecef30d9ce0e7294110519588ba687a30f414a6ba961e99bf37d4fb867da47e
DIST sqlalchemy-2.1.0b1.tar.gz 10135160 BLAKE2B 03f682f3d8476816784c35f0a5547608dcbece3c8d5fd1b750cf92f82c28f9041e35e02484714fd5680708515c14a2f99731586801a74d7b791d4174e45ba943 SHA512 3aa2b0967a56869e9582691aa7d6279a3a3801f4c5310d68f4ae3bc194d90a686c4667f119db7643bc08436d5982598e04646df1fe640a4bfda448af8791564d
+DIST sqlalchemy-2.1.0b2.tar.gz 10225731 BLAKE2B ec2a69fe0f636f6a9366874e071b43b3f7314de57483e8c6948042b232a0b336273f9ab1f89ad43969db1ec111b037b705b2b41dcaa0e140eb2fe66a1d6e29e8 SHA512 ad1087cc6a8a2d6646ddc74a5ef10e0218275c32a2f8b90ca41138800fd2bc9a9ca8afb60de3a0a424f6111226e55ff21d16f14de3b57ddd26bccd9d883c7c01
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild
new file mode 100644
index 000000000000..043fd23063e2
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.1.0_beta2.ebuild
@@ -0,0 +1,117 @@
+# 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_{10..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
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # TODO: looks like cursor cleanup failure
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"
+ # mismatched exception messages
+ "test/dialect/sqlite/test_types.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/engine/test_execute.py::ExecuteDriverTest_sqlite+pysqlite_${sqlite_version//./_}::test_exception_wrapping_orig_accessors"
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/engine/test_processors.py::PyDateProcessorTest::test_invalid_string[str_to_time]"
+ # TODO
+ test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit
+ test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit
+ "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors"
+ "test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]"
+ test/sql/test_lambdas.py::LambdaElementTest::test_bindparam_not_cached
+ test/sql/test_compare.py::CompareAndCopyTest::test_all_present
+ test/sql/test_compare.py::CacheKeyTest::test_cache_key
+ "test/dialect/sqlite/test_on_conflict.py::OnConflictTest_sqlite+pysqlite_${sqlite_version//./_}::test_on_conflict_do_update_bindparam"
+ )
+ ;;
+ 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/testscenarios/Manifest b/dev-python/testscenarios/Manifest
index 415f90a00ddd..cadab344de92 100644
--- a/dev-python/testscenarios/Manifest
+++ b/dev-python/testscenarios/Manifest
@@ -1,2 +1,4 @@
DIST testscenarios-0.5.0.tar.gz 20951 BLAKE2B 154915281456aad3353e144ffec8404514622fdeb8d2129ba530d3d5a02814599c2fead9dc25ab4904bad68b2892a435f9cbbcde92503d71477624bbec154f53 SHA512 f08b868babf504482369c5cb945d3e95bca1cc00f92d5013f6898c488051be0c26dc49aaabcef362aea45450a8d041d9826fb6b5c848beec013fb102d6935521
+DIST testscenarios-0.6.1.tar.gz 18484 BLAKE2B 0d8d2cb28fbaf2a245efa6bb5c52311ef04ced5910880519d8931fee4022de35d28046c1c10f63bdae34487a13033f75e046abb6290e02ad268c1829d84e933f SHA512 a8220e1f18c3eb6ad55b9bbe61e58b1ead5e730babda2375df5d1648dbcbabe56ddfd62f41d654b28eca605d54e7303799e99fbeef005f3fd66304b7f61cc81c
+DIST testscenarios-0.6.1.tar.gz.provenance 9708 BLAKE2B 15bb80ad8cc73ce0f96d1deb4cc7a55a6c4e101c9ec38361f1ac2ef01effcc1e2071f5ed0bd5140e6268b36dac82cdf5a91f3aa890e500df80d13378aa85d202 SHA512 bf004f8b8f33520f3cc71171127c8699470c4850947a35a14d60968b0281d0a537c266cf571588628b426f0a1fcf0bd093509bbe65db40f290c50de73f650ac2
DIST testscenarios-0.6.tar.gz 14970 BLAKE2B 01e0ee8160ed56da1ef6f00870aff2ac414bb3c7492773656936c9e7c8a0ae5be2bea21fe62fb7cc18809b0177a0d1e60a0fe5c6a4399eed1f08174339e518b7 SHA512 fd83ed0fae6a1d39d829db5616bc54e86b960cf5f049fb472e416e6a49bdbba676bdea543f4396471debe990ba5c6bbf8574964111eea9bc7afed4355c1191c6
diff --git a/dev-python/testscenarios/testscenarios-0.6.1.ebuild b/dev-python/testscenarios/testscenarios-0.6.1.ebuild
new file mode 100644
index 000000000000..65fd7235715f
--- /dev/null
+++ b/dev-python/testscenarios/testscenarios-0.6.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/testing-cabal/testscenarios
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pyunit extension for dependency injection"
+HOMEPAGE="
+ https://launchpad.net/testscenarios/
+ https://github.com/testing-cabal/testscenarios/
+ https://pypi.org/project/testscenarios/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/testtools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ "${EPYTHON}" -m testtools.run -v testscenarios.tests.test_suite ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest
index c00c86c958ba..32e9fb7432d3 100644
--- a/dev-python/wrapt/Manifest
+++ b/dev-python/wrapt/Manifest
@@ -1,5 +1,4 @@
DIST wrapt-1.17.3.gh.tar.gz 140900 BLAKE2B 88c4cd718cd98a97c866c4f0b9f7e095347fe6fa5fed60c54e389329c89f9f07099c8fb79561cf5e12c19c44a4067d81e805c55b54a74429e6b75913dedd6b3f SHA512 1a1f7419f20faa461a9e23ad09cc98d381ef2c48b3b24ed1dfe98d42d16857a958252301e78dd41b7fa8ef37eea379f9244cace2b396b49718c44cbc701308a3
DIST wrapt-2.1.2.tar.gz 81678 BLAKE2B f7fc45f31b8077d6d97c14c1f649437e0f1da7537769d369d427edede0ba1b84c8c07e6de9ded8088f29f2fb774272186d0f9b707e6b2bef650dc5f78444d852 SHA512 97f1af4cabfd7a4cfabfaf36d26d1afc577747f18946226fbb80256e13c55302b746005e01720e874d46d536826c83e9234544c98f8dd1ecd3c9a091113da808
-DIST wrapt-2.2.0rc5.tar.gz 101797 BLAKE2B 4784e51ece7f671cb7df884de69ec245569c1c5ea6fc6c8be58438ace8238b910b1d78c9d95de72e7e9a37d2c189d5326253c6784952092187962da6b742ec92 SHA512 509de5d5d1deff63485e0c2b7cbae04709c61276f5863596f31049f451e1eb845d23016d0cee03b9eea0495ce578e62db0a368499819965477d2a2bc08722ae8
-DIST wrapt-2.2.0rc6.tar.gz 107658 BLAKE2B 4efd21c7a575d7a19b421e6068d704a107013a4be09143544cabef6bd490cf11e7278eb011bb6024858fb61d116f628f6658519fd974a171874e51a64f1b9392 SHA512 2d28aaffd3da3d340428ef3f5d34461647eddc973b2b0fba6388dc14a3af3219d74d3c0635e7a964bf35809d7fd8cd099dc655a766841ddba4688774f3ddf4d3
DIST wrapt-2.2.0rc7.tar.gz 110602 BLAKE2B 727d02fd827ac875bb35430d9c2d3a9d8a33cc12ea16c7e15519c8eb2a51f59b90487629a49efebae44d8911655466b32864e4c1bc1f182a796268133bd94b8e SHA512 17848645d32e58f1bb18fea0a99f3cd156eff7353f7a7c7328873597a2ca3ca6b48173f4109f70e48311d9f26780fc7b3d331a8581474cfe27cb3654bc996ee9
+DIST wrapt-2.2.0rc9.tar.gz 119647 BLAKE2B fe6b0855f0ec003e8d1720d94ff8188887029286bfaf9d808e8daf7223bbac65867db6e94df664150cc5e262bd635a35ece9dd8cc4bda82daabfd08a252703cd SHA512 462d4fcdf9190136b3cfdd670c666464b82713ecd4b86a0b17840bd4dd0829903c50125349fb2587a400b32ae1cb467a079147aa1c1f59cddc37467f644416e2
diff --git a/dev-python/wrapt/wrapt-2.2.0_rc6.ebuild b/dev-python/wrapt/wrapt-2.2.0_rc6.ebuild
deleted file mode 100644
index 8514e94dc258..000000000000
--- a/dev-python/wrapt/wrapt-2.2.0_rc6.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# 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
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit distutils-r1 pypi
-
-MY_P=${P/_}
-DESCRIPTION="Module for decorators, wrappers and monkey patching"
-HOMEPAGE="
- https://github.com/GrahamDumpleton/wrapt/
- https://pypi.org/project/wrapt/
-"
-
-LICENSE="BSD"
-SLOT="0"
-if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-fi
-IUSE="+native-extensions"
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # skip mypy tests, they are fragile
- rm -r tests/mypy || die
-}
-
-python_compile() {
- local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
- distutils-r1_python_compile
-}
diff --git a/dev-python/wrapt/wrapt-2.2.0_rc5.ebuild b/dev-python/wrapt/wrapt-2.2.0_rc9.ebuild
index 8514e94dc258..8514e94dc258 100644
--- a/dev-python/wrapt/wrapt-2.2.0_rc5.ebuild
+++ b/dev-python/wrapt/wrapt-2.2.0_rc9.ebuild