summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-12-24 18:50:00 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-12-24 18:50:00 +0000
commitee9387e41c0bafee71721194a804d41c7f57a205 (patch)
treee1c39d52c7a4a33c63a558b11667d8955345942d /dev-python
parentc2beb57a0606793a9e866777bbf07cccffc52854 (diff)
downloadbaldeagleos-repo-ee9387e41c0bafee71721194a804d41c7f57a205.tar.gz
baldeagleos-repo-ee9387e41c0bafee71721194a804d41c7f57a205.tar.xz
baldeagleos-repo-ee9387e41c0bafee71721194a804d41c7f57a205.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohttp-socks/Manifest1
-rw-r--r--dev-python/aiohttp-socks/aiohttp-socks-0.10.0.ebuild40
-rw-r--r--dev-python/amodem/Manifest1
-rw-r--r--dev-python/amodem/amodem-1.15.4.ebuild30
-rw-r--r--dev-python/astroid/Manifest1
-rw-r--r--dev-python/astroid/astroid-3.3.8.ebuild89
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.87.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.87.ebuild67
-rw-r--r--dev-python/cerberus/Manifest1
-rw-r--r--dev-python/cerberus/cerberus-1.3.6.ebuild32
-rw-r--r--dev-python/django-tables2/Manifest1
-rw-r--r--dev-python/django-tables2/django-tables2-2.7.4.ebuild49
-rw-r--r--dev-python/flatbuffers/Manifest1
-rw-r--r--dev-python/flatbuffers/flatbuffers-24.12.23.ebuild46
-rw-r--r--dev-python/gst-python/Manifest1
-rw-r--r--dev-python/gst-python/gst-python-1.22.12.ebuild63
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.123.0.ebuild104
-rw-r--r--dev-python/pylint/Manifest1
-rw-r--r--dev-python/pylint/pylint-3.3.3.ebuild92
-rw-r--r--dev-python/pymdown-extensions/Manifest1
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.13.ebuild37
-rw-r--r--dev-python/quart/Manifest1
-rw-r--r--dev-python/quart/quart-0.20.0.ebuild50
-rw-r--r--dev-python/rq/Manifest1
-rw-r--r--dev-python/rq/rq-2.1.0.ebuild73
-rw-r--r--dev-python/scipy/Manifest1
-rw-r--r--dev-python/scipy/scipy-1.15.0_rc2.ebuild163
30 files changed, 972 insertions, 31 deletions
diff --git a/dev-python/aiohttp-socks/Manifest b/dev-python/aiohttp-socks/Manifest
index 031d0c6a3db4..1d75df184e1a 100644
--- a/dev-python/aiohttp-socks/Manifest
+++ b/dev-python/aiohttp-socks/Manifest
@@ -1,2 +1,3 @@
+DIST aiohttp-socks-0.10.0.gh.tar.gz 13778 BLAKE2B 2bee4f2befa2ecefc121cea67cffaad8f0e6560651f73f0549cc9e5a7afa05b05ef7c1fc361149ed72df5ba1b89db017d09e70c3ae4d8ddebc7f5eadab5b09bc SHA512 18d0354cfaf49c7dee076bc7fe47f338122f5ee1f9fc42c22cfab4ab878a05941bcc1d3df0fa5c3107d6ed191ab459bdcf6a1a408f9357351518661b434dd0ef
DIST aiohttp-socks-0.9.1.gh.tar.gz 13699 BLAKE2B 9d6f86fdb767b286f72b6b6a9c7c7abd5a4ee05f52bfe5c94830ee477a12cd1c97572e31acdb05ca8ea0d70a5a12bd23afff7b946859e7de3fa8ce4cfdafd18e SHA512 dd4f5c2a8a7c7af6d46293fd0213fedd3f75c0cf36b96c776aa05f7e1433d2032c7927f1b10cf74d801e5e294bd0cde066562abcd8b196aeb0e1c58a88de0423
DIST aiohttp-socks-0.9.2.gh.tar.gz 13845 BLAKE2B fb401ad108804a4dccce7aed096a91b655d698c74a02da778876e8b35b5f1798f83f9c51f9b0aa7820d1c2d70bb3f316727daa27aabe00f96e8b744487a79847 SHA512 bbbf85baa1784dbdda42e2fc12e8fa6774da020a023a05fa1c3760ba87ada373ff9f6656d39ae9f3efac1925fdeca03df3f9d8e57ac05fc1fb347407201f482b
diff --git a/dev-python/aiohttp-socks/aiohttp-socks-0.10.0.ebuild b/dev-python/aiohttp-socks/aiohttp-socks-0.10.0.ebuild
new file mode 100644
index 000000000000..8c92513ab68e
--- /dev/null
+++ b/dev-python/aiohttp-socks/aiohttp-socks-0.10.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-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
+
+DESCRIPTION="SOCKS proxy connector for aiohttp"
+HOMEPAGE="
+ https://pypi.org/project/aiohttp-socks/
+ https://github.com/romis2012/aiohttp-socks/
+"
+SRC_URI="
+ https://github.com/romis2012/aiohttp-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-socks-2.4.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/tiny-proxy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/amodem/Manifest b/dev-python/amodem/Manifest
index b76c7b1cddc9..fe6298a62270 100644
--- a/dev-python/amodem/Manifest
+++ b/dev-python/amodem/Manifest
@@ -1,2 +1 @@
-DIST amodem-1.15.4.tar.gz 30661 BLAKE2B eea709db3be5a04c569de85457500d390432d78d6cdfab44780a7be9c885538715157cf5cd94c27a5d4e706d6f23f41dc6f863a72ccf8366de08956c2e50cbff SHA512 19eb8ed24ee93652b911a3a8b10fc89b7d567d8302328d93255d65d82c29c50d06855ba6e4228b2f12d50e7dcaadd4539305a34321a7e96ba87b2da9e25a3391
DIST amodem-1.15.6.tar.gz 28364 BLAKE2B c0fbcba609845cbf1f8ac488cb51a4e887c31cf19d6bf6c40cfc81dad8dc85e653666ff374c0e6b1dcf751abe7bc1320bb64b3f128f8ca72c787ad393ab0b814 SHA512 91dd64454c4e7d34eb11ee99184ca6c9614883ea72bb680cb6cff27c1167a128d14a751a275a33332d7b72cd6915c595616d3ad49d987ca0cf71cd4d786e8305
diff --git a/dev-python/amodem/amodem-1.15.4.ebuild b/dev-python/amodem/amodem-1.15.4.ebuild
deleted file mode 100644
index c6d97b22ee17..000000000000
--- a/dev-python/amodem/amodem-1.15.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-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} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Transmit data between two computers using audio"
-HOMEPAGE="
- https://github.com/romanz/amodem/
- https://pypi.org/project/amodem/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index b9d1010c6911..98b387abe8e2 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,3 +1,4 @@
DIST astroid-3.3.5.gh.tar.gz 465885 BLAKE2B 64453a7b17aa1584083ca3c1fea4fdf8a236a1e0b80a66d8fe83a7201f2ef7c1cb362370648d61f766e8dc101c7797fbb7c5a2ab6f21e23da3830072e6a66c23 SHA512 323774d0853e8bebf5074eab3da3c29dfd2c04c96f222eb9a7fbe8da37544f7e6dceed8d0fd163591a2cd56a3d06ebf8ec33d23baeb921aa49cccb0f29cae426
DIST astroid-3.3.6.gh.tar.gz 466233 BLAKE2B 6b8bebeb7f56009d6ea7749f911a309e6cd2a0a7bac7ade1ea91ca74bc157f048c3652a50321a72c961670cb8dcc8f584bd39ef8a2d82408b4be27c8efcbdb58 SHA512 7ed2900cdf563cb761596cb816452e64be131c34d7ea7eedb27a5ceac4e588c3c675deba72bee17557c408c019e489c6f1e86772bdc235e2f1b048239b76c993
DIST astroid-3.3.7.gh.tar.gz 466979 BLAKE2B 1f6abc37d1fd35eafc3bd6cebdc7611259cb6e77ff4c447d108ce1d88fa723a867c82eab2a93b9095bee033745a2fe3e81441e940d9c7b82910d5d04c75c334c SHA512 1debf08f1707714ac23e024632a0f686020fe7e46fdd9e417586923b7ff5b393d2e106e6145b7580c8ffece728f3228d52f71ca0b52adbd8ad1c40102fc72bc8
+DIST astroid-3.3.8.gh.tar.gz 467093 BLAKE2B 0f019e8569d7fff96d0c6e4025312d03ec518a3d7014b35bd381989d88b4ed4bb4c796597cbf6ee892ea25c03eeb9159e1f40791f20f9a27a0f8c2578d565a0c SHA512 b788815d07d6a9f5796a4e5d1c1d1df5ad9786c43b82c9f10719097bad01881c394352aaeada3171bfaf8fa72f1542efb1f75b88b8ea9164f96f4946654d00c6
diff --git a/dev-python/astroid/astroid-3.3.8.ebuild b/dev-python/astroid/astroid-3.3.8.ebuild
new file mode 100644
index 000000000000..f342635e39aa
--- /dev/null
+++ b/dev-python/astroid/astroid-3.3.8.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-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
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ # pydantic-2?
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ # requires urllib3 with bundled six (skipped with urllib3>=2)
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changes in py3.13.0b4
+ # https://github.com/pylint-dev/astroid/issues/2478
+ tests/test_nodes.py::AsStringTest::test_f_strings
+ tests/test_nodes_lineno.py::TestLinenoColOffset::test_end_lineno_string
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 20b539b400c9..8a702cccd5a4 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.35.76.gh.tar.gz 910113 BLAKE2B 3e7429976b348e29ba4184bffe03c643b85dd978cc520b924263e8430b5e5935b95152cced2f6c0807c65de4e6e1405c55bb24565ac5bc425292e9adac178c03 SHA512 132f37e77b7b36d525e9cf678fe2f624eed77a9eb9fa8e7d7f079a362e5d7a5f3edcd17c7d8bc1e27570171927d26e74a94d267a1b0cbddda3890ac6a0f21cdc
DIST boto3-1.35.81.gh.tar.gz 913534 BLAKE2B aab88ae95d4c93c8f54042ef2b3ec9defdafa4d9dd4dfb57ff1da896254bbc0d1ac8c4583b8870cc8cc814366f9ef79d67d69d45b0f373878d1c22dba465e523 SHA512 fcbc31295a94983620405dbaa0f32eee2149619cf113658c2955fe84ca541cb93e8d6d637d8d7b322e6b7252bfc390b4aff77b99af3978267c64cfa5effef1f3
DIST boto3-1.35.86.gh.tar.gz 917880 BLAKE2B 9ebf2ff2d8674013f6edead87ff92c649e977ff942fd50dfe80da4ac7a00f812735ff38791e5572b442524d335a838f4cb16fa0cc2bf54e51ef5932cb4639bf2 SHA512 4daa945a64381aca49175211b40893bf05ec733a92ab8b972c3c3e53cfd29ac8ca142c7903ee49ba75097bdf10f7a7b36d35ff0f8cb1501b12149c9f6dffdb65
+DIST boto3-1.35.87.gh.tar.gz 918374 BLAKE2B 9cc0ceaddb41fed4d776495bf1f7647c3fe3ddcadce54ed31e422964e09b9269b48206ddcb4c6d6344afa4b6ee73a4ed0a3808f2be168ba9c0709b7dfb5ca697 SHA512 ce63979076b9ad33aef2c5190e4492dd96dd7f672d9a2a4fb5a75b8ef19f31754371dfa10c86b1fad1fcf980e72fa84f9312daf2e7c3131e53e8325229e1b76f
diff --git a/dev-python/boto3/boto3-1.35.87.ebuild b/dev-python/boto3/boto3-1.35.87.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.87.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-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} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 172b24318c75..5c5c79e7f02d 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.35.76.gh.tar.gz 14117270 BLAKE2B b072b926daae520e54871676d5afc4832ddbc8c91a2ee15f103a9d48df2e17d8cef304fab28c4050bfe6d70629979c48d8bc00d5caf42a0129a19ff5a3a2baa3 SHA512 e7433d60519a0da5118b3283c192a7199e8bfdd605fc6bb98d05cc90485a1e4aec537a035ffc08bcb6c35e9d31394422596e113a98cc00c23bd3dd350577ac1d
DIST botocore-1.35.81.gh.tar.gz 14142565 BLAKE2B f0c5c284f5f0964841ab0f84f278fa574b696df614d5602856065c83971bf366449b7ccb12fbf15c3bb734d894e6eb49be89e5dae3000bd8fd8913d2f465c5e6 SHA512 7b67d6f1dc31369afc3a4ebf109682b9365b59fe46635ef92b0e8adcaa16fbcaf7e1350a13537149dd0a55b60a57534a18d9f4e8bbb28663e8b2e427ece20819
DIST botocore-1.35.86.gh.tar.gz 14177900 BLAKE2B 7b80010dca6496eceedf8598f195ac80d4416c0f2032f931586a1db2ec100185e8c9591d6d42f549fb9a579b295178aee293c4b317717b4e9264d9adc54fb2c5 SHA512 28185963f5a3a937bddcd47a3afc13fab16b32ec092bfa7b6c007ff77cfe5e0ead1b253f708ff9077638185173034d484abee0d49f97475a88dfb00fad0c31c2
+DIST botocore-1.35.87.gh.tar.gz 14180574 BLAKE2B 2b2a685940528ebc99c2f8f6651536545b624ecbe9fbba69c72be419e7891b91dde0d196ffd0ec434fdf02b530637fe575ae2720f44988fda21fa08deae26a39 SHA512 ff8065b8cc5926243e1888338040d431d6f00cc3a636ca62db794756b90ef66789c4600a4fced96c748a6b106ff0f7b599aaae4298e2fe7e5b8d78e90e0b58ed
diff --git a/dev-python/botocore/botocore-1.35.87.ebuild b/dev-python/botocore/botocore-1.35.87.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.87.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-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} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+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_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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cerberus/Manifest b/dev-python/cerberus/Manifest
index 9b2665fefda9..a27a86a6ef20 100644
--- a/dev-python/cerberus/Manifest
+++ b/dev-python/cerberus/Manifest
@@ -1 +1,2 @@
DIST cerberus-1.3.5.gh.tar.gz 921848 BLAKE2B 1f7f1c6804702dea6ab31c3e278a4d769c80c898e786aa7c7f7df0bc212edf07c4026c5dd6adf7ecdcacfd596ec33c3493ec26c3de68bd8254fce56e6532fff7 SHA512 eaa91f229a009770a1750a51e82c34f06dffeebca7af7cafd5ba3a8529502326dd20af1ed7a60fd5e5ed28edb4b974712b1493aa1e330097a8e36ad70c5e4f23
+DIST cerberus-1.3.6.gh.tar.gz 920930 BLAKE2B 168ca5e628448a4477f1aec7f1371cdf8c89c0e40c3e3f10bd3b6da1c7d78580e0db4403c8f2abe98baa7db5cbbe1b92241af725bacd9f3eced899397bafe8eb SHA512 2ee32ade240198af6aa2927d80a24e00a5d4aac22486aa13b375f7235e5491a2c61910a16e1d965c0e57cf226a3865675f2037e281d1461b262c6cbb13cb6271
diff --git a/dev-python/cerberus/cerberus-1.3.6.ebuild b/dev-python/cerberus/cerberus-1.3.6.ebuild
new file mode 100644
index 000000000000..250ce32e3315
--- /dev/null
+++ b/dev-python/cerberus/cerberus-1.3.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-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
+
+DESCRIPTION="A lightweight and extensible data-validation library for Python"
+HOMEPAGE="
+ https://docs.python-cerberus.org/
+ https://github.com/pyeve/cerberus/
+ https://pypi.org/project/Cerberus/
+"
+SRC_URI="
+ https://github.com/pyeve/cerberus/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_DESELECT=(
+ # Require currently unpackaged pytest-benchmark, more useful
+ # to developers than to end users.
+ cerberus/benchmarks/
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/django-tables2/Manifest b/dev-python/django-tables2/Manifest
index 3cb29dfe4ab6..a9e0cae3448b 100644
--- a/dev-python/django-tables2/Manifest
+++ b/dev-python/django-tables2/Manifest
@@ -1,2 +1,3 @@
DIST django-tables2-2.7.0.gh.tar.gz 431811 BLAKE2B 2a6a9d74fa50bab049b9b85fc4a2d39b5a54b0fbbcd51f86f2b196e51bd1a1ef36ccc032db13f7cde4f836419a2d92248571b4fb985a8aefb3be2bb740856a2b SHA512 9666dad152d995ef7772881ace4bb83fc41aca1675e0cc116791e4fbfb970de600bd8cc2310b5694558b11e479dea2fc84584a669f6a8127a4bb0a354d24e39a
DIST django-tables2-2.7.1.gh.tar.gz 432168 BLAKE2B b23940aaa6c0bade140d9342179ed776e413ac081ae25f4f0a73a9ac2613f7e8bef8e672fc9fcaedbff56268aca0616a19304d0ce79f93961be67e465ea548eb SHA512 74d74f987c8b8347e505c3672e08b37ec5b5a1865a7ff6f394ff4ab5a2f2410356207466994bbe03e20f5c4340f0b212e7b40f95038f47df36760f7256e126ca
+DIST django-tables2-2.7.4.gh.tar.gz 432112 BLAKE2B 9327506570115f8bfdce95a753327d3ce94d6b9b03c250ee141c368fb872c0778f6b194aae9518abcdf8c3e53ea522ee7690ab86460694a86624d1d2572b0f98 SHA512 19437869dabf5376eb243aa6529c3e70b4448248c021d3bf8e64865bcdac0d21c5fbc91e5fb0891ee449c04c735f84a68916e15ce3149f3a4d7c05b4866ba705
diff --git a/dev-python/django-tables2/django-tables2-2.7.4.ebuild b/dev-python/django-tables2/django-tables2-2.7.4.ebuild
new file mode 100644
index 000000000000..fc2c3042c59b
--- /dev/null
+++ b/dev-python/django-tables2/django-tables2-2.7.4.ebuild
@@ -0,0 +1,49 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Table/data-grid framework for Django"
+HOMEPAGE="
+ https://pypi.org/project/django-tables2/
+ https://github.com/jieter/django-tables2/
+"
+SRC_URI="
+ https://github.com/jieter/django-tables2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/django-filter[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/psycopg:*[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # these tests require tablib
+ rm tests/test_export.py tests/test_templatetags.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" manage.py test -v 2 tests || die
+}
diff --git a/dev-python/flatbuffers/Manifest b/dev-python/flatbuffers/Manifest
index 080fa756df8b..84992c3602ab 100644
--- a/dev-python/flatbuffers/Manifest
+++ b/dev-python/flatbuffers/Manifest
@@ -1 +1,2 @@
+DIST flatbuffers-24.12.23.gh.tar.gz 2326944 BLAKE2B d32d8f861cfb2eff23cdedda01d4e0bd2f203c4d4bf1d0ade1a06ce9caf9fcf3b43c58f2e5bf9014892c184f819ab8005b322d6e96b9f3c9b9c5624eef12642f SHA512 f97762ba41b9cfef648e93932fd789324c6bb6ebc5b7aeca8185c9ef602294b67d73aea7ae371035579a1419cbfbeba7c3e88b31b5a5848db98f5e8a03b982b1
DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-python/flatbuffers/flatbuffers-24.12.23.ebuild b/dev-python/flatbuffers/flatbuffers-24.12.23.ebuild
new file mode 100644
index 000000000000..985b60680e7e
--- /dev/null
+++ b/dev-python/flatbuffers/flatbuffers-24.12.23.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-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} )
+
+inherit distutils-r1
+
+DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
+HOMEPAGE="
+ https://github.com/google/flatbuffers/
+ https://pypi.org/project/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ cd "${WORKDIR}/${P}" || die
+ eapply "${FILESDIR}/${PN}-24.3.25-numpy-2.patch"
+ cd "${S}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cd "${WORKDIR}/${P}/tests" || die
+ # zeroes means without benchmarks
+ "${EPYTHON}" py_test.py 0 0 0 0 false || die
+ "${EPYTHON}" py_flexbuffers_test.py -v || die
+}
diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
index 670eba39788d..4c7dec33af1c 100644
--- a/dev-python/gst-python/Manifest
+++ b/dev-python/gst-python/Manifest
@@ -1 +1,2 @@
DIST gst-python-1.22.11.tar.xz 118072 BLAKE2B 7133bdc6462ed54669b18f0650ec9e9d5c90d406eadedccc2f125c01b05366c8cfd89ae17178a8197fd4c251d53fd848bdb498ff377076e402983a404f16c186 SHA512 749a3080ad56edfee66c6f24ab106b07cd2a7d6e5f704147a69e12fc0a1da9d9b8d8337c36ce62af459577df3f0804c60cbeb4a211454277ad0a46fd89edcfa5
+DIST gst-python-1.22.12.tar.xz 118924 BLAKE2B 0d31f86e2b2e673da545c94f7f4b5f934614d4cf906b96844fbfecb0cf8d6af3d85fbf197477d534f2d72248e048b945c4b974b5239e4ae68951428e016526e3 SHA512 27cd724a21d66a6c3827e3cbaeeb70f15af5253763c1410990232cb550a363a7c61ff076771fdad94f31026ad70b051d2b1ef180bbab92e2e456ae4ce467223f
diff --git a/dev-python/gst-python/gst-python-1.22.12.ebuild b/dev-python/gst-python/gst-python-1.22.12.ebuild
new file mode 100644
index 000000000000..9066a07cf2e4
--- /dev/null
+++ b/dev-python/gst-python/gst-python-1.22.12.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit meson python-r1 xdg-utils
+
+DESCRIPTION="A Python Interface to GStreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="1.0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=media-libs/gstreamer-${PV}:1.0[introspection]
+ >=media-libs/gst-plugins-base-${PV}:1.0[introspection]
+ >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+
+ # Avoid building & testing plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
+ # Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
+ # separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
+ sed -e '/subdir.*plugin/d' -i meson.build || die
+ sed -e '/test_plugin.py/d' -i testsuite/meson.build || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ configuring() {
+ meson_src_configure \
+ -Dpython="${EPYTHON}"
+ }
+ python_foreach_impl configuring
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ python_foreach_impl meson_src_test
+}
+
+src_install() {
+ installing() {
+ meson_src_install
+ python_optimize
+ }
+ python_foreach_impl installing
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index a8e536efbf2e..12fd52f73411 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -5,3 +5,4 @@ DIST hypothesis-6.122.4.gh.tar.gz 9495842 BLAKE2B 4a17e7096a1c86a13851af3d905839
DIST hypothesis-6.122.5.gh.tar.gz 9499110 BLAKE2B 57de8290600ceadc408804d4ec5df7bc96977757dfb9039d894e39bef6c0a53fd3453ac86320353079c4835218557e5331a45894e5f61a60191c562c334827dc SHA512 67df638efaca6fccafba2305042a785c32ea532ac52336f55e38fe085351052386408399e0097572a9be546891212286228a12b48839892883284a4cee01ff33
DIST hypothesis-6.122.6.gh.tar.gz 9499547 BLAKE2B 2d111698688050f3ce0d9cfdc1bc5b900b4d347b3733edac483e8e1b0b915b158903d055955893041c80064a0878d6a2a7aaafcf3b9b00c4c232567b9709aeae SHA512 3aa0d6a8ac033b6145b6ba831663074002bd67a793e8fe157e76d2768b2048d9864b82179667f7cb732444f09a5b178490b6eecb34d4c0460a164968b33c9f88
DIST hypothesis-6.122.7.gh.tar.gz 9503262 BLAKE2B d7b98f0df159c8e234d8d46d94f2803f9db21d9b36e029ae1e7ddd8403193a3bf0ddaf46087b7dd0cf003c3cf55cbecbac8431f140462b60d5eebe00d7b65a79 SHA512 c8625ba7252c750ee26f2db28f899e63b1bcfb7e5cecb8eb722fe75bb26cbed69e7e1e3616b27bae5336b68cd823ac658058e9fdb55a9df777c99b9f9c95354d
+DIST hypothesis-6.123.0.gh.tar.gz 9504064 BLAKE2B a71a119dfa15318bf8afd0fa586edc2cc67e7987d5544eca7a15495a73a4c3a9c637c3948003ac868aafb9cb6540426fd0628b8fc8f8d21d2e606ff536993924 SHA512 29459331a546ee03e6ee7307049c632523af6dddd475ce6d690a7f6fe11d6506ce4b37de8ea11cd8dc7b35acede901c0138018488973b35f3827e832a6ccc5f9
diff --git a/dev-python/hypothesis/hypothesis-6.123.0.ebuild b/dev-python/hypothesis/hypothesis-6.123.0.ebuild
new file mode 100644
index 000000000000..7d8a0e518f7a
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.123.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index a99be4e1b2e3..5d5c2b127178 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1 +1,2 @@
DIST pylint-3.3.2.gh.tar.gz 1454335 BLAKE2B dba68aead7d2babe885d4a94220e61ddc6c5759bd9703d2bbeb1c7d1c68b6bebce7cbe6d7b0cc18a7c8cfe32b7e0cc6be929e021e7a9223ae31839185c07558f SHA512 48f57bc74a47c8658cad9ede6bb8540077c72fc6b3e8d9d401ddd1d43daaf547637ad253af885ac503a79aa31c30de1b4b302c4d4001a18b68e064e505975980
+DIST pylint-3.3.3.gh.tar.gz 1454469 BLAKE2B e44ee31359421c560f89eee04215c222ce6b9f1fdce97750fe118cdb011f69c2a44a0a5a870787f4cd0c647650a78bc5a01dc327d8aaa8976f89e298f26596a1 SHA512 2267e7684b464255d03366bfd7988ac74222c08903a8b93bd5bc64181b12d1386c56ebb6dd79eb5b3f6c1a71bbc60282bf388fafc37a3e2c271286bc07ff2ac7
diff --git a/dev-python/pylint/pylint-3.3.3.ebuild b/dev-python/pylint/pylint-3.3.3.ebuild
new file mode 100644
index 000000000000..a7238ae71b30
--- /dev/null
+++ b/dev-python/pylint/pylint-3.3.3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-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 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_beta/b}
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/pylint-dev/pylint/
+"
+SRC_URI="
+ https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/astroid-3.4[${PYTHON_USEDEP}]
+ >=dev-python/astroid-3.3.8[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/gitpython-3[${PYTHON_USEDEP}]
+ ' 'python*' )
+ >=dev-python/pytest-8.3[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ 'tests/test_functional.py::test_functional[no_name_in_module]'
+ 'tests/test_functional.py::test_functional[shadowed_import]'
+ 'tests/test_functional.py::test_functional[use_yield_from]'
+ 'tests/test_functional.py::test_functional[wrong_import_order]'
+ )
+ local EPYTEST_IGNORE=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ )
+
+ if ! has_version "dev-python/gitpython[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/profile/test_profile_against_externals.py
+ tests/testutils/_primer/test_package_to_lint.py
+ tests/testutils/_primer/test_primer.py
+ )
+ fi
+
+ rm -rf pylint || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index 87564e6c52ba..ef6dd8ec5cc6 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1 +1,2 @@
DIST pymdown_extensions-10.12.tar.gz 840790 BLAKE2B cb0567072847b37a1717259dac2db06ca780d35cb6cde7b0b969f6b3cedf62c03db0f229f7d45feb69062bf5d62e149cb8ced7330a380e3e2ba30a5696138ce8 SHA512 4bf1decf0b44ea05b0df4a147f0aabdc9182e14f4dc5f731c74f851764f9a9bd38a3bd2a1a0e619ca6aa3c0898989f4cc97df500e9cd7a6067e2d75722b113dd
+DIST pymdown_extensions-10.13.tar.gz 843302 BLAKE2B 7d4196d32abaa16b6f21ae8a5c4a651d8cc59f0eaa94f9822d0d8344b1b032cc43933ed47ec8cec05f1cb8bdfdacbeb4efb33fdb0a4215688a4fef11b5804dcb SHA512 663c22e11d06411de597febb8eb97291182f86c343e791993bbd26be475c4812b497af896620765f6af7759048e6c502420de8e79ce761deb8ad058bcd9dc830
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.13.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.13.ebuild
new file mode 100644
index 000000000000..23a947575357
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.13.ebuild
@@ -0,0 +1,37 @@
+# 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 pypi
+
+DESCRIPTION="Extensions for Python Markdown"
+HOMEPAGE="
+ https://github.com/facelessuser/pymdown-extensions/
+ https://pypi.org/project/pymdown-extensions/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.6[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/quart/Manifest b/dev-python/quart/Manifest
index c53e5350e070..961192c158b5 100644
--- a/dev-python/quart/Manifest
+++ b/dev-python/quart/Manifest
@@ -1 +1,2 @@
DIST quart-0.19.9.gh.tar.gz 747986 BLAKE2B cd6c9d919e6174305490b59b76815d0b0fcd854c0527c517a463563ed1b3b5dc0fd7ac7e7baf555a56b277cf1a64c6e54da5d9ddb368e862736897dfb34a6cc0 SHA512 7a3020a9fb9c49cdf1ba91ec3ea6a6bb07da5a0571badefc880864921c4b7d1219250bb896cc614dd525920380d660204063431abd99bf0d99418dd3206c0eae
+DIST quart-0.20.0.gh.tar.gz 746472 BLAKE2B 7c558532e6bbd2b4f37fbde7517700cd5e777faebd6ee2c5249ae774250d222e3e858f22a51ed8012c4695485a880ac7d288c723c615d6d80f7c8593e7eeb441 SHA512 22d99aae1f30ebc50326ed0c589938386d7b6c11398925b1cf326d2efa2d79ca40ad21939acb191b8a804ed78276f213375e20f31b66c7bb63ff28e91047017c
diff --git a/dev-python/quart/quart-0.20.0.ebuild b/dev-python/quart/quart-0.20.0.ebuild
new file mode 100644
index 000000000000..09a9aa1e1e47
--- /dev/null
+++ b/dev-python/quart/quart-0.20.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python ASGI web microframework with the same API as Flask"
+HOMEPAGE="
+ https://github.com/pallets/quart/
+ https://pypi.org/project/Quart/
+"
+# no tests in sdist as of 0.20.0
+SRC_URI="
+ https://github.com/pallets/quart/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/aiofiles[${PYTHON_USEDEP}]
+ >=dev-python/blinker-1.6[${PYTHON_USEDEP}]
+ >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/hypercorn-0.11.2[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest
index a5fc9d657db5..c4151750666f 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1 +1,2 @@
DIST rq-2.0.0.tar.gz 639193 BLAKE2B ec44a45618f4ba0cafd30d13d15db8efc26c35f41100019e94d28ac21ca0c6157df34c55fd9bc2c2afdd4752e815a45150c95840339744c005c297153795e598 SHA512 46878626ad939fdc3f31bfd04fab9d11f266a390fe75ea22fde62e1622607e715673a8f3d2e3aba78e489b861d16068836aea4eca5a88cd295d6b6ca61707a41
+DIST rq-2.1.0.tar.gz 640535 BLAKE2B c269527d9863b7991be24cb6fac43cfbe8cea23fbbdbb8ff9699bce9653e014a0def7439ffbced1658bc54bb328119c2d3ddea9a83e0a3c2cbcd3d21500a1f28 SHA512 215c33e29ab18e8ebb693e4d9da2bf51750e1558ef20b13c4d301a803a5dda0e1c00edbfa019717043ea777e8c47e1772ab9334b12cc08e7fe9196121c6bd287
diff --git a/dev-python/rq/rq-2.1.0.ebuild b/dev-python/rq/rq-2.1.0.ebuild
new file mode 100644
index 000000000000..a774664a5bca
--- /dev/null
+++ b/dev-python/rq/rq-2.1.0.ebuild
@@ -0,0 +1,73 @@
+# 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} )
+
+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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unnecessary typechecking deps
+ sed -i -e '/types-/d' pyproject.toml || die
+}
+
+src_test() {
+ 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
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires <sentry-sdk-2
+ tests/test_sentry.py::TestSentry::test_failure_capture
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest
index 15d9059099ea..16dfeb1fada8 100644
--- a/dev-python/scipy/Manifest
+++ b/dev-python/scipy/Manifest
@@ -1,3 +1,4 @@
DIST scipy-1.14.1.tar.gz 58620554 BLAKE2B 5cb383648a5f3b8d0d321efcd66992212c59ce3fc3dbf812a2fa97c09cb18831b280af6c7689553644f83c531a266e9152e2a139a12aed08307e1ed64deea78e SHA512 20e3cf13590f76dfdc40ca8f90e6d5a68502e74415f37fa24fdb8169098e1d7f0aa631ae742c8c3e9573fa7d63da61986d51f35f090a3785873ae0761f7fcfa6
DIST scipy-1.15.0rc1.tar.gz 59145455 BLAKE2B 07375d2ecb2433b510d14f77e47bed30e7d4c111f1f07e94f096c862e741083e36aede216c8891c26df490a07180f931ea0f6430d4aa6ab4fb5f1787e1483a6e SHA512 a488d5019b7565af7f1dd2dc74e592bd63d30ec0898c1188b170cc1b241d3606bd9a91afb18becff3a39cdf6dc4c92b198b163d05e1c298c014184e98f9fe94b
+DIST scipy-1.15.0rc2.tar.gz 59412249 BLAKE2B 3acbb7e952a9b4ee88d8dcbdb31465ed2f20866ca016377ddffb7ff2469d91468eceecb481fd44bd715c4fc8dc9b6518e8c54c9c4e6c7b3ee77a2afd7b7ce667 SHA512 d39bb8277d1881dff2c0694552076bb30cf69a9813d70c1b4a8eb90a355ba1f274936654f3ac5768ef3c4fca76659682f4c89453cc26a832c21119523939bf49
DIST scipy-html-1.14.0.zip 65723829 BLAKE2B ba47dbf00a5d2a53a9addc5ea68ab18b42f211a018b89aa4b0b57ff0dee02e410a3effc59ddf8fbbc5aa33075d45d86880aed3a14068da5bd7b62ee526199967 SHA512 93be0bafcc64cea1ba130bbcc77c0741acc4f819c84a5030391a22657a1bc63abe8434a2723f66b7ad04c0809dc6d02e3a97ffb8d94bd3d4a4bb759ee796b475
diff --git a/dev-python/scipy/scipy-1.15.0_rc2.ebuild b/dev-python/scipy/scipy-1.15.0_rc2.ebuild
new file mode 100644
index 000000000000..6101f86805aa
--- /dev/null
+++ b/dev-python/scipy/scipy-1.15.0_rc2.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic fortran-2 distutils-r1
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="
+ https://scipy.org/
+ https://github.com/scipy/scipy/
+ https://pypi.org/project/scipy/
+"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ # Need submodules, so git for now.
+ EGIT_REPO_URI="https://github.com/scipy/scipy"
+ EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
+ EGIT_SUBMODULES=( '*' )
+else
+ inherit pypi
+
+ # Upstream is often behind with doc updates
+ DOC_PV=1.14.0
+
+ SRC_URI+="
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
+ )"
+
+ if [[ ${PV} != *rc* ]] ; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ fi
+fi
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+IUSE="doc +fortran test-rust"
+
+# umfpack is technically optional but it's preferred to have it available.
+DEPEND="
+ >=dev-python/numpy-1.23.5:=[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:=
+ sci-libs/umfpack
+ virtual/cblas
+ >=virtual/lapack-3.8
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-lang/swig
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.13.2[${PYTHON_USEDEP}]
+ >=dev-build/meson-1.1.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ fortran? (
+ >=dev-python/pythran-0.16.0[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/hypothesis-6.30[${PYTHON_USEDEP}]
+ )
+ test-rust? (
+ dev-python/pooch[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dblas=blas
+ -Dlapack=lapack
+ -Duse-pythran=$(usex fortran true false)
+ )
+
+ # https://bugs.gentoo.org/932721
+ has_version '>=dev-python/numpy-2.0.0' && filter-lto
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+
+ local EPYTEST_DESELECT=(
+ # Network
+ scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
+ scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
+ scipy/datasets/tests/test_data.py::TestDatasets::test_face
+ scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
+
+ # Precision issue with diff. blas?
+ scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
+
+ # Crashes with assertion, not a regression
+ # https://github.com/scipy/scipy/issues/19321
+ scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
+
+ # timeouts
+ scipy/sparse/linalg/tests/test_propack.py::test_examples
+ # hang or incredibly slow
+ scipy/optimize/tests/test_lsq_linear.py::TestBVLS::test_large_rank_deficient
+ scipy/optimize/tests/test_lsq_linear.py::TestTRF::test_large_rank_deficient
+
+ # TODO
+ scipy/optimize/tests/test_minimize_constrained.py::TestTrustRegionConstr::test_list_of_problems
+ )
+ local EPYTEST_IGNORE=()
+
+ if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
+ EPYTEST_IGNORE+=(
+ scipy/datasets/tests/test_data.py
+ )
+ fi
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # fd leaks in tests
+ # https://github.com/scipy/scipy/issues/19553
+ scipy/fft/_pocketfft/tests/test_real_transforms.py
+ # TODO
+ 'scipy/special/tests/test_data.py::test_boost[<Data for expi: expinti_data_long_ipp-expinti_data_long>]'
+ # missing dict.__ror__
+ # https://github.com/pypy/pypy/issues/4934
+ 'scipy/sparse/tests/test_dok.py::test_dunder_ror[dok_matrix]'
+ # mismatched exception message
+ scipy/optimize/tests/test_hessian_update_strategy.py::TestHessianUpdateStrategy::test_initialize_catch_illegal
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # avoid other stuff being multithreaded when using xdist
+ local -x PYTHON_CPU_COUNT=1
+ epytest scipy
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
+
+ distutils-r1_python_install_all
+}