summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-28 07:54:49 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-28 07:54:49 +0000
commitdc797bef664f7e01a687f22c849a15a8bd74d228 (patch)
tree03292b3b14e86af94464ed7f6f451a907f570d84 /dev-python
parent173ceeee7db457ea7dbdf2f4ce4c6de96e563378 (diff)
downloadbaldeagleos-repo-dc797bef664f7e01a687f22c849a15a8bd74d228.tar.gz
baldeagleos-repo-dc797bef664f7e01a687f22c849a15a8bd74d228.tar.xz
baldeagleos-repo-dc797bef664f7e01a687f22c849a15a8bd74d228.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.26.1.ebuild45
-rw-r--r--dev-python/Levenshtein/Manifest1
-rw-r--r--dev-python/elementpath/Manifest1
-rw-r--r--dev-python/elementpath/elementpath-4.6.0.ebuild33
-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/pikepdf/Manifest1
-rw-r--r--dev-python/pikepdf/pikepdf-9.4.0.ebuild74
-rw-r--r--dev-python/pylint-venv/Manifest1
-rw-r--r--dev-python/pylint-venv/pylint-venv-3.0.4.ebuild41
-rw-r--r--dev-python/pypdf/Manifest1
-rw-r--r--dev-python/pypdf/pypdf-5.1.0.ebuild68
-rw-r--r--dev-python/python-multipart/Manifest1
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.16.ebuild44
-rw-r--r--dev-python/simsimd/Manifest2
-rw-r--r--dev-python/simsimd/simsimd-5.9.2.ebuild (renamed from dev-python/simsimd/simsimd-5.7.3.ebuild)0
-rw-r--r--dev-python/sphinx-design/sphinx-design-0.6.1-r1.ebuild36
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.41.2.ebuild56
-rw-r--r--dev-python/twisted/Manifest1
-rw-r--r--dev-python/twisted/twisted-24.10.0.ebuild161
-rw-r--r--dev-python/typeguard/Manifest1
-rw-r--r--dev-python/typeguard/typeguard-4.4.0.ebuild39
25 files changed, 616 insertions, 21 deletions
diff --git a/dev-python/Levenshtein/Levenshtein-0.26.1.ebuild b/dev-python/Levenshtein/Levenshtein-0.26.1.ebuild
new file mode 100644
index 000000000000..7d07f44e5577
--- /dev/null
+++ b/dev-python/Levenshtein/Levenshtein-0.26.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
+HOMEPAGE="
+ https://pypi.org/project/Levenshtein/
+ https://github.com/rapidfuzz/Levenshtein/
+"
+SRC_URI="
+ https://github.com/rapidfuzz/Levenshtein/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+DEPEND="
+ <dev-cpp/rapidfuzz-cpp-4
+ >=dev-cpp/rapidfuzz-cpp-3.0.0
+"
+RDEPEND="
+ <dev-python/rapidfuzz-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rapidfuzz-3.9.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3.0.11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/Levenshtein/Manifest b/dev-python/Levenshtein/Manifest
index 49acda299a21..f9e70a2c3422 100644
--- a/dev-python/Levenshtein/Manifest
+++ b/dev-python/Levenshtein/Manifest
@@ -1,2 +1,3 @@
DIST Levenshtein-0.25.1.gh.tar.gz 39060 BLAKE2B 9d058d910be7c6c3e668cca631a7da5bed678e219c96e4255dbf69c46cb3c55002928fcd90f39916b6c1a57845e9cf1a2327701ae21c662b81f909b9ea1f4bff SHA512 936dab36b15df6f2ee5425efb1fdb1490fb8f618ba453f464a6dd615bcc427e55ceee7474f06b34392871d9f38470b853602a11d8f9776eee66ec34156511ca4
DIST Levenshtein-0.26.0.gh.tar.gz 38404 BLAKE2B c78a53ba9d5c10968f000264cd20e9d5bc155135765088d4cb7f3f937c6cb5c30f01c09c977e9c8a50d4d0bafab0ad89848102d6f28c57cd471b5901f652d175 SHA512 cf48aa9e81a90c6a9a4cc7033f5035dc89f45db9c7e35929c4b11e2b9af180a018d455a56b8c1f5c748db263401155950e1985a195613a5bb914050f5d68e998
+DIST Levenshtein-0.26.1.gh.tar.gz 38429 BLAKE2B d217bf620f5ebe68a50230f7ce91f292f0a9cd9781b29a9e328e1e788d2d2f2ee71362a1ab660794f6adfa7e7267d9bc3685e9460754354226a6b964affd0ade SHA512 589b1f404108f488caf880063f20ee9c6a2033b0a2cd819352bf15e285ea8537c1dc8117de70679f720fd3da47546f7e0e5c620e4da8cf09bf8df9b119e6abc9
diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest
index 3c686896257c..8f61366e8922 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1 +1,2 @@
DIST elementpath-4.5.0.tar.gz 338727 BLAKE2B d05f98c509fb7d6fc2db73880963e8f77fbc4643907b6de37771bd52faaf054dddd9bfc35e238e4f8f7b4e0d3c033f4be9297e93b91462cd21664e16661739c4 SHA512 dafd480778d9d4e9fec1dc11d298590d460ad6b26f3683dea301b650da1b1ddcf03a68af6f3fa947b78a528f458ecf655e6ec172fd6ff194890c3f8fa28f37ca
+DIST elementpath-4.6.0.tar.gz 355931 BLAKE2B 7617e778bb48b3d7aaf9ec4043af3827c2bd41eb3b0f7a2e4dae71d080cacd9d9a7932f8d358dc8d1fbd2e872fe9f390b90be4a55e04030eba806183e2d29fc1 SHA512 87e01f2aa2c98b626a1cfa38b4695c16b39c1425dbe686afef092cb265b82e6dc25997c989ffa2b198a6cb60e042d2361fabb0b53fb3efb853263a5651a59fd6
diff --git a/dev-python/elementpath/elementpath-4.6.0.ebuild b/dev-python/elementpath/elementpath-4.6.0.ebuild
new file mode 100644
index 000000000000..d0ecf7fd5b46
--- /dev/null
+++ b/dev-python/elementpath/elementpath-4.6.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
+HOMEPAGE="
+ https://github.com/sissaschool/elementpath/
+ https://pypi.org/project/elementpath/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/xmlschema-3.3.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # fails for some reason, more fit for upstream testing anyway
+ tests/test_typing.py
+)
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..37a64204a00a 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 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
+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 eb2586280d80..56733bbffc48 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-2024 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/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 09dca5ade5bb..e0163ad71116 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -2,3 +2,4 @@ DIST pikepdf-9.1.1.tar.gz 2869514 BLAKE2B b196a61d599db1355695d40ac69e09ea7a020c
DIST pikepdf-9.1.2.tar.gz 2869865 BLAKE2B 74b64d628f12a5335a9dfbe2e15fbbd0a39e266100bcc8b33e94c954aab91150f46649b181bf049cd1084a6d2412ea9485cc57d4d6a23a4678a5ea55ebbb7357 SHA512 676d68f05a506b6aa69e1b01d03164de6731d17b48d2cd4b123221ebe27aef04a75d458c897c53d504a0b3aa7d0bc3e78aaf707a3cfdcdf8d31ee5e537188bd3
DIST pikepdf-9.2.1.tar.gz 2905740 BLAKE2B cee801fcb231f2537ce75555b10d68de9acc62e7824c26a00960293d056ae08dfd79607115ca110204af95bee99b57040ba408d47453636413c1291ba4e8e7cf SHA512 5b99272c3a98499770bb3120ead62ebdda731210e0305ec143809fcea7f978bf5dd4f4f7b90b6392af40b1e2c6e79a83e6a67d54a238fc398e38cf2bd675bc30
DIST pikepdf-9.3.0.tar.gz 2905550 BLAKE2B 62b3a1d655fb5b3e4d315a3feaeb14a043048c5985f5cf99812c07e1d248ae52cb1734dbd091103f36a3fd5a981c89b57208fb50f5c1081e08e3c20ec728ff9c SHA512 3325ab06c285f8f51c66c3815b15f96b0730e38f8023ce5c1e46818c581c38ab3bd89875e5de6ce1064a5929a8c386740d76e662c82d00d9c46961c56da4f0c0
+DIST pikepdf-9.4.0.tar.gz 2905478 BLAKE2B fea41290e14c9c3254993f5885270cee8b896f830b6c4a9297843f2754b189ca9d095d33564a95686ff381dc1151d078c587a9fef681fc29f0ede1ec5b61e1e4 SHA512 53be3ca19c3daff564aef4e07b025741d1d8ab6196bf14299059263d432ab5906d73e35b88d940b8429f44f5e595f30d70276f388687b9200d4b561fe1183b29
diff --git a/dev-python/pikepdf/pikepdf-9.4.0.ebuild b/dev-python/pikepdf/pikepdf-9.4.0.ebuild
new file mode 100644
index 000000000000..c0d7b6df04aa
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-9.4.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+ tests/test_image_access.py::test_image_save_compare
+ tests/test_image_access.py::test_palette_nonrgb
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pylint-venv/Manifest b/dev-python/pylint-venv/Manifest
index b07f4f95033c..1a8b2ab200fc 100644
--- a/dev-python/pylint-venv/Manifest
+++ b/dev-python/pylint-venv/Manifest
@@ -1 +1,2 @@
DIST pylint-venv-3.0.3.gh.tar.gz 15432 BLAKE2B 2a0315967aa7ac9628a7633360249d3bf5904d2e9939fe1c962ad7066694fd5b073df71e89f0ff4a6c278c3ccf6b41cd70c0b2928b58bbaa19a7910f18f7b697 SHA512 83632d7063f8e14bcf9213a059e8e6e20222518e5cc3d19a7cc3761e11ece2aaea9b2e648f0cacdb37e6995fd85371920ed8bcc7a28545c571d12da8e8b3d795
+DIST pylint-venv-3.0.4.gh.tar.gz 16790 BLAKE2B 3b85537d53844900f109bc3fee3cbd62ae958785df8a14f23e5fd4be181aa7b207c207daf87fd3bd7f18378e3a19a8e7586b783bb68dc656e630614ba8f59232 SHA512 e30e7dd0c90280c51f0ff5795a769a8cb45f177274d110c46642af0b68216d539441d36eed55046e0f426cf3c7c8878699c0750913e78b78d07b6dbfd7defe02
diff --git a/dev-python/pylint-venv/pylint-venv-3.0.4.ebuild b/dev-python/pylint-venv/pylint-venv-3.0.4.ebuild
new file mode 100644
index 000000000000..1c1f782eab65
--- /dev/null
+++ b/dev-python/pylint-venv/pylint-venv-3.0.4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Init-hook to use the same Pylint with different virtual environments"
+HOMEPAGE="
+ https://pypi.org/project/pylint-venv/
+ https://github.com/jgosmann/pylint-venv/
+"
+SRC_URI="
+ https://github.com/jgosmann/pylint-venv/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pylint-2.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pylint-2.14.0[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ # we need to set PYTHONPATH explicitly since the test runs installed
+ # pylint (i.e. starts outside the test venv)
+ local -x PYTHONPATH=${S}:${PYTHONPATH}
+ bash test/test.sh || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 65a8a1588442..f7ddd05d3179 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,2 +1,3 @@
DIST pypdf-5.0.1.gh.tar.gz 8014103 BLAKE2B 27b7533e56e87b0945058a05aaf6079d7259705c01d4d8601e46b1c5947918d155664250cc5339afe3a3a4cc926abfb34502a7048aba91d67b2bf3661169df72 SHA512 3109164a5fbcb03c397e371802dd8502f78ed31acf38fdf7cf25be959427614ba0cb05662bc7791d8017fa4adb9438e7bba6190266759286f7a82e5618718023
+DIST pypdf-5.1.0.gh.tar.gz 8026822 BLAKE2B 068490ced3dd97d7c08fe87620b68a7363900ea4b9875b52ea525263ba9240b9ce07f1e98c2fe13167c8f9aa58f9a4280b4eb2ef899ef54efa58a8c1ce02f38c SHA512 2c13b0622fcad1faaee41e82489d12f9f2006822487412eda6108bbec68b37bfc2e94510f29eb0f3a9af788c5d99142fd64f28ed3e464ff17dbecad0442dfd2e
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-5.1.0.ebuild b/dev-python/pypdf/pypdf-5.1.0.ebuild
new file mode 100644
index 000000000000..1491220de8a8
--- /dev/null
+++ b/dev-python/pypdf/pypdf-5.1.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_reader.py::test_decode_permissions
+ tests/test_workflows.py::test_text_extraction_layout_mode
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ tests/test_generic.py::test_name_object
+ # Internet
+ tests/test_generic.py::test_calling_indirect_objects
+ tests/test_writer.py::test_increment_writer
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest
index 2c60fb152834..1b3fc5e81fbb 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1,2 +1,3 @@
DIST python-multipart-0.0.12.gh.tar.gz 92904 BLAKE2B 25076627fdcb3a4bfc9eda74218f9d6d30ea18517da00c312f50c9d3ae156894b29e83bd38d4e11d7d06732999ae9640243e660d2a037253b9f511772a6c737b SHA512 271ed29f3025be5c058a56ec56ce373348dc27b4c8130c17609bd48d73fc975b2ac8387d4989be578e1be01a618aad87c1d3ec3a37dbe73dc45813ec961842d0
DIST python-multipart-0.0.14.gh.tar.gz 94136 BLAKE2B 7e6c99fb6c3a61d655447fdda8df4aeaad7157ba42959627d69cf079c5146a6a4c35bf972ee728343816fa2ceef3da81cb4140dda42b86b19c0cac7affcea7e0 SHA512 c53d3e8faec421dd05cd9c3695e80555ee9fdd65cf616fb65b4a948fa2ca86119e076d7b6b7aa1add386306774a5de1a03811b36eaf1cc36d6ab5310573ed0f3
+DIST python-multipart-0.0.16.gh.tar.gz 94363 BLAKE2B c1f6494cbce56d7c0d6b9992e19b9661c65a89433d30b1bfa66b6a3af0a61175a3b109166ae08867a7321be7f12c351f7b61ddee374c31c36085ba19411e2fe1 SHA512 c2a58f96425217d08e71307e9d1a7649df70ee8a1d8587d1fc2d01e39863837cd56fe6acdcdac3c04e6790a744ac2074b82278073652a47b9178e584a040cb97
diff --git a/dev-python/python-multipart/python-multipart-0.0.16.ebuild b/dev-python/python-multipart/python-multipart-0.0.16.ebuild
new file mode 100644
index 000000000000..e30a8926b657
--- /dev/null
+++ b/dev-python/python-multipart/python-multipart-0.0.16.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A streaming multipart parser for Python"
+HOMEPAGE="
+ https://github.com/Kludex/python-multipart/
+ https://pypi.org/project/python-multipart/
+"
+SRC_URI="
+ https://github.com/Kludex/python-multipart/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not install the backwards compatibility package
+ # we're patching revdeps instead
+ rm -r multipart || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index 8640d8983b8f..22cadbe22887 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1,2 +1,2 @@
-DIST SimSIMD-5.7.3.gh.tar.gz 181144 BLAKE2B e00704d3a33c3bec6422f2c0a4e7c2d11c124cf8be898334317f5a4cf73b6ed5143b6c07efb9fb167ec786e0da0812072d141fc778642df21e93d18404238fa2 SHA512 ab78d4415ed0f2964470ccd36d3d737a2715b1a5a4222613d2f0f4be6a516da0e339329cbd421c6b7f6a1bc701da6ec2f3937cba5a8ea1f632beea8000d90c8f
DIST SimSIMD-5.8.0.gh.tar.gz 183559 BLAKE2B 2df0eac6eff58bc6c460b37cb7c523eae5d7e77d516bc7182ef3b39d033a1028d40536aaf99ad8ec8c28b4908ff873079ff0ca3d74acd1f763b0faaa5d4e225e SHA512 4e68050379dfe42e6c36a88a0defad0d941c873bda66cb4c65bd8367b07bca99a5c5d6eec7c8e39b15ad1b8e5bcc9dc7f43457d8552e9d72faefb88b03ad6f9b
+DIST SimSIMD-5.9.2.gh.tar.gz 201732 BLAKE2B 2ca654f964fba71e54b8383390021fe87a731a85cac2509319944a3d0c0f60a09a7c1cf2fdb16a78ca20f3b7618e40960f2eac6c65fae6a06e583504df35890a SHA512 cf32776e05b91784d9a3a7d86a73a91549a22ce4612124f88412bb12bd356c654ce4e70c6a436f731d832a65cba8827d1100ff26f2b88fcaa234057f17d19aeb
diff --git a/dev-python/simsimd/simsimd-5.7.3.ebuild b/dev-python/simsimd/simsimd-5.9.2.ebuild
index 61d7aca0a9fa..61d7aca0a9fa 100644
--- a/dev-python/simsimd/simsimd-5.7.3.ebuild
+++ b/dev-python/simsimd/simsimd-5.9.2.ebuild
diff --git a/dev-python/sphinx-design/sphinx-design-0.6.1-r1.ebuild b/dev-python/sphinx-design/sphinx-design-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..702aeba87e1a
--- /dev/null
+++ b/dev-python/sphinx-design/sphinx-design-0.6.1-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A sphinx extension for designing beautiful, view size responsive web components"
+HOMEPAGE="https://sphinx-design.readthedocs.io"
+SRC_URI="https://github.com/executablebooks/sphinx-design/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="code_style rtd theme_furo theme_pydata theme_rtd theme_sbt"
+
+RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]
+ code_style? ( dev-vcs/pre-commit )
+ rtd? ( dev-python/myst-parser[${PYTHON_USEDEP}] )
+ theme_furo? ( >=dev-python/furo-2022.06.04[${PYTHON_USEDEP}] )
+ theme_pydata? ( dev-python/pydata-sphinx-theme[${PYTHON_USEDEP}] )
+ theme_rtd? ( dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] )
+ theme_sbt? ( dev-python/sphinx-book-theme[${PYTHON_USEDEP}] )
+"
+BDEPEND="test? (
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ )
+"
+
+#PATCHES=( ${FILESDIR}/sphinx.patch )
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/myst-parser
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 0bb594b41166..e810092d14f1 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,3 +1,4 @@
DIST starlette-0.39.2.gh.tar.gz 2573134 BLAKE2B e6cd3bd3e2c2fac96d8b145ffae3a680d775a7668d9baf4db09ab81036985c8c0f5cdc6505f6db56f51126013118568c75d6f0dd6c28ea330baf575a5ff7c004 SHA512 2e81e61451136802449baafd152bf6db9cdad9a111713efb16ccef419aeb9a99b004167cd890509bad613df12d300cb5531197867c594c2b755220a1dae7bf14
DIST starlette-0.41.0.gh.tar.gz 2573744 BLAKE2B 34e96fdb97eaf9fd2de66587c5fdd877d572269ada720f7d0e9f7d3befb4e500210236d84bb2d5eb4de49e7bc005485085671d47f3885c55eed6032ef98ebda7 SHA512 9640a6117c252bdad7f065c374e09eda56f1c2c2bd2d38748000651aeb4ce92f519c9598b8dec8579810adfcd7a58173ccfdf4e2c1953f2609aca520c5b45551
DIST starlette-0.41.1.gh.tar.gz 2573805 BLAKE2B dd883e9247cf60ca98250c59640215e065513684321a8e7dceabc2681ad092939c50462ada8c5e50a6c6f7a46cc75439e164daaab045e0e218b9185ec885b21c SHA512 1b02527826534404c4f9a7a6f26d16a618d72e11f1a1bd5e7188928a76e5070c7f6ede488226247782c948948002e4d1556cabb41ff208a8d229f2eea2d61342
+DIST starlette-0.41.2.gh.tar.gz 2573909 BLAKE2B 387665e21586ec43a3683f30c111fe77ad71a7f1c8dfea13f50fae9a9315e6a00ede22f5a1c55cd05210e4996a834b2d3d60c001899905a002e11cb09b5e60c8 SHA512 7ef590fdd7bebcae54f203acf57cf086a85653b0286aa7dc5eac92c67f846e04961680234234cfd2a6d57c12678b2ce76763c39e96caed984a1220558090303c
diff --git a/dev-python/starlette/starlette-0.41.2.ebuild b/dev-python/starlette/starlette-0.41.2.ebuild
new file mode 100644
index 000000000000..d6971f531a67
--- /dev/null
+++ b/dev-python/starlette/starlette-0.41.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.13[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index 658810916790..497b479167f1 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -1,3 +1,4 @@
+DIST twisted-24.10.0.tar.gz 3525999 BLAKE2B 4d274a4b5989597c2789e05774bad3595ac5284f5da25fb488d46b87a4bb0e0ab311fcab228eaf070530451a28098bbefc326f6d4806378b2fe076adf5b07199 SHA512 dad7c1301c3b31f096db8c4796e064e864c2c28107c46c202b4f4b123c99a0e69f9b43afbf582997dd2c15a08e95b41213e4bc67ea1fe9fd8137c76656a20162
DIST twisted-24.10.0rc1.tar.gz 3526429 BLAKE2B f027cb52ea844d3b4ae641c97001c68c74b41e5fe0e31d255a8e3b0eef3188d91db5f66242b624ca98140b520b94569ccf5a0d103c7fd5e435cf867bb83648d1 SHA512 b747bb4443d91543776d89e8393e0f0536650222cee52701abb3ca9cb22504062c1e04005c8034ad5a249bd1fc639439abebb89018fe0bc89c3a9ef574379bcb
DIST twisted-24.3.0.tar.gz 3500456 BLAKE2B b2cebb2f3482dbeba250786b1977ddbb09e1a9a81f71ce5906efe8289b0e134a8b26c191c2262e8ee8ba3fccccea508c34145016b29ecf301541134dcea19e08 SHA512 c3dd227f5936ffa586a0b7447f5df4c2257dce0c0ba740373d82197a72029e7eeb0aef9789247dde73e2f24dd043f3b0b7d795f16e6e908583b054aad9b9eb6a
DIST twisted-24.7.0.tar.gz 3516844 BLAKE2B 169347260b473ea1c50806ce50324ebd51388186098886ccaad1f94e55f6b14eb7a7fc42728dbeaf4b5649d0e6dc1e4624cd5ab6d79feeaa733e18d09cfd689f SHA512 cd5a993c8f1dfdc82597bdc095e07c1016a2a86d1ce5b011b27f9f760db428fcba4579dda5733244979827f9c772c2480d1d419d2d24ae7af8697e2b8e852f62
diff --git a/dev-python/twisted/twisted-24.10.0.ebuild b/dev-python/twisted/twisted-24.10.0.ebuild
new file mode 100644
index 000000000000..ce5f45b52271
--- /dev/null
+++ b/dev-python/twisted/twisted-24.10.0.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing pypi virtualx
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="
+ https://twisted.org/
+ https://github.com/twisted/twisted/
+ https://pypi.org/project/Twisted/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="conch http2 serial ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automat-24.8.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+ conch? (
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ )
+ http2? (
+ <dev-python/h2-5.0[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.2[${PYTHON_USEDEP}]
+ <dev-python/priority-2.0[${PYTHON_USEDEP}]
+ >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
+ )
+ serial? (
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ )
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ )
+"
+IDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
+ <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
+ >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ virtual/openssh
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+python_prepare_all() {
+ # upstream test for making releases; not very useful and requires
+ # sphinx (including on py2)
+ rm src/twisted/python/test/test_release.py || die
+
+ # multicast tests fail within network-sandbox
+ sed -e 's:test_joinLeave:_&:' \
+ -e 's:test_loopback:_&:' \
+ -e 's:test_multiListen:_&:' \
+ -e 's:test_multicast:_&:' \
+ -i src/twisted/test/test_udp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # the test suite handles missing file & failing ioctl()s gracefully
+ # but not permission errors from sandbox
+ addwrite /dev/net/tun
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # breaks some tests by overriding empty environment
+ local -x SANDBOX_ON=0
+ # for py3.13, see
+ # https://github.com/twisted/twisted/pull/12092#issuecomment-2194326096
+ local -x LINES=25 COLUMNS=80
+ "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" twisted ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # own the dropin.cache so we don't leave orphans
+ > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
+
+ python_doscript "${WORKDIR}"/twisted-regen-cache
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
+
+python_postinst() {
+ twisted-regen-cache || die
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]]; then
+ python_foreach_impl python_postinst
+ fi
+}
+
+python_postrm() {
+ rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
+}
+
+pkg_postrm() {
+ # if we're removing the last version, remove the cache file
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ python_foreach_impl python_postrm
+ fi
+}
diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest
index 6fd58940634d..6cdb9f508522 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1 +1,2 @@
DIST typeguard-4.3.0.tar.gz 73374 BLAKE2B 0a7cd0dfa2c3caa19160cd66fffeeafe21cb1d195271b82e67d26fa471615768c48f8dd7d92a004db187b9b231f1bce12f1054d98f4157b784854dbb32b18320 SHA512 ce085f0655beede2d3e1178c64cea0a6fbebe9e7eeece3f9ff656233d74d3d9be5c4119aaecdc0541e9adf9c6f1458b06e6c2056b8e5394ded3f7ae4101e9e11
+DIST typeguard-4.4.0.tar.gz 74399 BLAKE2B 2f4131e3ebf632660d2aa8838c729049b5a2e0864a2e18527a9a14527497341425507cb152fa48f507eb698f54b13f2a25caa173017619d5e6456ea582fd6433 SHA512 7c15cc724b8e4b0a5b777a14727a45cb0c039be18ade1ba6d8b00cfaaa3c2c7fc0c98320a53e172d07ad069f10b995384894e262a5bd14c00d6a04a7595e26aa
diff --git a/dev-python/typeguard/typeguard-4.4.0.ebuild b/dev-python/typeguard/typeguard-4.4.0.ebuild
new file mode 100644
index 000000000000..688c4c143c3f
--- /dev/null
+++ b/dev-python/typeguard/typeguard-4.4.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Run-time type checker for Python"
+HOMEPAGE="
+ https://pypi.org/project/typeguard/
+ https://github.com/agronholm/typeguard/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # mypy changes results from version to version
+ # (we can't use EPYTEST_IGNORE because pytest_ignore_collect breaks it)
+ rm -rf tests/mypy || die
+
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # the XFAIL test pass due to some package being installed
+ epytest -o xfail_strict=False -p typeguard
+}