summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-11 06:15:27 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-11 06:15:27 +0000
commit08dae4bceacfae2fb9e10fa66cba49da2346b22b (patch)
treee665e520b459507416387cbcfeb7fd8344a3f98d /dev-python
parentd84acec526f1d609ed05b667b8801378dba2cf3e (diff)
downloadbaldeagleos-repo-08dae4bceacfae2fb9e10fa66cba49da2346b22b.tar.gz
baldeagleos-repo-08dae4bceacfae2fb9e10fa66cba49da2346b22b.tar.xz
baldeagleos-repo-08dae4bceacfae2fb9e10fa66cba49da2346b22b.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-22.2.0.ebuild40
-rw-r--r--dev-python/Faker/Manifest1
-rw-r--r--dev-python/GitPython/GitPython-3.1.41.ebuild79
-rw-r--r--dev-python/GitPython/Manifest4
-rw-r--r--dev-python/apispec/Manifest1
-rw-r--r--dev-python/apispec/apispec-6.4.0.ebuild46
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.16.ebuild64
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.16.ebuild68
-rw-r--r--dev-python/cython/Manifest1
-rw-r--r--dev-python/cython/cython-3.0.8.ebuild84
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.92.7.ebuild90
-rw-r--r--dev-python/jinja/Manifest1
-rw-r--r--dev-python/jinja/jinja-3.1.3.ebuild59
-rw-r--r--dev-python/lark/Manifest1
-rw-r--r--dev-python/lark/lark-1.1.9.ebuild44
-rw-r--r--dev-python/linode-metadata/linode-metadata-0.1.0.ebuild3
-rw-r--r--dev-python/markdown/Manifest1
-rw-r--r--dev-python/markdown/markdown-3.5.2.ebuild39
-rw-r--r--dev-python/mrcfile/Manifest1
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.0.ebuild29
-rw-r--r--dev-python/oslo-concurrency/Manifest1
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-5.3.0.ebuild50
-rw-r--r--dev-python/oslo-config/Manifest1
-rw-r--r--dev-python/oslo-config/oslo-config-9.3.0.ebuild58
-rw-r--r--dev-python/oslo-serialization/Manifest1
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-5.3.0.ebuild47
-rw-r--r--dev-python/pycryptodome/Manifest1
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.20.0.ebuild60
-rw-r--r--dev-python/pycups/pycups-2.0.1-r1.ebuild2
-rw-r--r--dev-python/pydantic-core/Manifest19
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.15.0.ebuild150
-rw-r--r--dev-python/pyproject-fmt/Manifest1
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.6.0.ebuild42
-rw-r--r--dev-python/pyrate-limiter/Manifest1
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.2.0.ebuild71
-rw-r--r--dev-python/pytest-asyncio/Manifest1
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.4_alpha1.ebuild49
-rw-r--r--dev-python/pytest-plus/Manifest1
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.6.1.ebuild29
-rw-r--r--dev-python/pytoolconfig/Manifest1
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.3.0.ebuild35
-rw-r--r--dev-python/reportlab/Manifest1
-rw-r--r--dev-python/reportlab/reportlab-4.0.9.ebuild53
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.39.2.ebuild144
-rw-r--r--dev-python/sphinxcontrib-bibtex/Manifest1
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild52
-rw-r--r--dev-python/sumtypes/Manifest1
-rw-r--r--dev-python/sumtypes/metadata.xml10
-rw-r--r--dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild31
53 files changed, 1573 insertions, 1 deletions
diff --git a/dev-python/Faker/Faker-22.2.0.ebuild b/dev-python/Faker/Faker-22.2.0.ebuild
new file mode 100644
index 000000000000..b726995539a4
--- /dev/null
+++ b/dev-python/Faker/Faker-22.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index a7656712d67a..b3e4aac05284 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,3 +1,4 @@
DIST Faker-21.0.0.tar.gz 1701697 BLAKE2B 9f08603101f24b9e245dfa726f38b0e9ee00f208d8f4b06fbc31daa405c5b02779aaf36e2e2177cf8f50f5a63e27f0a63bec166fb3be07269d5a7acae6535ebf SHA512 13cd146ef4c59f1b7318c95be1b637c986d089301d14c46259e6bf3a56f14033f1c3e4a0c813b4b168154be01158b2eee194b204c6eb2930fe5946f357a7ebcb
DIST Faker-22.0.0.tar.gz 1702044 BLAKE2B 17bb5fe42f3d754358a1cf21a23a6917571bdeaff5967b94b3dcc62e08b274f9647ab19b9fa252ccf0f6f821da93ad474c2dddce3c07813048cd910b96d6c68a SHA512 b1539ca7b37d14dcbb06a4dbc198dfacaf4f0d7189f8e8a8986b42ac44780fa1b78c5b02d6f7a289c68a190a83e439f76a92587ee582105c4001246a39d046ce
DIST Faker-22.1.0.tar.gz 1702277 BLAKE2B cb9b3b7adb8a771d986ca4460ca4b4884887d1e15502d14aa4da0409e926fd7f2c50d2207ee0794e9e80648fda35ff220738d82023c61a76bb93f4c073d87e2d SHA512 f92c8e9b2b768362f15e0dff10a160e3969e521853485ff9a01c6b281de980e9284a618c3fb660b20c442d32e221c14683d541095cd2e6be37673a1c4303f458
+DIST Faker-22.2.0.tar.gz 1702497 BLAKE2B ed5d215399d168b79661a5db5a0b7c9a8321f5fdba30041eb6640cc9e6700d838aa7291060b022cc76a44ce2dd3c28eabbe30be35e4b0311edf4c09f4c523042 SHA512 c9a97a29885d73cbd9920938574e7615be43243a4d524391a4e51a1dcf8ca3188a9606094e715773fbd81740145813b1920ac35e99e49dc932d95045e14fa546
diff --git a/dev-python/GitPython/GitPython-3.1.41.ebuild b/dev-python/GitPython/GitPython-3.1.41.ebuild
new file mode 100644
index 000000000000..d19a1b0019ea
--- /dev/null
+++ b/dev-python/GitPython/GitPython-3.1.41.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+TEST_P=GitPython-${PV}
+GITDB_P=gitdb-4.0.11
+SMMAP_P=smmap-5.0.1
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="
+ https://github.com/gitpython-developers/GitPython/
+ https://pypi.org/project/GitPython/
+"
+SRC_URI+="
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${TEST_P}.gitbundle
+ https://dev.gentoo.org/~mgorny/dist/${GITDB_P}.gitbundle
+ https://dev.gentoo.org/~mgorny/dist/${SMMAP_P}.gitbundle
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
+ dev-python/sumtypes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ git config --global user.email "travis@ci.com" || die
+ git config --global user.name "Travis Runner" || die
+
+ git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
+ git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb || die
+ git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
+
+ cd "${T}"/test || die
+ git rev-parse HEAD > .git/refs/remotes/origin/master || die
+ TRAVIS=1 ./init-tests-after-clone.sh || die
+ cat test/fixtures/.gitconfig >> ~/.gitconfig || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # performance tests are unreliable by design
+ test/performance
+ # unimportant and problematic
+ test/test_installation.py
+ # Internet
+ test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
+ # TODO
+ test/test_submodule.py::TestSubmodule::test_base_rw
+ test/test_submodule.py::TestSubmodule::test_root_module
+ )
+
+ epytest -o addopts= test
+}
diff --git a/dev-python/GitPython/Manifest b/dev-python/GitPython/Manifest
index ed2a7ebff3e9..7d146e6e9a6a 100644
--- a/dev-python/GitPython/Manifest
+++ b/dev-python/GitPython/Manifest
@@ -1,4 +1,8 @@
DIST GitPython-3.1.40.gitbundle 9832215 BLAKE2B 2aa1dac889267bd0b81f9451bc347b842cc5ad542a490fcc6f951cc1ee40f807c7cb5a178772c8abf43893fd9815aa570d2e53a561a0c8bf431dc5fa6429cdfd SHA512 25ca1f1b620e72a1c58a7b609dc6e761afdb1502d35ad26411fde47d5d2099b6bf6160ce85288bf280e28b3c8f30471c9f791cfb66878bc1ef7d46f58f880e81
DIST GitPython-3.1.40.tar.gz 200655 BLAKE2B c95cd864bfc664eb704ac3702f5a6c78fc0f2288af945001622cb78c2e855fdf3af068736c569392a29b201dc3952d0574c7f7c39c0531269b6efb55f5506344 SHA512 e8ade266002aa6fcd4b12e3828e7ec45b4dd894c897f31946dc29461b7e81b380ea832a9ea270533e7491e006c92948c62bbc21ab960467cf6287d0bac5228cf
+DIST GitPython-3.1.41.gitbundle 10232969 BLAKE2B 8d831241a706c7e0729e81b177bbeb307ff40cc0cbc0a2693cf0f78478732368cee4b26d6621ae5948a3183258961cf841284e77ba6326de80ca8e2b9bb6ab72 SHA512 9ff45afabfd04ad1bc7bfc9a37b2c3ddf12e8d62d66f4efae07a60a19d6ab05e027e3fe8ad7a0019bfdf3e6d255c4f493987e9f3761f575976e34fabe16dc79d
+DIST GitPython-3.1.41.tar.gz 209029 BLAKE2B be7dfac9a6bc318c33b7cc8d1c6e801f6d0e0f46916a617cceba0f831684953c759ad7b8ed690cca92b07636418dea021dc38608194c7cb6c985ea401b669e47 SHA512 e6d113b4e45505481d46fce1b3b71e3dcfc0f3576ffb8bdd1b0ce3d3ec1625cfad4a8dce3d5126545d66ff72eb74421408f690a44d52e1513be59466721e4c45
DIST gitdb-4.0.10_p1.gitbundle 1612782 BLAKE2B 9a424df0afd174da722c4721a5a52db83dccc5a2d69dd186622e5e21c48a6fdb6f20d84ad959f2070d8ff4cfa1e9be8f99b97e2a6ce5aab1696737858429e018 SHA512 b52a978ffbda8fb048fa0920cc2cc597b077b468dd77ce1a8e784ca7c724760eee75b168ac98f1051b03d364ba88812e8cacd5a7f6fa658cf312e626d0b2ad0a
+DIST gitdb-4.0.11.gitbundle 1620355 BLAKE2B 8095193318d4262b8ebb04f35a0500eda8757057ed472dbaaece53e6afa6227e2b2c02a2be5daa5e4c0cc43dcbb5046555407d3d7c8dbed0bc5c415515032b8d SHA512 17e404b335a3c081f4058aeba5c57e5697a580f8ad7a280fde868968cf48f5a0852bfa45019eab730279582c0c536f8204e973d93af09da05908477329d73360
DIST smmap-5.0.0_p1.gitbundle 324544 BLAKE2B 69098c7644abaec7f32226cad7ff3008e49d94c9f7349d0b815223249c20bfd2b51a50474e51864821f30c98f5982e5c35ce9217145a1e5d11326492c41faecc SHA512 4f36ca2c94ddfeb949c880fb52c3b1905d144dd59b95f2f05c93ed7b694dcb128218a2800ca23b721fbeff9a1920e8c3326675098e2ef0361ff6e90c8c2850ba
+DIST smmap-5.0.1.gitbundle 362567 BLAKE2B 72c8b48ad3250a33b94218c145c02033dee84c1da5f1eea57983a58699262d51844be675330d95c7d64924b6aeaacd4b0a57e9a5acad3be184aaad62102202e7 SHA512 9ca8386bfec25d1562cdf1c2ee85f7edb15fd3f44ecd1abbef738979f12b82f0b0f39a06589203a39f89518d981d7129e35f64f2d855cd162cd964bdd87c8d18
diff --git a/dev-python/apispec/Manifest b/dev-python/apispec/Manifest
index 5b00292d7274..1210b1837ef3 100644
--- a/dev-python/apispec/Manifest
+++ b/dev-python/apispec/Manifest
@@ -1 +1,2 @@
DIST apispec-6.3.1.tar.gz 77634 BLAKE2B e98a4d14f12248b27af1b5b12b642e416af7cf4f36386406ad0784e7d8930a71391de2ed627d6093e907048bb3a145abf06fca1b5b3e0595346d45fd6be6775f SHA512 977d9f890728a336b8e604f5ab7feb850f0f65e9fb64aa10cb2697d27bbd89137c6b08719b6cc422efc11c80cea6f6646709c33d340b0a63345fe93f2aa92902
+DIST apispec-6.4.0.tar.gz 79114 BLAKE2B 998b153a3d80c45247148210a929a0713d930560a4219dc0da0791e02480ff2a99a74d0b8bc2c170534f7d9e4e05a5fa231fa1d0eaf9359191e7ea6f37e5caf3 SHA512 2b9ceb99945c2e40e00af9f1626d0bd45cdb853fea1b75c58ef312b42b10d521405138c3bc788a33bf38eb31fc9220ed8e9a23c6a3c8980fc5549688d999dcdf
diff --git a/dev-python/apispec/apispec-6.4.0.ebuild b/dev-python/apispec/apispec-6.4.0.ebuild
new file mode 100644
index 000000000000..8ddcfdf300e8
--- /dev/null
+++ b/dev-python/apispec/apispec-6.4.0.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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pluggable API specification generator"
+HOMEPAGE="
+ https://github.com/marshmallow-code/apispec/
+ https://pypi.org/project/apispec/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bottle[${PYTHON_USEDEP}]
+ >=dev-python/marshmallow-3.18.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires unpackaged prance
+ tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2
+ tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index ec6216f5541d..af591f26f66e 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,4 +1,5 @@
DIST boto3-1.34.11.gh.tar.gz 760539 BLAKE2B 8ce756d33b604aed9d42bcccf60be467bd519f4c7a890592d9652fe3cd2851425f7a16afc7a194ccbda43a9859d0b9b683562ce1672eda9383119bc9de0dc0c9 SHA512 82b1920f1a5ad0e23364815a6b0552efceb7f49e17e585370917f63c1b74ea746eddc4f3d8c055d1eac7ca1cdbe5ac2bd304ce66e2ee12edf75ea2e261e88c56
DIST boto3-1.34.14.gh.tar.gz 762792 BLAKE2B 87857a6ff7e19f8438fe6b57978cdb3c8d22f8a68008fad4fcfdd40358b919a1c45f810bc45637da5971d20ce221cd8343440663d072666349e32c4df2be97a2 SHA512 8b651c5946394e159d6dd719337e4a5a60f708fa22ef26026bd85a18b3f34efa06f71282b9e9ea8c8ad4995e4bd6d0c13e4dddac75a51922fc30154ac0b87ecb
DIST boto3-1.34.15.gh.tar.gz 763117 BLAKE2B 52172262ea046139e1e828ded5f47564523a4e32e290e994333b73fc003c61537b8db77480dc5f7a6a2b4d5c4428819d53e0b43337fb32b1e0ea27dd81c2819d SHA512 8f6f11553d4226c6fbf9e5642a99a9a3f17f55882b80a79b6e584f0848524da0af98bf5c0729820bb73102cbcb733433febe01a188b8fc29f0187b7e4dbfb2a6
+DIST boto3-1.34.16.gh.tar.gz 763874 BLAKE2B 9186b3f5e1dad7ef235bb1e1ff25b02d07bc9fcfb59803c99f489f67128f15305dce7bee998d20f9bf33d48bb24e76f864420dd834f44a70aabbbd85bc1f22fc SHA512 25b828f4bfcd51d5d1812970dd205429317f77e90d7ce0576370302b20a2f1bb972674b82bfa95b6398088ca059009d3980569ab1e132fc33e6af8d1dc33c37a
DIST boto3-1.34.7.gh.tar.gz 759909 BLAKE2B 059228d7bd57ac34274437f77b3510dff6dca7d1293ffd6f7672b0fcc0acefffeeda2c5c2b4e19ef49bbffd4746dc226edfba52d57f5f8629516c9e830dbdd90 SHA512 43395937977ad3c860ede35d2adbb9575312ddab4972b8d258e41a7d6e86f3e6a74037dadb0f0e0f4f3d5ed715a66390041ac9c980bc8a3cfb727a44e252113e
diff --git a/dev-python/boto3/boto3-1.34.16.ebuild b/dev-python/boto3/boto3-1.34.16.ebuild
new file mode 100644
index 000000000000..13391b8a8e76
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.16.ebuild
@@ -0,0 +1,64 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${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 f9e5552ca6a1..6c6a37c60233 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,4 +1,5 @@
DIST botocore-1.34.11.gh.tar.gz 12612317 BLAKE2B 8a8648dfb27fad0d0a52df37ce9d988ef3349b773d88bc752dd9d22866f3adb8dc6346128767df5523fb335a602d666be8a5758fdfbe27c221779a0c4ec23590 SHA512 4159f2794d98532dc5e94a91061165b1aa2f43c5a493604c6d3dec426b51d582359577fc62d0ac20044a8b94e196efacbbcfd436cc38390db9bbaf7b4eb3d16c
DIST botocore-1.34.14.gh.tar.gz 12617340 BLAKE2B c4aac6682ccb8951f4652477857d58221c4f0d8f1d154b7ecfa4e536f6bdb199e4be43ef63f0fce0843e95c01cfc0a479af8c7773a9717461afc04cd4bb27912 SHA512 44b7b0e96c815b033dc603892c3940869a37c76d0826812d5778b644ca785ff27f870f3ec54c7d87696bd57d2a38cc31c4b3e70f295fe9d588afc12e8f7a914e
DIST botocore-1.34.15.gh.tar.gz 12619235 BLAKE2B 00e264f689946985207fa9dfc65ea1a1e90a7d41008a87bfe32c3c49542d4d26fa1a41f2a263fd395a32ef7eb7ae03846c1681325a61e8409a75c05a5eeccc67 SHA512 c2a137d45f05c355f912dcedcc690ec61cb1e3ff53e8fd5ccc055c49fd4b7acdafa0e88099bdad6eb8112fdcd1ab26b259efe409df340f885f9b7ca7d305d572
+DIST botocore-1.34.16.gh.tar.gz 12620688 BLAKE2B 5b08650867649d6aafbd2219e3e5f9af8f2dbcbfbed2eb293c725d50242edd7584021c9f8cbed3232916bac46e7b323903e2f3767c3488d156a31e68dd678138 SHA512 b48b63b35d127732ccf6b37b029dc5d84c27e5104a9898b1a918db76afb4f2bddf428be97f6cda3d1107af30e4c3579f283add1ffbb51f075c5a445af42b83ca
DIST botocore-1.34.7.gh.tar.gz 12606475 BLAKE2B 387ee7dfab43c44c39c7b0566b6ddcb2b666024b5b7bee2c996194988781c169e1e9462b36d09861d1c3ca899d263392f3d79129e7a2f2fc4bbfed402f5c7dd6 SHA512 3f162d4d028dd81da552e0117671971aa891bf8fab513730f40083660fa83c1f82bf1b52875cf9f7f11089ecdd79f084f3c8e76227aa826c1aac7e5735032450
diff --git a/dev-python/botocore/botocore-1.34.16.ebuild b/dev-python/botocore/botocore-1.34.16.ebuild
new file mode 100644
index 000000000000..2fc3a4924fdb
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.16.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=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${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 EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 3ce740b2691a..c1bc7c887f5b 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -6,3 +6,4 @@ DIST cython-3.0.4.gh.tar.gz 2754689 BLAKE2B 5418b8c374565894deb07e7a3f2fe242e1ef
DIST cython-3.0.5.gh.tar.gz 2756583 BLAKE2B d9b5af97933030fc1ac49677a5f3fd8194ba6e685dccd257f4ef4af206565ae2fa6f72c1268d8d0604b6fd6f2d8147c542501e8e319588bfdc4a7f40622976ff SHA512 585d3fe810ace55278fcc6ea4508b3b5259320f92998cd688da787cd5f88ac5fc2467025f20da6d968969eb3296ae9c517136d24a4dbb475441271227968f6be
DIST cython-3.0.6.gh.tar.gz 2759853 BLAKE2B fdcbb870418eebfb2e55e28f7223699fee4fb06d52f9f41db55b30fbe6ba6ee3de42af9bbdd8930d418ec790dec195546486ea45c370e2df122d6fada08d38cf SHA512 f1d33775166d0b6541ea98bee5d4186fc6128aad788323224397c1f3ba0a058141ac84a8b3baa4885204dcbf0979141bc4b5316342003e96208952f040f31753
DIST cython-3.0.7.gh.tar.gz 2761333 BLAKE2B f19f920726ee9001ecacd3f9a104ecb44ea2a26f40897e1a8856bc7fdc47b4c9b9386d72f4dabeba02a05412dab0d5ddc5de8167e08489ca31587240d6fcd135 SHA512 6d93cfb76265ffe11d4ba6ae2d4e88ce040c64a12b4acc8b236b4b282a82d2f0cc09abdd6149d6b4d0b6c86f182e1185e14ddd4241ebdda899f07524e9833f8e
+DIST cython-3.0.8.gh.tar.gz 2764668 BLAKE2B 03202ea480fa398d2b0893cc96185467009c783cf4451fc5d1c09ec229398bc084276680ed2b64acf63253744f827427e03674be3e5985d5a2912d9f338c786a SHA512 1070fc278401990595d177b0e6396bc1eba2ea8234a7c5bb26399b6b7284de7791ee5fa60ef74d06d0f4120b9c877bfd7703a7d701838f1634737526c614b860
diff --git a/dev-python/cython/cython-3.0.8.ebuild b/dev-python/cython/cython-3.0.8.ebuild
new file mode 100644
index 000000000000..bee71da079ef
--- /dev/null
+++ b/dev-python/cython/cython-3.0.8.ebuild
@@ -0,0 +1,84 @@
+# 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_TESTED=( python3_{8,9,10,11,12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing toolchain-funcs
+
+MY_P=${P/_rc/rc}
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+SRC_URI="
+ https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
+ "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+ # https://github.com/cython/cython/issues/1911
+ local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
+ "${PYTHON}" runtests.py \
+ -vv \
+ -j "$(makeopts_jobs)" \
+ --work-dir "${BUILD_DIR}"/tests \
+ --no-examples \
+ --no-code-style \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 521aad195e32..73e3806248cf 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.92.0.gh.tar.gz 9407699 BLAKE2B 7943aa958e135a954d4534b8992557a4ffd51941529cad6a8bb10b4ccd2e5c136159deaf11f822d96ecf60df536cff8b92756d902cd93de26df74ae10f73e14f SHA512 1fad215bd7ab69896d300ed39fd99a8a7145e6e21799429627b0d587939bfbe01d02fb7e1154a8b31f0b164ba9323b55b6ea36a268be20f1ef282d6b6f0d457a
DIST hypothesis-6.92.2.gh.tar.gz 9408586 BLAKE2B f6d873d16a337ceb5d78bc80622a08fb6856b5fdbd0c0c228bca13d340375b882416bf6ad4cfd08bb9959807ce1ac482ef5b4202792713c76a30dfff78fd4d4b SHA512 51bfd0b5d520fe84b4e682772888320d61bc4c52c6b4dda609f758336cc151bcf00714635e19230cdd1695209b6adf05cee349a82003e443dc5f52a7f105feb5
DIST hypothesis-6.92.6.gh.tar.gz 9410707 BLAKE2B 337369c5044682b3404ba0492cdab838db53e2c081e668e41facb6c8b6aaf38cf55f20a64150f1249360b64f90f34b42002becca6d7a33245a0ac55dd0e34e27 SHA512 86822dea75326343946aaf036aa8b0aee7287bdfbe501cf5c532e9377957bb6ba7f63595b1aae383bb007099e3ca33bd1f3d2ed6d7d8722ceb86b9146502a07e
+DIST hypothesis-6.92.7.gh.tar.gz 9412316 BLAKE2B eae3a5d46dde5d69ab5fea429178eebeed06bec4ff25744324a3ed75e9433ac9652eb467a3a0a32fbbbe9924913f25ac87b375d1cf27c82fa5b024bdcbcdb791 SHA512 5fd04e49d76ec42dea4575666ed19ee249ef8cdcdca81d8c652b79fa879d51cfecd1851245c9b950627227d42c7520f7396816d2a8cc66991e1abc955a2c6cbd
diff --git a/dev-python/hypothesis/hypothesis-6.92.7.ebuild b/dev-python/hypothesis/hypothesis-6.92.7.ebuild
new file mode 100644
index 000000000000..1f7054962839
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.92.7.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing 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 ~ia64 ~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-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.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= -n "$(makeopts_jobs)" --dist=worksteal \
+ tests/cover tests/pytest tests/quality
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${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/jinja/Manifest b/dev-python/jinja/Manifest
index e6fcb661fffd..3832a1c34f91 100644
--- a/dev-python/jinja/Manifest
+++ b/dev-python/jinja/Manifest
@@ -1 +1,2 @@
DIST jinja-3.1.2.gh.tar.gz 272546 BLAKE2B dc4bc81900c07e7816ff63259073409650f1f679e00d76b9574aaba301b36a7037aaf77a87cc1c160ea2aa2272ceb67e2fd20fbd74bb9850880fb909babded8e SHA512 50feebc7eed4c8b5bb0c2951784c1c115e3ee1c0e0c91bbf1884551b1312ef8fce24804a2ca1dfd8c543406529afe4817567c39e7cfd15028b54049853623144
+DIST jinja-3.1.3.gh.tar.gz 274692 BLAKE2B 0c66600104db89ed17c0a0c58180e8a348f9d505504f4ae1bee01c8c09053994140f87a4d336255e292258f15adc3e535deef494e8fda980ef76547268ddc4fa SHA512 1f4384b3a1cd0f8e128608aa11d00c41f93b6be41459d9e5d8f50e6f879d2427aaea5d04681c85a1577651b9dc434c11c5e7c7caecef6f5fe26518a3d2fdc77e
diff --git a/dev-python/jinja/jinja-3.1.3.ebuild b/dev-python/jinja/jinja-3.1.3.ebuild
new file mode 100644
index 000000000000..689052e9f507
--- /dev/null
+++ b/dev-python/jinja/jinja-3.1.3.ebuild
@@ -0,0 +1,59 @@
+# 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_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="A full-featured template engine for Python"
+HOMEPAGE="
+ https://palletsprojects.com/p/jinja/
+ https://github.com/pallets/jinja/
+ https://pypi.org/project/Jinja2/
+"
+SRC_URI="
+ https://github.com/pallets/jinja/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-issues \
+ dev-python/pallets-sphinx-themes
+distutils_enable_tests pytest
+
+# XXX: handle Babel better?
+
+src_prepare() {
+ # avoid unnecessary dep on extra sphinxcontrib modules
+ sed -i '/sphinxcontrib.log_cabinet/ d' docs/conf.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/Babel; then
+ elog "For i18n support, please emerge dev-python/Babel."
+ fi
+}
diff --git a/dev-python/lark/Manifest b/dev-python/lark/Manifest
index 97f0f458e754..9731015499a0 100644
--- a/dev-python/lark/Manifest
+++ b/dev-python/lark/Manifest
@@ -1 +1,2 @@
DIST lark-1.1.8.tar.gz 255316 BLAKE2B 40f0590ee313e5da57e593fe1cd311dfe1222cea1be83c5d1686d9a74983c8abc4f4f913f456993c51df4ce79eced10412ff9bf3dfafbeaa30f11e1301c84f60 SHA512 e51ecb38d9e7c25cca2845c56cd3cce1b1b3940ec8f0e135373726ffb23bda46f750b03f0f0b8edc750794c2b2aab9c327ff9f381faaabd53f09e76760548957
+DIST lark-1.1.9.tar.gz 255451 BLAKE2B 0bdb34a75c17800cc6819413011de879a163317c7414b260e1a4a0ccc4b40d11636fad1ae84946e0408096525b6cfeb6f725c95caed8043d3dff3e318d15be1f SHA512 4d711451f129312a28cff84239a2928fdff96df1445f77ae7a9d882d13791a58e44663ef70fd064df954094878214611ee1313ce9315c8dcfb0833b003a3774f
diff --git a/dev-python/lark/lark-1.1.9.ebuild b/dev-python/lark/lark-1.1.9.ebuild
new file mode 100644
index 000000000000..f8c4c84e6079
--- /dev/null
+++ b/dev-python/lark/lark-1.1.9.ebuild
@@ -0,0 +1,44 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python"
+HOMEPAGE="
+ https://github.com/lark-parser/lark/
+ https://pypi.org/project/lark/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require dev-python/js2py which is a really bad quality package
+ tests/test_nearley/test_nearley.py
+ )
+
+ if has "${EPYTHON}" pypy3 python3.{8,9}; then
+ EPYTEST_IGNORE+=(
+ # test using Python 3.10+ syntax
+ tests/test_pattern_matching.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/linode-metadata/linode-metadata-0.1.0.ebuild b/dev-python/linode-metadata/linode-metadata-0.1.0.ebuild
index be5f5d753564..59ad01ae78fe 100644
--- a/dev-python/linode-metadata/linode-metadata-0.1.0.ebuild
+++ b/dev-python/linode-metadata/linode-metadata-0.1.0.ebuild
@@ -14,6 +14,9 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
+# Tests require network, a linode account, an API key and a ssh key.
+RESTRICT="test"
+
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
"
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index 6f51ba5425e2..17944e166b4e 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1 +1,2 @@
DIST Markdown-3.5.1.tar.gz 348575 BLAKE2B 4400158e11e17c3ae5714928ccc5a964d76459a6ff7b5721f246e58bff31828f6eef5ef0928a82c0e5bd7776a6fc55457634870e79443893bd2a529560ca900d SHA512 72771300bded3a12b0f1addfcdb124c8e12d3b42672c62b92b7565a03d8ba108fe9d156a59c1783295059a11e6e2d312ec4f60de2bc6c0ee7b853c0a56e2e97c
+DIST Markdown-3.5.2.tar.gz 349398 BLAKE2B 7bf9775883f4f24254d1939ffa49555682c11765a07790f6274ba120073ac512b8a319680edb80f9c4a20bf8c8b2e2deb58afd022a791cd6a03e1c95ba605e2b SHA512 a112620162cb0764848dbe766bd23df6b7220ec3db6eb60d5663757092300c5c6abb9af6a412280fc3f59e617263c3abf0ed4a969eebacd3e964228525165f24
diff --git a/dev-python/markdown/markdown-3.5.2.ebuild b/dev-python/markdown/markdown-3.5.2.ebuild
new file mode 100644
index 000000000000..2abb464e13b7
--- /dev/null
+++ b/dev-python/markdown/markdown-3.5.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="
+ https://python-markdown.github.io/
+ https://pypi.org/project/Markdown/
+ https://github.com/Python-Markdown/markdown/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc"
+
+BDEPEND="
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytidylib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && dodoc -r docs/
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mrcfile/Manifest b/dev-python/mrcfile/Manifest
index 7d76a9d92163..4486bbc70304 100644
--- a/dev-python/mrcfile/Manifest
+++ b/dev-python/mrcfile/Manifest
@@ -1 +1,2 @@
DIST mrcfile-1.4.3.gh.tar.gz 148147024 BLAKE2B aa604965e6e40a25f57ec61bb3a3fc2fc6a83827db11620678138bec893539502a8e00e6e279e3bb86805773201338f430cc4d7d4b60efaee2d36933f071132e SHA512 e4bdc9b03ea55ae6bcaf29d8f8154e941f7e8b780f924a3265156a25bfa7f7a6f88abb3ce4374208104a4a3eea8d18724a248aae9fea2018a24ae559680ac2b7
+DIST mrcfile-1.5.0.gh.tar.gz 148148453 BLAKE2B 45cb7483e0aa5d6a2ac4e077bd0e2a9a8a265c4fdb69fc467e1dd3bab79960478d69ed0ec5e4f97ff528a02255c1c0b3e839e808ff0380e7ea2926b569a5478f SHA512 90e85e74c413b74e9ea86996b9e1ed4ac8f8cc0e7537f1916482d5e89d1fa99814c23ad2e51d912485a02644eeb65925067190bb3a7b222310aca4946b037ecc
diff --git a/dev-python/mrcfile/mrcfile-1.5.0.ebuild b/dev-python/mrcfile/mrcfile-1.5.0.ebuild
new file mode 100644
index 000000000000..f476d539ed73
--- /dev/null
+++ b/dev-python/mrcfile/mrcfile-1.5.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="MRC2014 file format I/O library"
+HOMEPAGE="
+ https://pypi.org/project/mrcfile/
+ https://github.com/ccpem/mrcfile/
+"
+SRC_URI="
+ https://github.com/ccpem/mrcfile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/oslo-concurrency/Manifest b/dev-python/oslo-concurrency/Manifest
index 94df29bc43f0..3f42c96cf8e9 100644
--- a/dev-python/oslo-concurrency/Manifest
+++ b/dev-python/oslo-concurrency/Manifest
@@ -1 +1,2 @@
DIST oslo.concurrency-5.2.0.tar.gz 60052 BLAKE2B 9f45af8beaa5fc145963e3e12818325dff2a00178c3154a4cf7ce2950ca90d9771be590593cc195c2909930416501da1042768da9ba653c0126437bb518a338e SHA512 9f645aa611882e1b7218a7fbf65b54fef523d9cf067f894e9441c0a8de3ab80495ec8a167604412385edf12fc7a53b73ac0ef63e977889db7021dd5b93b0d72f
+DIST oslo.concurrency-5.3.0.tar.gz 60677 BLAKE2B 72af8a54bbea85e7564c5c04463e106e16ab1608f7ae8662b1e5db3cc07d07b0bd2531dedd9227d6823700c0e93e3c160afe7ddf27f6023715e62b787246fb64 SHA512 6f3adc558a7879ae05bfbfa30dfa4c687e5f1cd6385a6881b2e1647b116aab5816d1333b42bac0c8554685ea2ac3ee293d5b9dc836c214bb708e2d53a6971639
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-5.3.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-5.3.0.ebuild
new file mode 100644
index 000000000000..bc586d38f7c3
--- /dev/null
+++ b/dev-python/oslo-concurrency/oslo-concurrency-5.3.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Concurrency library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.concurrency/
+ https://github.com/openstack/oslo.concurrency/
+ https://pypi.org/project/oslo.concurrency/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # fails, then hangs
+ rm oslo_concurrency/tests/unit/test_lockutils_eventlet.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/oslo-config/Manifest b/dev-python/oslo-config/Manifest
index b501381d7c71..3c42c9d062bc 100644
--- a/dev-python/oslo-config/Manifest
+++ b/dev-python/oslo-config/Manifest
@@ -1 +1,2 @@
DIST oslo.config-9.2.0.tar.gz 161235 BLAKE2B 186b79bab199db9369dd53952a9c6f54fafe17f950d7b66ed753f173a24726a6dbd06b794c73387f5ea6e77aa54a4d5bd0ef4752a5c564dfeea4e729fdf151e7 SHA512 69d8461f4ed5d4988fe527e4022c528244e9ecf76913a7af572e8073c0218987a69e6094edc56ff14eaf1b05fc5ffe7d81bb26ff17f87e4bd29a78d7959a3935
+DIST oslo.config-9.3.0.tar.gz 161132 BLAKE2B 4971a9974f68db25080a70160636bf9c81effb8a817598d4c09aa2337fe69e9bdac4d2b19948d17f225bfcb20bbc65e1ddeb6a24e51792a8246033b5290e3fe1 SHA512 5472c44839724b11a1b4b31113c36716ce2c3dbb5e6500cb743cbfb7c73dc6ef878b4219b17d3178d7d8c2b7a46377a2d083cb21768dc82878078d3faed74514
diff --git a/dev-python/oslo-config/oslo-config-9.3.0.ebuild b/dev-python/oslo-config/oslo-config-9.3.0.ebuild
new file mode 100644
index 000000000000..06420a4478ee
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-9.3.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.config/
+ https://github.com/openstack/oslo.config/
+ https://pypi.org/project/oslo.config/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # broken by some dep upgrade
+ sed -i -e '/DeprecationWarningTestsNoOsloLog/,$d' \
+ oslo_config/tests/test_cfg.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x COLUMNS=80
+ eunittest -b
+}
diff --git a/dev-python/oslo-serialization/Manifest b/dev-python/oslo-serialization/Manifest
index 68f719b0627a..c1d28fea52a9 100644
--- a/dev-python/oslo-serialization/Manifest
+++ b/dev-python/oslo-serialization/Manifest
@@ -1 +1,2 @@
DIST oslo.serialization-5.2.0.tar.gz 35123 BLAKE2B 02dc1538562cdd0b5f601e9899561d44c6a651c514d3b4f00dbf05256e7109f485e1edabf1d69e578b903f177046128ddec944c85f2a2d238be9bf937bbe66d6 SHA512 6903b3a57ea3da75be5e22d0d9b5f14c8068be181be1845a5fed106d61e41c1f2288f9a667ec44b068670002b06f7f3f2d22821d34133fe60665f7146d133d22
+DIST oslo.serialization-5.3.0.tar.gz 35320 BLAKE2B 4c2aa63faff4b0d8409bfaf900c1ab826e474e87491d549e4ec13b209a354a0c64950579a2d1ff70974ba303aa01c2c6e9c6de0ed238d048c4dc137646646c2b SHA512 490a74993725f0a2c244ba2437c6afd414b870c469bcd29c5db260b08d449188156e453ca515cca0d104f494e8e9b5755d95dffdf800eba39396f995c4d78b85
diff --git a/dev-python/oslo-serialization/oslo-serialization-5.3.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.3.0.ebuild
new file mode 100644
index 000000000000..dd3a287f276b
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-5.3.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Serialization library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.serialization/
+ https://github.com/openstack/oslo.serialization/
+ https://pypi.org/project/oslo.serialization/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme
+
+python_prepare_all() {
+ # remove spurious rdep on pbr
+ sed -i -e '/pbr/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest
index 9447883fe3c6..adb8f8df01c8 100644
--- a/dev-python/pycryptodome/Manifest
+++ b/dev-python/pycryptodome/Manifest
@@ -1 +1,2 @@
DIST pycryptodome-3.19.1.gh.tar.gz 17158420 BLAKE2B 2180bb37e2295f0499c6d00237207513ad6c186ff8fd8fac466cc43efa9b068cf8a272b5ae30da08d37db88d354d41c0b426643743251ea8460abb6ff627e3be SHA512 103910b385578732e356145247d3c1a4a3b0fe8acf22ce91f1c1155500cce2342e5caa0dff0a30825b11d7a614853c2dcb8657628f4d65682f6e543adb4db240
+DIST pycryptodome-3.20.0.gh.tar.gz 17173888 BLAKE2B 7706a7f512579b4edf080b5074a9f226b2f0ef18a8f1faf74e890cfccff85d0599b4883cd5011a5cc0296b5a10cccce94cb2b948de29d785f6add04e54215a5a SHA512 0d65ccd93f9f78548c04aa3af01cb65b6a39e81bb3dfa4bb08acc5a5a731b17f9c5b07a1d1780739b3f358402a3596b04e446fc7b39345a4c6f03fd5a2de7ff9
diff --git a/dev-python/pycryptodome/pycryptodome-3.20.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.20.0.ebuild
new file mode 100644
index 000000000000..34fb2d302a2e
--- /dev/null
+++ b/dev-python/pycryptodome/pycryptodome-3.20.0.ebuild
@@ -0,0 +1,60 @@
+# 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_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="A self-contained cryptographic library for Python"
+HOMEPAGE="
+ https://www.pycryptodome.org/
+ https://github.com/Legrandin/pycryptodome/
+ https://pypi.org/project/pycryptodome/
+"
+SRC_URI="
+ https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2 Unlicense"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ dev-libs/gmp:=
+ >=dev-libs/libtomcrypt-1.18.2-r1:=
+"
+BDEPEND="
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/pycryptodome-3.10.1-system-libtomcrypt.patch"
+)
+
+python_prepare_all() {
+ # make sure we're unbundling it correctly
+ rm -r src/libtom || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH}
+ "${EPYTHON}" - <<-EOF || die
+ import sys
+ from Crypto import SelfTest
+ SelfTest.run(verbosity=2, stream=sys.stdout)
+ EOF
+
+ # TODO: run cmake tests from src/test?
+}
diff --git a/dev-python/pycups/pycups-2.0.1-r1.ebuild b/dev-python/pycups/pycups-2.0.1-r1.ebuild
index 9380de6f97e2..58b53f5f3e58 100644
--- a/dev-python/pycups/pycups-2.0.1-r1.ebuild
+++ b/dev-python/pycups/pycups-2.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index cefd57c6ad9e..09d242f56d86 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -1,5 +1,6 @@
DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
+DIST ahash-0.8.7.crate 42894 BLAKE2B 56f4b2f577eb2752e675fa2b3191c65e0bb88575f92e8d906714296fca1daace46e93256672fce08cc5b4ac11d40a690a06b32a99fb50fd0df4f042773c33b6c SHA512 2c9eaa22f7bda47a781994c769d4a2ef15ba0f511fdd4ec4680c13d4c1809f1ce01adecc3b3776793158062d28ad9e5f0b1d1c0a9429e43dd07cd99540eae7a6
DIST aho-corasick-1.0.2.crate 167694 BLAKE2B fa5323cbe6cb73594dfa4c327c64676bc1e006dadc0b9def325974c83b9a769beba02d59a4657ec7a2d0cc511a7b7cc6f72cf57b8f9e639206d1c2bf13107a52 SHA512 5c75451f96fbbd670e6af0e1f54df2bdb57259dfe6898495ac46a5b2fc04f316a4698fd5cfd4ec31a94c298661937a8de08ce97cab3890fb3c015e4a2a67bb7b
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST base64-0.21.4.crate 77029 BLAKE2B 4380440305c8a293218bb1fdba5c257b2a088af2f74f2936937cd0f0b3462248b572bdbfe5e2a82af1f2cf04267267317b1c2b74972fa9976795e9c174d2352f SHA512 33fba19be1e7c3e74b57ae0487fda904258f31457c005467caf2e44eb55e271e0d2e3f2d4b80b667b05fc625878e0b136a07984dc88335a2099278672b3c4b0f
@@ -10,15 +11,18 @@ DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b
DIST enum_dispatch-0.3.12.crate 22400 BLAKE2B c8a3da572bd8fcff5afe8aba87d0b40d5c759ed2c69d8391d61b43bec8de2eff02cfce0de60abbbe821dc103cda41bc4abdeb9de5a0426fcafd2382bc2403eb4 SHA512 576d682255313ea284934a1c9bf80532a1b39a85eb6201b821eefe5fe37576544b28247ed1d27e019e1e664b2e81207fd161dc9d70e2d0e10bfea1071f508dfb
DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
DIST form_urlencoded-1.2.0.crate 8923 BLAKE2B 2408d9bbca582be13febf041262f0e63a3d661dd8fd2a42e9203feb6ff02a94e3eade6b83179fab34448b9913c7924fdf53e0670ae97e550318229432978e33d SHA512 899ddd113a79bdeac12e499f581c5499d1a4b698c75cfc2d6aada5880cd802fc8537ff9ce68eca28374318d66fd70100962105c1e8962868a5732bb86326c104
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
DIST hashbrown-0.14.0.crate 116103 BLAKE2B 24bab03e8a8cb7623b92282c83bf8acaf0752c696ee1c010249e3ebb3646e7549d8d6d798b02c9d5b621afbebba7320f8a859d9a1af1523dbd46377b857dbb5f SHA512 f0fbdf81517f59a0b67f792a4097f1131d346b2b4cbda93590749cef7f9f1c9029e0e182f58c23b74d3028f7502c30b9593c1eb4da37f95388d74b14582b8959
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
DIST idna-0.4.0.crate 271429 BLAKE2B 8b81bc4535d2e8a1100ddeaf6f43c043fd601ee3b37eb109a9dff01630a81603223407bd5c2f1a1b108d741c811781b205c10148a0122b8125c237a5d5ba8a58 SHA512 b4133c5f73bd9c4ccc05245a9edcc5c980714129ce4f6eb7851eea7e509617ff972fadefe6ac78db6b4106667d9d6070de52c4d42414c95921e3d9fe1b7a76cb
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
DIST indexmap-2.0.0.crate 64038 BLAKE2B e7a1b2bbd790f1446f77262b5b0799c2a816a01295a9a4db66f10e6c0502f8970982fb808581472e840cc34dc70e7938b89408799ed0d91aa50d3dd0b4807995 SHA512 59bc19653436389e1408e21b0933e5ca6f9fe228f0f5fbe9a7e4fb461b9712ba82983cbf22c0581eaf7913298b9ef5842702946152b493c1dc651381d6bce1a3
DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
DIST itoa-1.0.8.crate 10465 BLAKE2B e518264938d044e24a4d72cab788de717c36cc7396fdbf2805fe3a3e0cdfc361c4f6fedee7bcebea6fbacff254e073da26b2400a073fa75f75523b8ed9de9938 SHA512 6171bfcd70634a2587740c145a15790e12807d2c756a25e74950daf9dd36acc662f12836c5b87e20483b4d020bc0d98a352b8e9787b0b8544bf1ee1b6a0c2c8e
DIST jiter-0.0.4.crate 78467 BLAKE2B 68179a86a8194d405cbb8ef719bce6e551c256701fed7a6f75ad219ef3fe865ee00bb8a6a09a5317b5bc274c4746ecad67568d3e6c88fad18ee68bd96a30d93d SHA512 50ac09bf73529b42fbd8dc0472dfe89da81e80cda75b965e3a633dd404087baaeb54157c5b7d56e470aa78c6506ea181e1ec92589361458b48541f26e3be5696
+DIST jiter-0.0.5.crate 79563 BLAKE2B 8fe39a300596b214d3cdbd77ae254bfff78830ae0f5cd413c1dd5436dd2ea939fc149110be8649871250547175bb443823ae5e79e8c7b0ef83b646312acf58fb SHA512 ab876c368d513f5f410a1456dafa8c27fc323473c94761c47ce1d68fcc438c25d0e73284911cf56feea6cf7c4e8972e42481673bda17105993d48f768e2df2bb
DIST lexical-core-0.8.5.crate 26680 BLAKE2B 71f3cc95f47fa636f68d6d25612a47d4a178e2ffe484aa66760e78fb71e55633c055892647decaac08120d1b8b3b79d80d1a23d46a74d13b5e52d6b912839ea0 SHA512 f98d2b5afd331c6f4f599d24599ed8791ee3628a2fa2b8172b698cfe9a180e1ccd2da4dca4dd33fc76ef3417114c580399106d01a8d6153b45b38bceacee1018
DIST lexical-parse-float-0.8.5.crate 180161 BLAKE2B 881e4db32a21c26a1919fd1373aef1ea16a6fca3d799edb18ff0c9e4a79d481f8ade7a93f9ded2a660ad10cf815eb757f6eec7887945f8203c467e700af7a9a3 SHA512 ef012cbf18f2e306724dd700ac259aaa73b44f6c4531377deb9979c80d31ae66fc1a8b2671bd677e0ebfad8f77e9a5cf25707c67a1c5b1f554953c036cb39d46
DIST lexical-parse-integer-0.8.6.crate 33647 BLAKE2B a0ebd7a51c271a163796b0f55bb85e16830bf06e26e3f10d9b13dc5b65af590c77f47fb64360a8738c5ad4be6e6932d58e83e1594a80c067859645c35b907c53 SHA512 e9a814d2928bf5bb2d9dce53e26c65356191c9e21c3aa0e674d58ed879aa52293272f3897f64372d996a3f8c471b0f59348ad48f15a21c2f35ed15f522ac2daa
@@ -36,6 +40,7 @@ DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
DIST percent-encoding-2.3.0.crate 10196 BLAKE2B 155bb1aaf0db4d22179bbe24b2d312f3d507876436e8ce76dfb59775282c1136a6c2bf5672f4b6bc274e4535acc9e50497c3e20b77aa2490512755c9cc9e6c41 SHA512 54ba129b0f3b43627707be994a281cdb69d5a7bdbc91dfeaa0226cf2834adeff7d2597dca5d11dd48b5731e831acf1284497b251abfebc0618761f98fe3c01cd
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
DIST proc-macro2-1.0.64.crate 44848 BLAKE2B 4422122d9299eff3bfbb4507c4a117fef7c0906cab5a680933d482b7f9b49480bcb9c8172b412e70bf87dd0737b8532e90c310bf083f144292cc72190059ba3b SHA512 884fd14ff23c19420692e35a38f88bb6a766a09da105759cd958c315b9360a2c49cfe61ceaa3122307d44040195ec9dffb12b6d0ce224fbac5d3701621a12b04
DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
DIST pydantic_core-2.10.1.tar.gz 347316 BLAKE2B 782daaae0781da0abfa48056a9eebc8610737b719335f013f9573e3fa886f89af99390c5e9fa2ceeb46169392b480446a59acf0f182ab083b8f5dc8d62b090ee SHA512 c07d838268bbaa53e8a49afe18733532ac3f43005a5d4e4dee3a1cd23fa94af91d6471f9f2c146cc317cb8d14385b4aa7af404fdbbae7b4538f0cefffac7cf58
@@ -43,16 +48,22 @@ DIST pydantic_core-2.14.3.tar.gz 359117 BLAKE2B 59a91a28009e8bbd5f58c37ed6b498c4
DIST pydantic_core-2.14.4.tar.gz 359851 BLAKE2B 9846b16b56cc7d9a567919a26edeaa71e4359e278a828b9bf2ec7ec749c7ab36b2f5c309fa53a47a24d85642de29e0b085d6b7731696460b745b860b78090502 SHA512 268be4220ab5eb4ada070c9eb7ffd56dfa29859896708bc3f0b494061a9848520a88e2d6b1e7ea9005b2dd84da1db98c2aca92f62e38317b945b8b9c211e418d
DIST pydantic_core-2.14.5.tar.gz 360131 BLAKE2B 00385297c5a16b7a11c0d219b58f954fb98d0915826bcd0b2ad854307091ffe64735a44d93cd75512ffee1ea831f612435bfae91c895d3bc2f65b1032386c5f5 SHA512 e6c3081dfa58d9b59f8c33dfe80712d732ac3048a2f8240f9a0f5448d9bfc83e222c1e08b8bb49779b84f685c3bec3060cc935c113a818b1ab8aa955f3df2238
DIST pydantic_core-2.14.6.tar.gz 360305 BLAKE2B e9e9469c6e17833660b3b6af5bf2e575fb10a8abb47c80a9a4490ea2fc69d0af4006d044ca45f5227ea0d71d4ecab00ffab9470dcbf2de9f130068568e0f93f4 SHA512 c5215ff9915d420e367dcefcec656fdc17c4782b672f33d4532c5d43b8119626298258b7540fb471b46ad7906c5930ca4887f11ecc7104c89fc746e3ed0b3b43
+DIST pydantic_core-2.15.0.tar.gz 364369 BLAKE2B df2044e96693db897328e6f73834ed439f0b3fab27e60c8f2f4300668cecfa3b7063c5fa820aa45e59b2e32d557843f2b72b5ff556d4667febfbcad0a7a7e2d2 SHA512 68f05f08cb7a089a8c8279f33c1339537828508af7dff89b623080301e8be6d7c12ce3a1ad87b79388e224e0338af841dab99b77ecc239d519e46682f0e49642
DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
+DIST pyo3-0.20.1.crate 434263 BLAKE2B 8cd52f6dcdbfc4968dfc82bbeba54a6c7b8b5ff2410500f9862060c3836b2ae7fed3973ac4cc5fc9aaed382e1cd266c38ab0524230609271c79df23dc2b8c684 SHA512 f49a8570b4ed535ef6ac209b080e0612e1185babc2436aa488e29aecb7abcecc12ccf2214225ac17ef38c6c38d343dc8c2a186890e795b81c59ccf2a2ec8509e
DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
+DIST pyo3-build-config-0.20.1.crate 29999 BLAKE2B bc352cc921d8eeda6fb9eaf569e40992daae7a250b2f2c083bf2d92a2990f7b3d04855f207af691c886adeeb97d5a6392eb4e4d0b6b8a66b64b22e219a687c4b SHA512 7e94e506bbcfe1c52fdf5ce2af16a38c62ca20f95571b930aa49ad3ff8da9356ca9dab1ad2952089920256d9ba24f5de819c3c88591bb62023dd2f17b7edf42f
DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
+DIST pyo3-ffi-0.20.1.crate 64599 BLAKE2B b1a3487aa523a98407236bb8b15710123ebb36a5fd79f3b28e57aff7dfd1202a3124828a124e8bedb02b854e6974f613bad4838e8c1acf042b60ecf1dc2b4d2d SHA512 68274281005f81244231b74b45be8b2bc654daf4b6b9056a5449f60c0fe3ac7aba4cc114475e2d29f492cb80eb67dd4e2135ad8cc0cd5dea04053a0a58a486ea
DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
+DIST pyo3-macros-0.20.1.crate 7928 BLAKE2B e507629fecf15bb281cfb27246adcb748765e855580b98e02a8f41575bdc54c6d6dab7a4d4365aa18cbce64f246a0c22e6842b8e62d553b0f759e19c8c3ad836 SHA512 b1825f0d93a163f89e89a7f08eda4ba287a3e5944fb9309f92173859463dcebf466a20d707aae0deec30eb7daa711536ce8ff09a7c2bccc95178aaf0f021bc9e
DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST pyo3-macros-backend-0.20.1.crate 49714 BLAKE2B 10c679e998aef25c3132bbd38c33acb75f45ac4b4ae13e8af67b43492526d0c3b74499d48d017131de7d0c898639180f35295c8633444a21fc488012f977f19a SHA512 f64a3d23f0f142b09a8d6d819c92c524c5d2417e9a40c332c6eb25e438e170d6496960aebe0672ea7f80cab1d3df84fc174fb7fa548c3b57b78bedc69897e660
DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35
DIST quote-1.0.29.crate 28345 BLAKE2B 3aeb637a4139730348775caab4d48173650d8bdce08247263d741ccc657dfff7f2facff05725bcaa73486818d394c392c64ecbc61bae3f5b612104aec16ff289 SHA512 d686a3943dca059a8e79689c77e6e8f6dbfa9b16a1a7ecdd27099339b77a55334252eaa8b4340e79c35ebb1f6e4deeb3f6356dfd02484f9c724e66a74387e30b
DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
@@ -67,11 +78,15 @@ DIST ryu-1.0.14.crate 46861 BLAKE2B 208fa87e54e3c6831193ddefcdfa7e9731a3b72de6ea
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
DIST serde-1.0.188.crate 76230 BLAKE2B 81e92adf17e3f2ce73c82e3069b8fd656211cfeb6755abd338b74d52f748f5bba6690abf5c83ea2a126fbd6187bc587b539f0ebcf621e928085876f28fbb9513 SHA512 7d42ce834bcd1034f8ccbcd6646cc93f8e189e344f29f4d7b0ab148ba11ce7848d0ab986dce7a0245fcd6893243f5768f7bc0ca9c24c75c53585ecc899d312d2
DIST serde-1.0.190.crate 76455 BLAKE2B d0f6a52615136d810760c6da3078387abc67ff5119e25953004d470ec6f5c569abf1c324b777c004714b4b15bd49a9972ec592372c807b26f3b4f124d534c833 SHA512 7f1cbe819fbae803865beb20b5d8b9fa52d503e04083be7181c1d04b702aaecf553796db960bfea87dc17ef864246e78a919219588064fb083e77dd2c6c16ce1
+DIST serde-1.0.193.crate 76863 BLAKE2B 163097e85b5542451896d7381607aa297e3b0342a2641887a01689b13122c6c1ca566fcb7f32f51bb0ecc861aed014f1467edfe21338223d5361555f870425a3 SHA512 82259ca302f42116ecffca3c88bc1212785ce5430f9d29390a9041d4e5943c13b13de119fde644a583960102c4b6e850a16f962d36dc76ac69fc2297ed65a506
DIST serde_derive-1.0.188.crate 55563 BLAKE2B 3b24044915a704d9d8a2cae6e6547ecffea7ee3fd4260ddb2bf7fa38b23fd7fc597b61ac28bf65b9f0d45e18ffd6bc7596f5a3d602cc79835697fb3f5440242f SHA512 fa9132a319f7829e6afad65289031be99255466d76270875d9d81f82f63e53592eaef5452d0df38da92e9d0b6f2b37e91026635fff4bf597b0ae662b71b5eff0
DIST serde_derive-1.0.190.crate 55676 BLAKE2B a6558987927298a6551a52d7a8e265acf1a3a0576716a881329803637b6f7ee7b3329e161bf5b37e410264c03913c2c16166df7dd25110b1295d61806600f4f2 SHA512 5b37b659c45ab95b0333d787cc5e8374076121d548837556774cbe768073b02aef4a6889e32b738ce5d85613264ba78570c0af48d049102d4d687ad791dd09ea
+DIST serde_derive-1.0.193.crate 55692 BLAKE2B eeb2a2fbcd0daf5fee1bd6a4f584fed330db58cbd786073311d6a94308c63dfc6b7c2dfbc4b8980064ed66509f0127525b79d99aa96ca0134226fe21715999bb SHA512 05efb144aeee293a0e7dc7540106eb8c4920b2d8dfc25771d73afa8ffcba330104643430a6e396ea2adabbed4ccb23591251479b75449b9c8322799f91d38c41
DIST serde_json-1.0.107.crate 146458 BLAKE2B 753be6076826ee0ba41a067e81c031e6fd69b539086a2d649e6595136fd05d61b717c3d4cb6774af0a0c02102f7f4588e682bd21732450afa93877d093596880 SHA512 ecd4ef86538df402f2a397cb86c5b4b277a9a43d742e2af3d51ab5ac0ba31c677bfc72db06c10f8abbc970ee41d5f77d758f1f70ea18495d96bf78cb7d66c2bc
DIST serde_json-1.0.108.crate 146476 BLAKE2B 9c0ceae5566a4e0ce7a6264939862f9dd920bb47d18acebb179798b036c376d97a4e9b0717092903ab90cfbf6fb73d37518e3cc25f3217af010296f5644de396 SHA512 7d8d1b74515388d99983ffbc5696cba022305cf4c797d3ff5d2959fc8fc8f4ce01cc4c9e7ccae7097b06b5acf5307027f6b7315df1fd8f58e681cc5968e79fb6
+DIST serde_json-1.0.109.crate 146459 BLAKE2B da2ba1155e88338a1ec4d677feee8241446879f64c30290fe8754eccfa5256332036fc1550abcdb53ec1785f37ee0eb81ddf1c0a3a365e82c635482377e5826d SHA512 0457074472412c21c150c33329d11aad3e3e326fe10cd328f3f43fbea0d35478966b9dbcd1ef55f6723433071be89abb45b57ea78f88ff5c79a38ae31550f31c
DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
DIST speedate-0.12.0.crate 30792 BLAKE2B 2280dcc9396546b8c46a13451cbc290c38bed9d77ea8ef9e0b24b1cdc5d52c55dcbcc2ab7768b96854d47a9ceda6e1e119139c9b03df9018abfa16656ba481f3 SHA512 f9f75b9e8111a39922d8e2a525c559f1ae04620cce6c56e64e70f0458ada23d57ecc074ce6f510948cf88515e8bb34cc9b9ca8dcf941968fc1a666dfc9c384f7
DIST speedate-0.13.0.crate 30904 BLAKE2B 8633e1519be119b0e9f045051374963aca1424025a42319cd5509fb5397af05bf13d1262a9da6f2fbf4d78d109da391411e138a859fbf1b96c5149444b1f4954 SHA512 174d7043aa88c2ef9b0624686bdca2c6c4573fb10729d61e762e244e8079d6b34676956326e9f7c68a9f526ef0e5b3444e59a9701e77c6e90825c51c6d4f98c9
DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
@@ -90,8 +105,10 @@ DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c86
DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST url-2.4.1.crate 78228 BLAKE2B 6e324237af50605e9285889d967e6a66e258982c5e78ec99b2df68cbcc555574c0b0d650724ecb015e1065c737c88e3c04205973c35b0afcd63f222e91dde3f9 SHA512 ff2aed100e405f4474e17dcc01d59b63460e7a8babeb7cdcf9df6c1c65216c425e24d557f76c7097702b2befc381656107bef755ce929089b52a3901c46aa185
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
DIST uuid-1.4.1.crate 55291 BLAKE2B 36a1d7abe0a695f6fa3a8ad3a0c8a078bc61b17396a317b01226d9b35a3544a8a74305ade1166dfee7a9028e6d4a1e6b0956dc0975ea58a86ec6052fb869c577 SHA512 95914b62948941e9dcda7b66b932088b328a23286d163449a72961874f4a856db6db1d60a125e56cd1d7b1c00391485a45520852ea49bd8e5a7b8cae8ecf8b96
DIST uuid-1.5.0.crate 55532 BLAKE2B 25c160ca3cec2d53431969a564d9c2395b9b9fae529e4166db5145a8c0382b4704a029c93ea199844e1a16e016849a5ae125b32566c828b87a2a11d3c283a2bf SHA512 42494524d5e837558d6254adbc5749ebabfca018b3d41b47a5ebf5925e37005e02ebd1a20a1cfc59cdfcfb5bb87656a7ef5e1383681363c3ae3df2ca3adea3b5
+DIST uuid-1.6.1.crate 55554 BLAKE2B f9b8eb34f9197734ae9a1437ded396f5e5a8551b54e532053016e0c00c8007644f4fbbd3827c9878cdbf8acaa981d8ae9c94739af7edb6939ec299075ee4b443 SHA512 b9f3dbad176b3640b4b943d127ac8fcd0938e7bc750430626cc603efdcf5faf479f8de7940d64ed1b5b6e6378b42a1aaf3c1e791ee59b9db9394409261cf3c55
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
@@ -103,4 +120,6 @@ DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada
DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
DIST zerocopy-0.7.20.crate 121557 BLAKE2B 24e63690b03c5becade47aa7ed16ef7a3d482c4cc8d0dfcf470f01f7592e3a704e4c52f0ab361b6fca4af18f977e33ff2bb4feb64d13daa1fcb62af9f9731be5 SHA512 fc3f883e4cfa38d01443841242a64575e69fb2ce0cfcdd71a28dd4ccb95e383ea1839a199fb13a58f9faf7608720a38cb0537612d7d832c3582946ee638886a0
+DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82
DIST zerocopy-derive-0.7.20.crate 528379 BLAKE2B 247ab986cb720903df383429a6785c7dec230f6888246a9a7539a1bc8061601b27cea8baf4db2fab491fb32842901466ac32cc80504b3eaf35c25cd1a27ec9e8 SHA512 3c76100c3c9c1a5aae39750448f8ed37069be8e65cc74d67cc983c7e69988581f98248183955294e7c8d044c7a968b6e6534b8f84d9969693cbe4c5f679d5818
+DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d
diff --git a/dev-python/pydantic-core/pydantic-core-2.15.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.15.0.ebuild
new file mode 100644
index 000000000000..b83a7414d077
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.15.0.ebuild
@@ -0,0 +1,150 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+CRATES="
+ ahash@0.8.7
+ aho-corasick@1.0.2
+ autocfg@1.1.0
+ base64@0.21.5
+ bitflags@1.3.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.12
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ getrandom@0.2.10
+ hashbrown@0.14.0
+ heck@0.4.1
+ idna@0.5.0
+ indexmap@2.0.0
+ indoc@2.0.4
+ itoa@1.0.8
+ jiter@0.0.5
+ lexical-core@0.8.5
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ lexical-write-float@0.8.5
+ lexical-write-integer@0.8.5
+ libc@0.2.147
+ lock_api@0.4.10
+ memchr@2.6.3
+ memoffset@0.9.0
+ num-bigint@0.4.4
+ num-integer@0.1.45
+ num-traits@0.2.16
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ percent-encoding@2.3.1
+ proc-macro2@1.0.69
+ pyo3-build-config@0.20.1
+ pyo3-ffi@0.20.1
+ pyo3-macros-backend@0.20.1
+ pyo3-macros@0.20.1
+ pyo3@0.20.1
+ python3-dll-a@0.2.9
+ quote@1.0.29
+ redox_syscall@0.3.5
+ regex-automata@0.4.3
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.193
+ serde_derive@1.0.193
+ serde_json@1.0.109
+ smallvec@1.11.2
+ speedate@0.13.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ syn@2.0.38
+ target-lexicon@0.12.9
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-normalization@0.1.22
+ unindent@0.2.3
+ url@2.5.0
+ uuid@1.6.1
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index 86ea74b1ed05..6c6cd44fe97c 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -1 +1,2 @@
DIST pyproject_fmt-1.5.3.tar.gz 15678 BLAKE2B 624cfc0e62285c59fdb1a3315d1f419cbb8c41430957b9a5eeed2521899a66fa15a1aae476d2986e18d990e4f5fc901312a70df819765cf8b4e077cf3678d8dc SHA512 3f269525b5e3e818cea5ef7b90644c7ced9e37a1dff4a514782ebf7769f6f5a53887cb831b488ed34d059f197a9d90fccc887146f5180c58c5a702c37ae9d79b
+DIST pyproject_fmt-1.6.0.tar.gz 15924 BLAKE2B 96c44d40e5d0554e8bd146adb519787b42c63916569846ad1871c16d28f65c2afc0caf2c6f967208704ceaee7af5efd2a91ec1383c320e9d2f5399f3e1aaf6c6 SHA512 74d13d4bef2f8cc81a7ec6dfab316606333cb9896f4cef759221e8496e686021515b8a259bcd7d9b74c9870ae507c98b7bf16b1d59ebb69a7e68c8510c446d5a
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-1.6.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.6.0.ebuild
new file mode 100644
index 000000000000..d98f024c343f
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-1.6.0.ebuild
@@ -0,0 +1,42 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
+ dev-python/tox
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are completely meaningless and copying them
+ # to the ebuild is a horrible waste of time
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest
index e507a055e810..eda74da6e58f 100644
--- a/dev-python/pyrate-limiter/Manifest
+++ b/dev-python/pyrate-limiter/Manifest
@@ -1,3 +1,4 @@
DIST pyrate-limiter-2.10.0.gh.tar.gz 71838 BLAKE2B 3b8fd16684268870991c3a731c5497802c6f7be51e57bc983a14a7484fad2d0983613304fa061fdb70a3e6645d17fe37fbd68e9ddeca57bc7bd97fef4a5d8585 SHA512 b0090b2d80d40ba2f86ac7b5c5612a35fa885b52a87d783aa9726782275e79ca8d54a9a44b1f0dd43c98bf2355f4c17e1686d7c7f806934ea492b67f66b06ffe
DIST pyrate_limiter-3.1.0.tar.gz 276659 BLAKE2B 2858b2cbb4805f139ae1a26171e6a1c235eb2d8eb93380f10ed27db16e2983b01b83e7d72d4bf5b44b69710569687e86c1194ea3e1a5ff8750e5966faf5a5b6e SHA512 601b70a380965fc108ec110842170ea73065af38a809c8d103d5061948058590c6a228327ed425e1c69ef30d2c832cb8a61508d326eb3bcd6cbb2df813fa987e
DIST pyrate_limiter-3.1.1.tar.gz 276906 BLAKE2B 874e6407341d970f360dd8c800ff6910ebf2d3524e5b18cc56189d6cc9c0cb66e6d20287d9581c0ac4c935a2c719633cd72a56ada583c67d7659beefa8c006ce SHA512 f0c94af5ca4aa3c5bef1831b0dd188a67fe0c1ae076277f698880f2867ea81f80e702701185d49e204a2bb1b4b998850f18277cd8e19e759e3974ea573d4eca5
+DIST pyrate_limiter-3.2.0.tar.gz 277126 BLAKE2B ebf460424ee09dabd629391cc44f2099e8e22c1cc3f9f1fd2855cab6a8667be6d8fd04d9437ebb56ce74dd4b073a744cff656a7d9fffbb7073d7d496847140df SHA512 184f002a2fcb47678b6e1aa790bd914739d152410817ba994d92015313320725602c80d6bcd959bbcea48a0e184e5e0de35bd6855420c714d7079ca826e31296
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.2.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.2.0.ebuild
new file mode 100644
index 000000000000..4540db9b8693
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.2.0.ebuild
@@ -0,0 +1,71 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Optional dependency redis-py-cluster not packaged
+ "tests/test_02.py::test_redis_cluster"
+ # Python 3.11 is slightly faster, leading to a non-critical failure here
+ "tests/test_concurrency.py::test_concurrency[ProcessPoolExecutor-SQLiteBucket]"
+ "tests/test_limiter.py::test_limiter_01[clock0-create_sqlite_bucket-False-None]"
+)
+EPYTEST_XDIST=1
+
+# TODO: package sphinx-copybutton
+# distutils_enable_sphinx docs \
+# dev-python/sphinx-autodoc-typehints \
+# dev-python/furo \
+# dev-python/myst-parser \
+# dev-python/sphinxcontrib-apidoc
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index bcb4c530d649..9c8f5ffcf592 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -1,2 +1,3 @@
DIST pytest-asyncio-0.23.2.tar.gz 44174 BLAKE2B 36dbd0022416eef05c781b9f74fd143bb52fe0583461ca7e52fd4981d552bbefdddd8e3a3399bc229a8ae68b150e199237ae0ce3a375075ab8f7f507bfa59316 SHA512 aa5b5fe8b633b187303dd2958d2ea01561604044507da107e46115d9bf4c1ac3c78826b4b6a6cbf474a6ee4ce0cd1bede87a2c8fe0d35397ddf6a4069437dd84
DIST pytest-asyncio-0.23.3.tar.gz 44841 BLAKE2B f40f18e683ff1c6d905ae81c0a399655d461065f49fc862fe0d57c9d0deb14795e9792d76ea9759ea2b8736f7815de8c1778dbcaa8f477c59cbffd1f991e7ed1 SHA512 209a36de4d74bb3ade486b7c89c58def33b4aca84b3a096012d2ba329946f084a3f70489fb4ba0682e6acd65b6862e2ea4104a8e8912e8693f4f1685de357762
+DIST pytest-asyncio-0.23.4a1.tar.gz 46294 BLAKE2B 6015cc43a8eae8a589311a579196ca9ebb392ff14cf3c68743e10ea3bf7b57958aba59432efae94c3e57e03be3f625a1f0c883e85427af3a20d1f60d634d8946 SHA512 9181a65ad427d2a0f35077019dfa6a46d5714592a754a083a7bb0efb7f97af5776192cd92961d751dba27d84c78a32a9f0c49a46b2d962d24796451311845691
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.23.4_alpha1.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.23.4_alpha1.ebuild
new file mode 100644
index 000000000000..9af91a7c12ae
--- /dev/null
+++ b/dev-python/pytest-asyncio/pytest-asyncio-0.23.4_alpha1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for testing asyncio code with pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-asyncio/
+ https://pypi.org/project/pytest-asyncio/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pytest-5.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on precise warning counts
+ tests/hypothesis/test_base.py::test_can_use_explicit_event_loop_fixture
+ tests/modes/test_legacy_mode.py
+ tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
+ tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
+ tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
+ tests/test_pytest_min_version_warning.py
+ tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin
+ epytest
+}
diff --git a/dev-python/pytest-plus/Manifest b/dev-python/pytest-plus/Manifest
index bfa91ba7b210..013589819c34 100644
--- a/dev-python/pytest-plus/Manifest
+++ b/dev-python/pytest-plus/Manifest
@@ -1 +1,2 @@
DIST pytest-plus-0.6.0.tar.gz 12795 BLAKE2B 6e618f29e679cf1c71018ab4993606add89a4e3fe47a78b3cb4a17908c2bb0192646108918786183b330016a8e8d5458e87900d8bf4b9b61e90d3e24feab43a8 SHA512 7798a4e53a4ca95b24f9039accea2657746982370cd99f5d34d5dceccc08640214241f1e81f3e354f03782f013bf1b375a4e16a69d23e211948232eca678f98d
+DIST pytest-plus-0.6.1.tar.gz 12811 BLAKE2B f3892227aa24466b2f2e35187bbf7cf3d67d96745377356b3cc4d295a9fdd8eab8b0fd11b7b5ba96d5209e2bd7440f5e12084cbd83951e3e56cb24c1f2bf6f7b SHA512 4ee2fa8783c36e65616b1fc2e155e4c4898e0a6347058619f9cc0caa319fc62b34304a2ec0377071abef7d2a526c81729f434b228f0fb2b9d1c73fae1169bfde
diff --git a/dev-python/pytest-plus/pytest-plus-0.6.1.ebuild b/dev-python/pytest-plus/pytest-plus-0.6.1.ebuild
new file mode 100644
index 000000000000..18e6101d9a3c
--- /dev/null
+++ b/dev-python/pytest-plus/pytest-plus-0.6.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyTest Plus Plugin - extends pytest functionality"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-plus/
+ https://pypi.org/project/pytest-plus/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytoolconfig/Manifest b/dev-python/pytoolconfig/Manifest
index e7849ab75fd0..0480a5f8ff9f 100644
--- a/dev-python/pytoolconfig/Manifest
+++ b/dev-python/pytoolconfig/Manifest
@@ -1 +1,2 @@
DIST pytoolconfig-1.2.6.tar.gz 16425 BLAKE2B 669c3bc906b06ac48ecb5649f1bef8a6af53e85d8f8d23f4059b63e4d1e57e10b0a66d2e89e72e0b4afe7d00aa9d26b4ceb23cc49b8e46a891e7fae60d228686 SHA512 beade8cd1780eb986dab1d630c1583c9c75fea5067d399081a5b8361789fdec96087243d8d79291655c83aca481d5888b3414a1b445200a9d8c59703761a83b2
+DIST pytoolconfig-1.3.0.tar.gz 16686 BLAKE2B 77459f0d19bfd362ed8f0919ce27a3362e76add948dab224d38b3faa0dc07055181276fe2406150bdb5fdebf485031ef5e3de8344edc07bf6558e902c8c703e0 SHA512 9128f2ae116fb97edf991553207a97041df6b866e2ee4b4d05333418564a0429fdeb28c7807c3784707259f0700bb870955e89702fd5b723f19ae7639daaf150
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.3.0.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.3.0.ebuild
new file mode 100644
index 000000000000..9a7401aa3ac6
--- /dev/null
+++ b/dev-python/pytoolconfig/pytoolconfig-1.3.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python tool configuration"
+HOMEPAGE="
+ https://pypi.org/project/pytoolconfig/
+ https://github.com/bagel897/pytoolconfig/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-1.4.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10 )
+"
+BDEPEND="
+ test? (
+ >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
index c45e3093fbbc..4ea2968f132a 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,3 +1,4 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
DIST reportlab-4.0.7.tar.gz 3683030 BLAKE2B e307fd165bc66a97ad98789d8fcd128e7db789a8dbbad50451a910efd4052e850a34f7b0a65b78920c77de9309519c242640ba348005733693d1998641ca23cf SHA512 d0fa92f1553a7ac2d4df13d0ec68f8145a78ed8a702c14fb283bee6e8b05bc1afb16664d02313154d40875712de2767b2b2d93f78c72e7ca6b53c5332dac334b
DIST reportlab-4.0.8.tar.gz 3683777 BLAKE2B e3fab54369a9d75f381fab651d5f5cd46ed090c0e9c7105d89225d291b133892f6311a3ad1e2727bf26be7a7ca3562f5a8a7c6126112adebe1aa530ebdd42187 SHA512 4d1db3e104374027a7be39815f7cbc06638bb3834477fcf29a4afda71be669a13d8e09c5a83dd1df085423cb61a89fa102a1fd1d106bccb2360cb02edbd918fc
+DIST reportlab-4.0.9.tar.gz 3684146 BLAKE2B 1db674238d481f77c8847c56527d73ea209a66df9d520c590460b91fa118bbdeb103fa37fc6fbc23f5cb28206c9bcf1e663ad0ab3b52f003e9d72b26b630e8fd SHA512 5ae2ce70e108b84e84d88c6ba54015d390f79552bdcf40564fa803d33428ea67e7a08824a68c836475e6dfeaf75b00b56c30b81e4ec82011fdbc8978a1cfb80c
diff --git a/dev-python/reportlab/reportlab-4.0.9.ebuild b/dev-python/reportlab/reportlab-4.0.9.ebuild
new file mode 100644
index 000000000000..caf4d9639c78
--- /dev/null
+++ b/dev-python/reportlab/reportlab-4.0.9.ebuild
@@ -0,0 +1,53 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="
+ https://www.reportlab.com/
+ https://pypi.org/project/reportlab/
+"
+SRC_URI+="
+ https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+distutils_enable_sphinx docs/source
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+src_configure() {
+ cat > local-setup.cfg <<-EOF || die
+ [OPTIONS]
+ no-download-t1-files = 1
+ EOF
+}
+
+python_test() {
+ pushd tests >/dev/null || die
+ "${EPYTHON}" runAll.py --post-install --verbosity=2 ||
+ die "Testing failed with ${EPYTHON}"
+ popd >/dev/null || die
+}
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index c807c390b320..f12f9d152c01 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1 +1,2 @@
DIST sentry-python-1.39.1.gh.tar.gz 451286 BLAKE2B ff81f800f41d5f2c6a8ae0007338a394a176de4705753839e6bd4b74ac9aa21eb340582d6bc33e3a482c020fdc8307e472b9278ff101899f44a1a42429e158bd SHA512 0b162cc677b1e59434b6c58ccced4d84f6679b5ff733271938b07302e0e9a9d706304334282bd7b7e1c1f4026ed98fae3e5635cfac306e08a3aee801d75e1d7c
+DIST sentry-python-1.39.2.gh.tar.gz 452370 BLAKE2B 8ab1b4464ecbd8164c20d926a78f4c839be9c1dba6b09c26c2aacfdc236ca6e93406ea0aeac1a2b86439d2340b546a32c8a3f2db80cabefc6986f4567753f660 SHA512 728f799fe9419d30a07ae15eba0feae4e861edaabe1b16a23f54d8fe2a389273ebfc43a1183368ea22332f63a096ea154031ca0e1c3efcea26cf83c6093547c3
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.39.2.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.39.2.ebuild
new file mode 100644
index 000000000000..437e951ad6b6
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.39.2.ebuild
@@ -0,0 +1,144 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+ # this is not even funny
+ tests/test_utils.py::test_installed_modules
+ # flaky hypothesis stuff
+ tests/test_serializer.py::test_bytes_serialization_repr_many
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
+ # crashes Python
+ tests/integrations/grpc/test_grpc_aio.py
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # TODO
+ tests/test_utils.py::test_default_release
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ 'tests/utils/test_contextvars.py::test_leaks[threads]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/sphinxcontrib-bibtex/Manifest b/dev-python/sphinxcontrib-bibtex/Manifest
index 7676f310a56f..f26378adb6db 100644
--- a/dev-python/sphinxcontrib-bibtex/Manifest
+++ b/dev-python/sphinxcontrib-bibtex/Manifest
@@ -1 +1,2 @@
DIST sphinxcontrib-bibtex-2.6.1.tar.gz 117150 BLAKE2B 832fe8d16fd9311b5972127328edc506a0d4f2918c4ac1a4e56ce0530fa0c792db45f82c1801f48ff3299a52693a3041e9c2d6cbc4a17e864617ca58cfb6cd42 SHA512 9cf965bdfbcbc03b3104c9e7c5a730ac3e38c410554b7007485bd9aa0464663e26898537fa074c97951588a3e848a8a64e09d6c82bfc117ce4153da24de84fb5
+DIST sphinxcontrib-bibtex-2.6.2.tar.gz 117459 BLAKE2B 663521602282e360525354cc5ebffdba9e039f5d523774465f0b9318b39aa6429837164fc24e60d7646d204798a7b97d9defc176248b2793e7f7bbfeffc5c56a SHA512 a2b48306078de902cfdedbcafe94ea8aefcfff5285ec651fd1d0fe2c452818f9383ba486fb64e2ef4a294782445db2854bbdd158ab2aa1a49ed4adef85e9c82b
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild
new file mode 100644
index 000000000000..b5505ca9e248
--- /dev/null
+++ b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extensions for BibTeX style citations"
+HOMEPAGE="
+ https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
+ https://pypi.org/project/sphinxcontrib-bibtex/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/sphinx-autoapi[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # rinoh not packaged
+ test/test_citation_rinoh.py::test_citation_rinoh
+ test/test_citation_rinoh.py::test_citation_rinoh_multidoc
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ epytest
+}
diff --git a/dev-python/sumtypes/Manifest b/dev-python/sumtypes/Manifest
new file mode 100644
index 000000000000..e043228984de
--- /dev/null
+++ b/dev-python/sumtypes/Manifest
@@ -0,0 +1 @@
+DIST sumtypes-0.1a6.gh.tar.gz 6535 BLAKE2B 5441b2c89515e9c24b0ca8e5ee6294272290bc452391ca6ce5adbd5befcf2f1879859e84d011b0a5be5a3690a138e9f2e30c38c15171160556eb863d6465b4ab SHA512 1e2fbcb6fe42db4aeeadb3e45d1629027eb99786fffaed03c61056c24a760e6bcb75001e700e4a40b67647f09d0c83d200ee381f62a1483874553f59121f866a
diff --git a/dev-python/sumtypes/metadata.xml b/dev-python/sumtypes/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/sumtypes/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild b/dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild
new file mode 100644
index 000000000000..7ec110e60c39
--- /dev/null
+++ b/dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_alpha/a}
+DESCRIPTION="Sum Types, aka Tagged Unions, for Python"
+HOMEPAGE="
+ https://github.com/radix/sumtypes/
+ https://pypi.org/project/sumtypes/
+"
+SRC_URI="
+ https://github.com/radix/sumtypes/archive/${PV/_alpha/a}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest