summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/betamax/Manifest1
-rw-r--r--dev-python/betamax/betamax-0.9.0.ebuild39
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.38.ebuild58
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.37.ebuild6
-rw-r--r--dev-python/botocore/botocore-1.34.38.ebuild67
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.85.1.ebuild65
-rw-r--r--dev-python/fpylll/Manifest1
-rw-r--r--dev-python/fpylll/fpylll-0.6.0-r1.ebuild32
-rw-r--r--dev-python/fpylll/fpylll-0.6.1.ebuild2
-rw-r--r--dev-python/google-api-core/Manifest1
-rw-r--r--dev-python/google-api-core/google-api-core-2.17.0.ebuild65
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-0.40.1.ebuild45
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.98.3.ebuild90
-rw-r--r--dev-python/iminuit/Manifest1
-rw-r--r--dev-python/iminuit/iminuit-2.25.1.ebuild58
-rw-r--r--dev-python/ipywidgets/Manifest1
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.2.ebuild61
-rw-r--r--dev-python/mcbootflash/Manifest1
-rw-r--r--dev-python/mcbootflash/mcbootflash-8.0.1.ebuild35
-rw-r--r--dev-python/mysqlclient/Manifest1
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.4.ebuild93
-rw-r--r--dev-python/pandas/pandas-2.2.0.ebuild2
-rw-r--r--dev-python/pytest-reserial/Manifest1
-rw-r--r--dev-python/pytest-reserial/pytest-reserial-0.3.0.ebuild26
-rw-r--r--dev-python/python-lsp-server/Manifest1
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild107
-rw-r--r--dev-python/python-slugify/Manifest1
-rw-r--r--dev-python/python-slugify/python-slugify-8.0.4.ebuild29
-rw-r--r--dev-python/reportlab/Manifest1
-rw-r--r--dev-python/reportlab/reportlab-4.1.0.ebuild53
-rw-r--r--dev-python/scipy/scipy-1.12.0.ebuild2
-rw-r--r--dev-python/segno/Manifest1
-rw-r--r--dev-python/segno/segno-1.6.1.ebuild38
-rw-r--r--dev-python/shtab/Manifest1
-rw-r--r--dev-python/shtab/files/shtab-1.6.5-pyproject.patch10
-rw-r--r--dev-python/shtab/metadata.xml10
-rw-r--r--dev-python/shtab/shtab-1.6.5.ebuild30
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-21.0.2.ebuild121
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-8.2.0.ebuild81
-rw-r--r--dev-python/widgetsnbextension/Manifest1
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild30
48 files changed, 1131 insertions, 145 deletions
diff --git a/dev-python/betamax/Manifest b/dev-python/betamax/Manifest
index 345589e93711..2aab68cdd71a 100644
--- a/dev-python/betamax/Manifest
+++ b/dev-python/betamax/Manifest
@@ -1 +1,2 @@
DIST betamax-0.8.1.tar.gz 77526 BLAKE2B 2ce88326c5ef80082908912c4b14f149793c4457c47446ebcabaaffaa6b0ee64528096acc6bdd868fce0fad3d10ad66697cad5dc422c15b324e1cc9ae20eafa6 SHA512 89bfb56cf4004a70ec8c1f2342cfa0e02f850b8ed80b67f8b2b02c1a2093e8ac1cf1b9980354551e9d3a21fadde0d77d717f1559487024941973cd80bd451734
+DIST betamax-0.9.0.tar.gz 79957 BLAKE2B fed287985207679587a0d2a2f38748fca87b7ec9516135c3e50bcfc5bd8035136b4edcac1e3af143cf2f32caa79b5c76e9a9f450d9488f06673aa4d672b09956 SHA512 a6b8f4d719dbfdc26b39f4cb16e33db1da85e01bceb871640d2778e7d830ef2d3bcd655aba6382136cb5cd66d8db1fa6ab04c942e5e185702337cd3dc8c1fa15
diff --git a/dev-python/betamax/betamax-0.9.0.ebuild b/dev-python/betamax/betamax-0.9.0.ebuild
new file mode 100644
index 000000000000..bc3a0f3bec30
--- /dev/null
+++ b/dev-python/betamax/betamax-0.9.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="python-requests HTTP exchanges recorder"
+HOMEPAGE="
+ https://github.com/betamaxpy/betamax/
+ https://pypi.org/project/betamax/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/requests-2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_hooks.py
+ tests/integration/test_placeholders.py
+ tests/integration/test_record_modes.py::TestRecordOnce::test_records_new_interaction
+ tests/integration/test_record_modes.py::TestRecordOnce::test_replays_response_from_cassette
+ tests/integration/test_record_modes.py::TestRecordNewEpisodes
+ tests/integration/test_record_modes.py::TestRecordNewEpisodesCreatesCassettes
+ tests/integration/test_record_modes.py::TestRecordAll
+ tests/integration/test_unicode.py
+ tests/regression/test_gzip_compression.py
+ tests/regression/test_requests_2_11_body_matcher.py
+)
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 73667d7294c3..1524379ec30c 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.34.34.gh.tar.gz 771553 BLAKE2B 52459e1baefd7986256bb6c89074aac365fb
DIST boto3-1.34.35.gh.tar.gz 771771 BLAKE2B 2126de54d6d7fe94bab546d1f4be4b99f6ecf3b5033e4a9e3c514482c6b954a83992a904d84b3da17ffcb6ee62a147b40669b7264f7d278c81ec35259bdc1326 SHA512 a9e6586144f14b5602bf5ab37de433d96b7c713b370dff18922eddad19a8ba0b421008f334d8af2f8eb39f454487cbbea1b83f7141c4afea988d5592251a6c65
DIST boto3-1.34.36.gh.tar.gz 772161 BLAKE2B f5ca23c960e6dda208a17b3c73b169354ecc759508b7aa28ef20150dce540ed813e426854a5c97a30233cc26c4a3d5ad87024f2ab4cace345a0b675ca0958df5 SHA512 2c33262aa6513e1f7640738d1b03010f5c5e8f7fceb18e5e055e5bd34845bcd475e80f8e5736e96136b4d176165f2d3ebd9a4c79a9f14ec12c46e3b81c71c465
DIST boto3-1.34.37.gh.tar.gz 772370 BLAKE2B 67b75d72d31d2520109e2d021b20c9d0aa91a503b73ce4167656204a53ab02a40b0b96ae7df7cb05254dc709aeaa971a3b002c44920ffe1beaf09dcdd9fe254c SHA512 52c60da9aeb431a365cb722ebe45db485fb8d36514fa057d40b35fae21abc24c07a4935b1a9133b037def2126f2ea7b71ed536f6eb8ff1c6fc1590d186dc2d71
+DIST boto3-1.34.38.gh.tar.gz 772844 BLAKE2B 59db9187488ecbf263ca6920bcf9524b1e2bed88e1dbed994984a38e449d7e4970ccf861eeec84c9dc1e044bae0b3fea2f5cd2065675b2d7e1df7ceb8a124cf1 SHA512 702e4dfbb6088c32158cf938b9db9081f6a31c91ac37b3b336ae3c0b02ee697f0c58dd971ada2b3bf5de702e91dd015983222c1a1879e0dfdce7780afd4fe052
diff --git a/dev-python/boto3/boto3-1.34.38.ebuild b/dev-python/boto3/boto3-1.34.38.ebuild
new file mode 100644
index 000000000000..c6201d2c5818
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.38.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
+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/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+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 29b7dfc0c182..777de142cbe9 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.34.34.gh.tar.gz 12682925 BLAKE2B 514e6946558d1014371ca7ae4c76614
DIST botocore-1.34.35.gh.tar.gz 12683490 BLAKE2B 4cb287495e77de15803b36755962a0e6446d00aa9a6056c5762261874adf297a55bd8fceb43aa518cb981ac09b5d00e87eb593f0356949b6f8b0cced65936ac0 SHA512 82a57540c6fa50957434254ff536bb0a6c73cec313372233c0e4b922a4d7539a7c2150d3c49df9bcd1840c29d2eb22b25d6d8c276a704dfa9a12a32974f17d33
DIST botocore-1.34.36.gh.tar.gz 12688895 BLAKE2B b05dbc906d6f49fe8df7c608cefa85bf08f59f9e086540366b5a46db4baa3edb7bbdb79ecfe3a9e0a8857cd9317f5deb6323b583ad092beadd9b0eb52c8c892f SHA512 6cd8985a729fd36a74ff3211b2021ceef7ea2c9a74ef259117e2df5c2fc97cbdf070539d47224720b33024af92ca9041f979fd7d7e84aba8955e820e22e96e2a
DIST botocore-1.34.37.gh.tar.gz 12691397 BLAKE2B ee44e6f4e3728e660dc8299bd14584b06e624c14443701782cb9f296700146dc1d438eee737579ecc1294374599799302373e0d7b668c7b649c76fea5fd3316c SHA512 289f6bf8a622a59ede8bfdac71fd31fea15193790ee0e0f2bd773be68ecec1c9de93325f25bb964d2094fd829c3292930416badb6abf78ad92ccc077fd651a7c
+DIST botocore-1.34.38.gh.tar.gz 12694520 BLAKE2B ff21e6247fb2cc5f050abc78e45e21523310aadb0fedf9a028f23dcddeb2ed28b2a08e7fb7c817b8c8eb286ec4b6702f1312b5dcc141ffc8043175ebec6c33f5 SHA512 3b2eb3d9b1b48106c0176391cb76ca74b5d546938c61284ae4475cf33d13cfc95bf1f2d3b8c7eb8dc33907e18a351977fe9a6d0cadc9742f49c12a7775570a09
diff --git a/dev-python/botocore/botocore-1.34.37.ebuild b/dev-python/botocore/botocore-1.34.37.ebuild
index b78ea904a0da..857224b496b7 100644
--- a/dev-python/botocore/botocore-1.34.37.ebuild
+++ b/dev-python/botocore/botocore-1.34.37.ebuild
@@ -23,11 +23,15 @@ SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
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}]
"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
BDEPEND="
test? (
dev-python/jsonschema[${PYTHON_USEDEP}]
diff --git a/dev-python/botocore/botocore-1.34.38.ebuild b/dev-python/botocore/botocore-1.34.38.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.38.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{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/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index cd405e0d940b..634803029538 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,2 +1,3 @@
DIST cfn-lint-0.84.0.tar.gz 3890781 BLAKE2B 160c8f29f2551c0885d784d725e5e7077aaf162b13f8bcbe8f04c2f6dd939bdb22166ebc3fbba6ba71b0ec68356f520ae1968a447a7a24082eb85271c684aa1b SHA512 0e783c6c2fc590ce59526da887a3bdcc2f8c55e6d5d6e11f49df82c72d387a18abbac545b861bf806e829080b7be6da00d948d32769396b6730570ab4bc23f7a
DIST cfn-lint-0.85.0.tar.gz 3875659 BLAKE2B 64bbd4ba0dc153b78da40588a2d0e9f34feafcf17b7262b84f3c3e0a98ecc6cc7b78152dc829fd2bcb3f3c3fe601fdf217111bd5a11d402a3b70ceda822206f7 SHA512 b7d65fb360e8743f08ec2feb451e6dc6cbda62c0850a954e5beec8d6a2a6bee2be2dddee36f262f571e5e9838deb7237895a3020b951686423315f5914f82d67
+DIST cfn-lint-0.85.1.tar.gz 3875240 BLAKE2B 40ea81dcb938648c7bd772e8e4ad751281488048a9718a0bedef299eb32f0b9776ad4529a1cb724f7e7cc41d249c8555c8f72eddb146d940e227a6dd90e0b04c SHA512 4936facb73fa32745fe3915accee00c82135263fd6f05ae08d6540b97f53d13047631cbc39c580985c1f574f3cb6bb9b91c2805b6503ba20499cd997dfcbf677
diff --git a/dev-python/cfn-lint/cfn-lint-0.85.1.ebuild b/dev-python/cfn-lint/cfn-lint-0.85.1.ebuild
new file mode 100644
index 000000000000..4d0fa31eff07
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.85.1.ebuild
@@ -0,0 +1,65 @@
+# 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="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.84.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/fpylll/Manifest b/dev-python/fpylll/Manifest
index 0935cfc912b3..1fb31581b7c1 100644
--- a/dev-python/fpylll/Manifest
+++ b/dev-python/fpylll/Manifest
@@ -1,2 +1 @@
-DIST fpylll-0.6.0.tar.gz 1084736 BLAKE2B de4fc2ef762a1dc931e728cae4857da34828fb929eec0cf05c076bce5b3f7475492871d016d94f9cac4515a04a7f652440511f4ba8f1b724c351a403d5375ea0 SHA512 e21ed21362cb9256dbc828f4d628602cd8b5c1a8640116f1c137e85056cedc89a73cab58c28ea12212ee92f4ed36b99796c5dbd30c55159baf9b33770b1a9aab
DIST fpylll-0.6.1.tar.gz 1083895 BLAKE2B 091d757a1c64830307c0dffe10418305a625f1eceabee251a4f6d06e6fe7eb449ec85fdeb72fe8177d093c50e642e730283b0022fd70383338ca74ac6301e010 SHA512 3469c7b70cfdb0077a38f2c46c06901c4b2a1ac6db9fdab1e347c3b5ba147ee495aad56a6263d163e5f140cf9fa1591de98d01b83b92ec896092dd3e0a5d5a9b
diff --git a/dev-python/fpylll/fpylll-0.6.0-r1.ebuild b/dev-python/fpylll/fpylll-0.6.0-r1.ebuild
deleted file mode 100644
index c0b935017c25..000000000000
--- a/dev-python/fpylll/fpylll-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for sci-libs/fplll"
-HOMEPAGE="https://pypi.org/project/fpylll/
- https://github.com/fplll/fpylll"
-
-# setup.py says "or later"
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="test"
-
-RDEPEND="sci-libs/fplll
- dev-python/cysignals[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-python/cython-3[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-src_test(){
- PY_IGNORE_IMPORTMISMATCH=1 distutils-r1_src_test
-}
diff --git a/dev-python/fpylll/fpylll-0.6.1.ebuild b/dev-python/fpylll/fpylll-0.6.1.ebuild
index d980f22908f1..470d9500c262 100644
--- a/dev-python/fpylll/fpylll-0.6.1.ebuild
+++ b/dev-python/fpylll/fpylll-0.6.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
# setup.py says "or later"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="test"
DEPEND="
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index 9b2aca5de693..15a1945e7528 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -2,3 +2,4 @@ DIST python-api-core-2.15.0.gh.tar.gz 193916 BLAKE2B 708bee6e62b4049d88bc88dfc03
DIST python-api-core-2.16.0.gh.tar.gz 205401 BLAKE2B a36c1e76912038b5d239c02c586d79e96f6167b200dab7d97cee1f9dbf679a217a2a67ab2075c86bdeb81a42649229bcfe4940bba8d0ec707ea1d317c364125c SHA512 6ffe94ecb56bc9e67da644365726e3c03ad7a678f18019523e555e33d4226631162c7a749286273b735d4d0bf62af676bfac7c6d17ad1d074a1274c575c8d925
DIST python-api-core-2.16.1.gh.tar.gz 205716 BLAKE2B 9fef4c669a40d2a8b8432e329aabb6c7d672bbfd912a01ba2629e080a95a82935f31389964b76050d814f85b4f66e6115f5c7339e193eec0012762cb9971968a SHA512 c9bba140e95f4a968297886937f96d86d7d2598699d7957ee4136be3741d52334f2525e1f9c2151ad4b9325456f36ace51ce7fd49079178d5d6049c45e2b0e7b
DIST python-api-core-2.16.2.gh.tar.gz 205804 BLAKE2B a0bc9668d0fb9958ecce78c23cd432399ff8d3a63536275e4b39d76f518da39ad2b3761e10e62475b0ad07216f353ea23d2c172ee524920be4a87530b3331489 SHA512 c7014c06d8038ee078dede46dcc2ffffffad9934c5fa55ec9445a9d73ac1d5e2eb8db4a4240d072ea2352727f3621de29769b1efe8cd72682f749e338f8db0c3
+DIST python-api-core-2.17.0.gh.tar.gz 208432 BLAKE2B e0990ffe1c1fa9ca928d4a5d5d10613d05fab34505416dcf6bc40b56873d097a606207a9cbad9485873d6e98bb006d42be6efacd639adee3c5878aa9fce79a29 SHA512 2e0c492a0c085c04682216c90e787a1f2a0b0deb746a8724283f2f4d0e32f134349b170514aa8077ff9061b347bb2734bd4d76dec90581e0cf7c59de454b777a
diff --git a/dev-python/google-api-core/google-api-core-2.17.0.ebuild b/dev-python/google-api-core/google-api-core-2.17.0.ebuild
new file mode 100644
index 000000000000..bde7f392fc30
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.17.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2020-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=python-api-core-${PV}
+DESCRIPTION="Core Library for Google Client Libraries"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-core/
+ https://pypi.org/project/google-api-core/
+ https://googleapis.dev/python/google-api-core/latest/index.html
+"
+SRC_URI="
+ https://github.com/googleapis/python-api-core/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/googleapis-common-protos-1.56.2[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ !dev-python/namespace-google
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/proto-plus[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # failing due to missing grpcio-status
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_unary_errors
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_raised
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_read
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_aiter
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_write
+ tests/unit/test_grpc_helpers.py::test_wrap_unary_errors
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_invocation
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_iterator_initialization
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_during_iteration
+)
+
+python_test() {
+ rm -rf google || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio tests
+}
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index 2d97ab75c978..121cbd372f21 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -2,3 +2,4 @@ DIST griffe-0.38.1.gh.tar.gz 201135 BLAKE2B cdd1b7a24bb1afa6cdf68cffa696b8a19886
DIST griffe-0.39.0.gh.tar.gz 214713 BLAKE2B e27015592ffc1a817c6236ae7a242f4968ba7ad2c649541bad9c6c31ba0459df4d7122382a6a776117bf80afb563f50a736d3d6851fcceed3113ac8372af0969 SHA512 b872c929f5dd32d7c63f3f199755c8b1e4b9bae05b21b3c4a477f3ba94ca24170907faf0d4e878b43403f448f6d067300d80e612633d801f993f5e13187f572f
DIST griffe-0.39.1.gh.tar.gz 215601 BLAKE2B b6c1d4de8e01a57b6a3d48370228184332e2cb6fe298e7ca1b798b25b49995df8e9a096903f2ea942d534af4c310953d28be77c48c6406ce0096a586173a4e4f SHA512 877989570e0981e37f106c22b7fdb1cebb4847730eea3aaead5ca3647c0af97d2491c7d4afb29f9d5c2f5257349549169c70b47fa323881229eb696dcba34b73
DIST griffe-0.40.0.gh.tar.gz 216145 BLAKE2B a85d765e2692b3bcbf75c02b4fee8867bf5cc0b8bc4aa5941f0407404949f6e3ca372cd00aa76bacbc994edc4f70b7bf25d95ab773993dd08d0885377f1a8003 SHA512 4b52e6f0df988f2c225cef6cbf913a858fd2f09c1ebfc3e1a9cf984aa0d362ed6768322a32fcaa43fdc8bd4dfa0f8ed25bee5b2721e47a38d2962cc5a712e114
+DIST griffe-0.40.1.gh.tar.gz 216435 BLAKE2B 0b2e304db94dadd113e72fd49d593a56fb4a115d18bde46a76f27a28e44d7efc7620e0782eb9960a32278c63ca79c7a499a5214cc3856794dc9d89c4333f44ec SHA512 6e7d3d120cee4270f6455ac46a43e03da7f77e6b8c2776eea3a49d0809737cdebf24ca413d1fb05c025b820d5dd55717781d33749b29dc60edcfa5848c890d7b
diff --git a/dev-python/griffe/griffe-0.40.1.ebuild b/dev-python/griffe/griffe-0.40.1.ebuild
new file mode 100644
index 000000000000..6b674e3230b3
--- /dev/null
+++ b/dev-python/griffe/griffe-0.40.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 3b1816e97ede..15060eceb261 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -6,3 +6,4 @@ DIST hypothesis-6.97.4.gh.tar.gz 9425209 BLAKE2B 7e6065fc988f5853f1da3df712d32e7
DIST hypothesis-6.97.5.gh.tar.gz 9426065 BLAKE2B 2aec769268af7392f71c0ec7d12defad4962bd56597cb68ca0edfa81dbf28ef7d865b26086b75ee03287c82a0b2c0273a55bd6872b188728595fe74198130dd6 SHA512 d9f2adc51ef3b7fc331d3dca1b69a9464a2bc73298747f3732b8b4621237284ac60a50b927b57a047a155e0d94a3ee2974bbef2c9cf9112080e9098fba3cfc7f
DIST hypothesis-6.98.1.gh.tar.gz 9438665 BLAKE2B c2529e19b8ac039db334a51b33e0552f4acb92ae49b6bde5e26913b4ba7781e82a5ba4cfd7fba2a3ed5442d1bd8f0c2b2d7878ba86eff1276e590a412856811d SHA512 aae7f7c03af4667b0d9993a1b911076fe4d1ce7d752295a7e9f712da4d33b1fd34e51d5e0cc11c4ac4c00e7f8fa9ac4574d0594e1a82ea67aa3e5a4e98ed1b71
DIST hypothesis-6.98.2.gh.tar.gz 9438703 BLAKE2B e1c93ae8f428c95e5bf9d6d6364717378f12ad829b7754f8793b19342adc24c5c90f2e8975469b568378768c9e8a0dd39051b5cf8b1616a119c1531261f4f60c SHA512 81a6b919107a35825af15c2dea91c0010611bd0756172aae76be195b5751a58542a28eb8cecd02f79d43287d013b1dbadad6991ef3057adfddad95a1a7447a92
+DIST hypothesis-6.98.3.gh.tar.gz 9438865 BLAKE2B 7a15ec4debd2a93974aca75aad9b7b1858c6ec23dc4856ef2b4a84e9eb6e74a0aabd278070cd76b83c12e71144e0b613c33d00ab87d9b2dc85d713c7be7f56c6 SHA512 6ad4dfaa8ed54c090b3fcd2c8ee742ebf7f488dd156dcec4ee138621ee16143f520f660d6081fbe05d8f59f7dbef2b575128806a71ff7f793fc7b2d61bf9dc78
diff --git a/dev-python/hypothesis/hypothesis-6.98.3.ebuild b/dev-python/hypothesis/hypothesis-6.98.3.ebuild
new file mode 100644
index 000000000000..1f7054962839
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.98.3.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/iminuit/Manifest b/dev-python/iminuit/Manifest
index b6b7157a0b5c..8fc40e6c0f13 100644
--- a/dev-python/iminuit/Manifest
+++ b/dev-python/iminuit/Manifest
@@ -1,3 +1,4 @@
DIST iminuit-2.21.3.tar.gz 437827 BLAKE2B 5196e896769f6312bb6ba9af8d6f03bea6023a9459ccbe8553e4c10ba5dc2ed90e4e4b57bdd104f7b72e7514a50c0d4c717c76adf206d7eaddcd3c4c54c4d210 SHA512 5e48d4451caf56688143fa4590528fb4ed0660e144dbb3d1c409b84f793593478979728b4af9748b7bbdb7063e2ef7e05476a2ecd52af089f351522aadfc9ba4
DIST iminuit-2.24.0.tar.gz 2326542 BLAKE2B 98713f814f9c6c58e18c0e468037717c846dce02cedeb86320d47f8515d2e6309bd0f4600e404905235de0e84b6e188c90f6b3776affe607c54df5f721035d75 SHA512 d4c439ddba950b82c5f665cffe099ea593d9f154ecc00dd23359e2fba057bb11e86b832465fbb6f19cd68717913b34f818e434205270f5292b0dc6c2237cf4cc
DIST iminuit-2.25.0.tar.gz 2920587 BLAKE2B 19cab06326461ffc333cf704353620608e7c59376cd8d9a508cfea0bb517f05cb8795250c45495d8e052e4b3739903b07374eae439f7ea3a8b9de558f7aed667 SHA512 cd8322276529127f7a7b3360d5cef9cb9ffdfd48df4b2bbec4bfa60b84377abb4e24b932b385655448ae207191e2810a2da5b11bb7cce6baa195d0421644e1e4
+DIST iminuit-2.25.1.tar.gz 2921727 BLAKE2B db3460ccfa9a0eebf9995758b4ea42eb6e11c09eb3ed9e99aa36ae544c741f07a492ef7228755495229bcf7964932c2667894c2173b5d458833685c2c1ca226c SHA512 a4047f1aaf8e09c0cd531ac10db9a73477cedc2de832e96696e523c8e2319e55925c64996429df15b74b27e72c9c24d8f2b2af3637043967aff377b0a489c003
diff --git a/dev-python/iminuit/iminuit-2.25.1.ebuild b/dev-python/iminuit/iminuit-2.25.1.ebuild
new file mode 100644
index 000000000000..93edfe9bfe73
--- /dev/null
+++ b/dev-python/iminuit/iminuit-2.25.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit cmake distutils-r1 virtualx pypi
+
+DESCRIPTION="Minuit numerical function minimization in Python"
+HOMEPAGE="
+ https://github.com/scikit-hep/iminuit/
+ https://pypi.org/project/iminuit/
+"
+
+LICENSE="MIT LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${BDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/annotated-types[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # precision error
+ tests/test_cost.py::test_Template_with_model_2D
+
+ # TODO
+ tests/test_describe.py::test_with_pydantic_types
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest
index a1592647360d..d6794d454eba 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1 +1,2 @@
DIST ipywidgets-8.1.1.tar.gz 116420 BLAKE2B 9f138178dc213cac8d3c21a366f47c10675d8d74eb3e29f07c12b10c3a99281896f15afc4f609a4f9ad5f0eac5c60507b10cc98a01500d46150dd6ce36b15b3c SHA512 287f4cb56fe08b1ca01c7f226d7c8a1471d33bb1c36053e705326356c82de8686d6d59be0b50c3016c6c168c743f37de366a5fdf5f8a00c9d0678773e8c1618e
+DIST ipywidgets-8.1.2.tar.gz 116492 BLAKE2B 0fc8283b332447cd3659d39d4564e2e794678169c7bc156660f3478251c4df23de1719e4fcf9651b9766506edf359bdfc803b1450520a3cbce290b39bd95bd3c SHA512 59ddc92bb9b18b6cd36b1499465e700ce9b11010e2d51cdf0a820b36efecbea1facab42ced2f61de312319f4fd4e672bb27b248d40ee0088f3b58acfd102ab61
diff --git a/dev-python/ipywidgets/ipywidgets-8.1.2.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.2.ebuild
new file mode 100644
index 000000000000..2860aa487ae4
--- /dev/null
+++ b/dev-python/ipywidgets/ipywidgets-8.1.2.ebuild
@@ -0,0 +1,61 @@
+# 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 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipywidgets.readthedocs.io/
+ https://github.com/jupyter-widgets/ipywidgets/
+ https://pypi.org/project/ipywidgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/comm-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/ipython_genutils-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/widgetsnbextension-4.0.10[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ >=dev-python/ipython-6.1.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream hack to autoconfigure ipywidgets in jupyter
+ # we don't have jupyterlab_widgets packaged
+ sed -i -e '/jupyterlab_widgets/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pypy/pypy/issues/4892
+ ipywidgets/widgets/tests/test_interaction.py::test_interact_noinspect
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/mcbootflash/Manifest b/dev-python/mcbootflash/Manifest
index a70bd3705a81..51353cae006e 100644
--- a/dev-python/mcbootflash/Manifest
+++ b/dev-python/mcbootflash/Manifest
@@ -1 +1,2 @@
DIST mcbootflash-8.0.0.tar.gz 24386 BLAKE2B f9151017131b90f01da923084f2b42103fe54ea4c6fe6a77e7ca4f52619b1527829177dc74db6166585ccb003aa3e07c702469ff1d07f5d616870f232a0e5c3c SHA512 d1c3a437ca2878a386df44ecf4df2d5aebd26cd859509e003ebdc7203eb13b9bbdc4accdc0607e170646dd7fc22526a746f77770105dd637becb09dde706527f
+DIST mcbootflash-8.0.1.tar.gz 24906 BLAKE2B 2af5c73de29aa089d33047179ce196507ab1ed1ae224b6f680341a818d8056915271b121cf1ac32f31dd5e33e095f2b82fcddf5907bdb5513a17e009ac242f7f SHA512 fc4093873bbfc0a29d2c09b2f62247dd659b4c9d531613a2a18d6b452f7a0e573b5fa087d82686045af1ba6f7811ca3ccba0f109ada71c42925e8c01faa0fe1d
diff --git a/dev-python/mcbootflash/mcbootflash-8.0.1.ebuild b/dev-python/mcbootflash/mcbootflash-8.0.1.ebuild
new file mode 100644
index 000000000000..7653ff5ad9db
--- /dev/null
+++ b/dev-python/mcbootflash/mcbootflash-8.0.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Flash firmware to devices running Microchip's 16-bit bootloader"
+HOMEPAGE="
+ https://pypi.org/project/mcbootflash/
+ https://github.com/bessman/mcbootflash/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/bincopy-20.0.0[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-reserial[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest --replay
+}
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
index 8e2072ac9b88..f36c09181c26 100644
--- a/dev-python/mysqlclient/Manifest
+++ b/dev-python/mysqlclient/Manifest
@@ -1,2 +1,3 @@
DIST mysqlclient-2.2.1.tar.gz 89966 BLAKE2B b5098ea4afe8ba720c40eda2f0f5da043622bed51a123e225530d505edfef2f02efba477238d73f343a6cc4969bf021156e15528f05a12d905ea6231e47d65bd SHA512 3ff3823cef4662268387e5c13d006595219c5a3371201eb251d84db5eec028b32fd7b672dbdac9f4dffa906fddcfc9a5ee130e3b03e4dc0cfb060411ad75eea8
DIST mysqlclient-2.2.3.tar.gz 90174 BLAKE2B 11626ac7cc93d70667cd105f77df5666f605fb16290f77ef485666e1f74b3aa47fdddaa2ea9f6b6196682f0c9772abe6c8557e01836362cc97ca6f0459716ae0 SHA512 72dd6fc351642adfa8148ff76da352233d83f8c11d8f8ad925b4a6e5d4c3dbe12e6a78d5cc1cd430b37d81d2a306c83bc5f262282f74a6c13e22cd09eeeeeaf3
+DIST mysqlclient-2.2.4.tar.gz 90400 BLAKE2B b41ed12bd8b2ea49b34d038db93e599eb05c9a910ab712fc8b7feed918f83bf3c4c8e55eac45ee944edefc26b0610b19cee9e9b76450adf9981ecc9b5fa44d85 SHA512 d1f7ba693368309a14a0982c2f1e0731617b482044afab765c8d81ea26dc6950a110c6cab48792ea1397add7b7151c756d5d22827fcce836404456f8956538a6
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.4.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.4.ebuild
new file mode 100644
index 000000000000..ee497af9f593
--- /dev/null
+++ b/dev-python/mysqlclient/mysqlclient-2.2.4.ebuild
@@ -0,0 +1,93 @@
+# 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="Python interface to MySQL"
+HOMEPAGE="
+ https://pypi.org/project/mysqlclient/
+ https://github.com/PyMySQL/mysqlclient/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-db/mysql-connector-c:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-db/mariadb[server]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ rm -r src || die
+
+ local datadir="${T}/mysql" \
+ install_log="${T}/mysqld_install.log" \
+ pidfile="${T}/mysqld.pid" \
+ socket="${T}/mysqld.sock" \
+ log="${T}/mysqld.log"
+ einfo "Creating test MySQL instance ..."
+ if ! mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${datadir}" >& "${install_log}"
+ then
+ cat "${install_log}"
+ die "Failed to create database"
+ fi
+
+ einfo "Starting test MySQL instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --pid-file="${pidfile}" \
+ --socket="${socket}" \
+ --skip-networking \
+ --datadir="${datadir}" >& "${log}" &
+
+ local i timeout=10
+ einfo "Waiting for MySQL to start for up to ${timeout} seconds ..."
+ for i in seq 1 ${timeout}; do
+ [[ -S "${socket}" ]] && break
+ sleep 1
+ done
+ if [[ ! -S "${socket}" ]]; then
+ cat "${log}"
+ die "MySQL failed to start in ${timeout} seconds"
+ fi
+
+ cat > "${T}/mysql.cnf" <<- EOF
+ [MySQLdb-tests]
+ socket = ${socket}
+ user = root
+ database = test
+ EOF
+
+ distutils-r1_src_test
+
+ einfo "Stopping test MySQL instance ..."
+ pkill -F "${pidfile}" &>/dev/null
+}
+
+python_test() {
+ local -x TESTDB="${T}/mysql.cnf"
+ epytest
+}
diff --git a/dev-python/pandas/pandas-2.2.0.ebuild b/dev-python/pandas/pandas-2.2.0.ebuild
index 1d695aceb069..3c1b8588178a 100644
--- a/dev-python/pandas/pandas-2.2.0.ebuild
+++ b/dev-python/pandas/pandas-2.2.0.ebuild
@@ -21,7 +21,7 @@ HOMEPAGE="
SLOT="0"
LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="full-support minimal test X"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pytest-reserial/Manifest b/dev-python/pytest-reserial/Manifest
index 119f6275a5f7..16540d990487 100644
--- a/dev-python/pytest-reserial/Manifest
+++ b/dev-python/pytest-reserial/Manifest
@@ -1 +1,2 @@
DIST pytest-reserial-0.2.4.tar.gz 8420 BLAKE2B 7a3ffce0ac8b598551ddea29174f545e451ebf733e6bec50eb1cad4a5ed50cf10cf9279eabe2a33fc9feaf3e442880f6fd522258ab15232e25879a5f7fce4bd9 SHA512 532070460d48e0c840c3a22993907a32d811411a4499ecf50d233c063096fa8ac44f39d5fd5f60b9afe836209c4a24b3caca9193675fdb2b76af7cd9d7fffdca
+DIST pytest_reserial-0.3.0.tar.gz 10844 BLAKE2B fb0405cfc694e52205a3655a9fb0d477632811492b006483568c7889b19c5f9b1497a5fee0c002d6acb1a8207ba90bed82db33110a457e877d66d3a888fde739 SHA512 e906044f5d4ed07d77aafc67920b348512b7b0b6bf87062667d4a7b69ac0be3ce4cc36074235bd9319bd6eee4024ddb4295e4a41b4309f350a7e1a0d1eda59d3
diff --git a/dev-python/pytest-reserial/pytest-reserial-0.3.0.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.3.0.ebuild
new file mode 100644
index 000000000000..2c8ad48baa64
--- /dev/null
+++ b/dev-python/pytest-reserial/pytest-reserial-0.3.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin for recording and replaying serial port traffic during tests"
+HOMEPAGE="
+ https://pypi.org/project/pytest-reserial/
+ https://github.com/bessman/pytest-reserial/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest
index f3709e29ce12..8ebdcb9571ba 100644
--- a/dev-python/python-lsp-server/Manifest
+++ b/dev-python/python-lsp-server/Manifest
@@ -1,2 +1 @@
DIST python-lsp-server-1.10.0.tar.gz 112917 BLAKE2B 2429e136ea2732d3bdfc2c77424a864364a7eb98bd447273d514fa53238b1ec276d46a51e558be8d959f100cd4dcfadf3a3eac996aa49b6b011babea84e8e3a8 SHA512 342452a5e3b1ae448a993f64501b2162b286f009026f1b5d306621c4befd0188699fc682206d50d06a93d8780862c8476186f8d0e4bb20592ddbbade1276445c
-DIST python-lsp-server-1.9.0.tar.gz 111176 BLAKE2B 8143e7e294e820114d2752ef2a3afe3d0494aab7a3bbc785cf543585531bdb5e7df681f446f2db7d2c05271d06fad94e6850fa0eef244c6ed5d36efeb7606597 SHA512 052ee7b9cf042afc64df34592b4daa2fb4113d78fe538a72db0426618f13ce6a453173a343b62fefeefb47ffa5a026ae0e7d029d65a5a1b235f52dd4b44c6067
diff --git a/dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild
deleted file mode 100644
index fd764abf3205..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2023 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 optfeature pypi
-
-DESCRIPTION="Python Language Server for the Language Server Protocol"
-HOMEPAGE="
- https://github.com/python-lsp/python-lsp-server/
- https://pypi.org/project/python-lsp-server/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE="all-plugins"
-
-RDEPEND="
- dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-jsonrpc-1.1.0[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- all-plugins? (
- >=dev-python/autopep8-2.0.4[${PYTHON_USEDEP}]
- >=dev-python/flake8-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-BDEPEND="
- test? (
- >=dev-python/autopep8-1.6.0[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/flake8-5.0.0[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-# Note: xdist breaks some tests
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '/addopts =/d' pyproject.toml || die
- # unpin all the deps
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by presence of pathlib2
- 'test/plugins/test_autoimport.py'
- )
- local EPYTEST_IGNORE=(
- # pydocstyle is archived upstream and broken with py3.12
- test/plugins/test_pydocstyle_lint.py
- )
-
- if [[ ${EPYTHON} == pypy3 ]] ; then
- # Not all plugins are available for pypy3
- EPYTEST_IGNORE+=(
- test/plugins/test_autoimport.py
- test/plugins/test_completion.py
- test/plugins/test_rope_rename.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8
- optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8
- optfeature "flake8 plugin: McCabe complexity checker" dev-python/mccabe
- optfeature "Python style guide checker (fka pep8)" dev-python/pycodestyle
- optfeature "Python docstring style checker" dev-python/pydocstyle
- optfeature "Passive checker for Python programs" dev-python/pyflakes
- optfeature "Python code static checker" dev-python/pylint
- optfeature "Python refactoring library" dev-python/rope
- optfeature "A formatter for Python files" dev-python/yapf
-}
diff --git a/dev-python/python-slugify/Manifest b/dev-python/python-slugify/Manifest
index 73f874b22b0b..0aee3be48acb 100644
--- a/dev-python/python-slugify/Manifest
+++ b/dev-python/python-slugify/Manifest
@@ -1,3 +1,4 @@
DIST python-slugify-8.0.1.gh.tar.gz 13574 BLAKE2B 24fe3dc74f2a867e81bfbb9eac4a1db59a185ddfaf0f2f80cb50d5f06b2061ce28d23ba09ffd214dba26563d1ef37900d016d75dde7a7c35fa756cf49f51b9c2 SHA512 721089244c90f784e49259ee70caa0908d8523c2cf42c8fd57804a73017a815311a9cc9981c1f70a8c2f7cd7e01d77eedf8f9bd3c9d5c55ac4d5f72dbe512b34
DIST python-slugify-8.0.2.gh.tar.gz 13891 BLAKE2B d05e5a5095264a6aec3692dd651f47cc4cfe2580f5bf604531c0c89199d6b350591dfe0238b9ebd025ccf5b6c6e660a75da76d679500efb942f9f9c7aaefba7d SHA512 7de28f06e8f23d46b0be3ede4f1e6fb791f95fae6c7afd94562418a34d3be6a5c4aabc2ef6a8eca353298fd12ea87c71e35e0cd4b6f17b4fee07356c4905a061
DIST python-slugify-8.0.3.gh.tar.gz 13883 BLAKE2B 0aede0b34124508754625bcf2a4131bfdd5b526424eba23ade4ce927bf6a51dd7232a25c35c19c3eb971eb1b982d39ebc1d4988c1ce2ca3f2db13acc6ce0cb22 SHA512 9dc46117c6d37446b145e11e0a4e40ae2baa9e49a122916e05926db02cf6d2c5c7dced31ac762bf5b0eb941e9dfd95c8dc753a10d6c79a78bb6567544a41321b
+DIST python-slugify-8.0.4.gh.tar.gz 14098 BLAKE2B 684061ef5f1ee96d727caeb123957709ed391c4a746ef8a40945294ae9278947c18bd8be3d51fd2d9466b420f27ce833a54b84882375617004f9909a683090a9 SHA512 b401e574f23fa77152f8c64f15263766ed7d081759e93c28fce5fa32495eb4921701030b395ca1c738ca46a509e54bc987d81ff07fa602dd42bfa630a49aa4a0
diff --git a/dev-python/python-slugify/python-slugify-8.0.4.ebuild b/dev-python/python-slugify/python-slugify-8.0.4.ebuild
new file mode 100644
index 000000000000..a77d90d6c273
--- /dev/null
+++ b/dev-python/python-slugify/python-slugify-8.0.4.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
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python Slugify application that handles Unicode"
+HOMEPAGE="
+ https://github.com/un33k/python-slugify/
+ https://pypi.org/project/python-slugify/
+"
+SRC_URI="
+ https://github.com/un33k/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/text-unidecode[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
index 40e9c788b581..cc3eb0e5e8d5 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,2 +1,3 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
DIST reportlab-4.0.9.tar.gz 3684146 BLAKE2B 1db674238d481f77c8847c56527d73ea209a66df9d520c590460b91fa118bbdeb103fa37fc6fbc23f5cb28206c9bcf1e663ad0ab3b52f003e9d72b26b630e8fd SHA512 5ae2ce70e108b84e84d88c6ba54015d390f79552bdcf40564fa803d33428ea67e7a08824a68c836475e6dfeaf75b00b56c30b81e4ec82011fdbc8978a1cfb80c
+DIST reportlab-4.1.0.tar.gz 3146958 BLAKE2B fef5ed94514685e352d3aa2a76dac7d7f20699999f073e03839d18bce5f884c3d44c6ef635e7d77b2d32707c200f3f067ebea90312642db22488597c434e2eec SHA512 998f49cdbbea0e91bc0c61f877936b0eb62130723f565548aa5ab7a01adc59d688fcf7ce69783142fb4bbec4a97d91b8b1b2495701c6eba25b1e9878d15f6625
diff --git a/dev-python/reportlab/reportlab-4.1.0.ebuild b/dev-python/reportlab/reportlab-4.1.0.ebuild
new file mode 100644
index 000000000000..caf4d9639c78
--- /dev/null
+++ b/dev-python/reportlab/reportlab-4.1.0.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/scipy/scipy-1.12.0.ebuild b/dev-python/scipy/scipy-1.12.0.ebuild
index f41a7a7625f6..dab174fac6d9 100644
--- a/dev-python/scipy/scipy-1.12.0.ebuild
+++ b/dev-python/scipy/scipy-1.12.0.ebuild
@@ -38,7 +38,7 @@ else
)"
if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
diff --git a/dev-python/segno/Manifest b/dev-python/segno/Manifest
index 4fa7ac27ff32..32096f7cfbc5 100644
--- a/dev-python/segno/Manifest
+++ b/dev-python/segno/Manifest
@@ -1 +1,2 @@
DIST segno-1.6.0.gh.tar.gz 1631834 BLAKE2B c3dec021360fefbf55c90278a2eb8e4f26beda3b0297afabe662d5a8f2dede931f6caec6b7d514d610ce5fcfe2f8053862c88e360dbe88db4829e0efc3ef8342 SHA512 15e9f97caf202e03ef8399da96137774f4a0d6bb4ef0727eb026ff3d628665d8058cb2cc5562d1c63ad1b5613fcfdfc83e79991e896ee9b73304c3b22319707e
+DIST segno-1.6.1.gh.tar.gz 1631683 BLAKE2B 3e656660c97e190d9a9576347728d9934166b84c09974309ba422ddfcd5edc2b2d99fac53f4c87d94ff21b39a88a73753583a7f98edee1acbc323e734eddbf6a SHA512 266f64cee466105851bb567254e87d45f557d00ded0bb089edeafb68a71dbf686a72217ef471a3f82e68566103599180c7391d1effad65c73a1ea3355f59d72b
diff --git a/dev-python/segno/segno-1.6.1.ebuild b/dev-python/segno/segno-1.6.1.ebuild
new file mode 100644
index 000000000000..aeb073cb2737
--- /dev/null
+++ b/dev-python/segno/segno-1.6.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python QR Code and Micro QR Code encoder"
+HOMEPAGE="
+ https://pypi.org/project/segno/
+ https://github.com/heuer/segno/
+"
+SRC_URI="
+ https://github.com/heuer/segno/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pypng[${PYTHON_USEDEP}]
+ dev-python/pyzbar[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires qrcode-artistic
+ tests/test_plugin.py::test_plugin
+)
diff --git a/dev-python/shtab/Manifest b/dev-python/shtab/Manifest
new file mode 100644
index 000000000000..6bdbc4666057
--- /dev/null
+++ b/dev-python/shtab/Manifest
@@ -0,0 +1 @@
+DIST shtab-1.6.5.tar.gz 45808 BLAKE2B 6a8bd4daa5d67c42f082e15641953365c4d6d5098bfd374f5059eeeb4e442b4d65a71039794a2f7b1b1e3826a5d6bfdc1b9edc5aa1adac4d2876fee20d084979 SHA512 09a18f98ea8d79add677e54def88b245860bf0066ad38c3d954f56a75dff598aa5fa60e0a9626b8d27d2d5aa3edce2076ba97dfdf026625a8582a256c04dacb5
diff --git a/dev-python/shtab/files/shtab-1.6.5-pyproject.patch b/dev-python/shtab/files/shtab-1.6.5-pyproject.patch
new file mode 100644
index 000000000000..b87cd7566237
--- /dev/null
+++ b/dev-python/shtab/files/shtab-1.6.5-pyproject.patch
@@ -0,0 +1,10 @@
+Set a default build-backend.
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,6 @@
+ [build-system]
+ requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4"]
++build-backend = "setuptools.build_meta"
+
+ [tool.setuptools_scm]
+ write_to = "shtab/_dist_ver.py"
diff --git a/dev-python/shtab/metadata.xml b/dev-python/shtab/metadata.xml
new file mode 100644
index 000000000000..c0f74ac187e2
--- /dev/null
+++ b/dev-python/shtab/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
+ </maintainer>
+
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/shtab/shtab-1.6.5.ebuild b/dev-python/shtab/shtab-1.6.5.ebuild
new file mode 100644
index 000000000000..91ecef59816d
--- /dev/null
+++ b/dev-python/shtab/shtab-1.6.5.ebuild
@@ -0,0 +1,30 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automagic shell tab completion for Python CLI applications"
+HOMEPAGE="
+ https://github.com/iterative/shtab
+ https://pypi.org/project/shtab/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}/${P}-pyproject.patch" )
+
+distutils_enable_tests pytest
+
+python_test() {
+ # Disable pytest-cov
+ epytest -o addopts=
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 12919702cfd1..5f290abb43b0 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -26,6 +26,7 @@ DIST sqlglot-20.7.1.tar.gz 9293277 BLAKE2B 8a7d894033122a5541f1e6bf3bc9066805fc8
DIST sqlglot-20.8.0.tar.gz 9300786 BLAKE2B 843043c4b389145a9da5f0045d8861d054f046b3f79d9f9e7025b1a4ffc10564a83b3b413766190d64c7477795252738e8c5f35dde81d07f1b5d4a6e3a3a12ee SHA512 d88bef209ff27ae2b8187c58746e6388252e693282f0dfe736eff5f1ed2a2b6322632921f3a759f2d6f304b8339abee76be638ff899d23ad13eec72d1322c062
DIST sqlglot-20.9.0.tar.gz 9323993 BLAKE2B fcd06bb5ca4520a1f67fc3f65706d1de16869efe181c9c8c5f1d71f0124501914bc5c496c3898e3efb7db29e1dee4c085939325f3e0879526fd0f076ec92da45 SHA512 1867810771d5909e5392adca25d538a316d9b7fe0f5668ec3a26371801f32230b5515595d113f58c97dbe1f844cf4b6853755810fbc9824f172743b2117a6d83
DIST sqlglot-21.0.1.tar.gz 9494272 BLAKE2B de522ca78eeeb84b849a70ff8fed63a1841c98c7e108ee362af2cf2046ea6d777cd9523846a87184d317af74a2234221e59a0ca87838dd8488e77fc5d40d464d SHA512 84891423ee86db3253a10dea3aa011ceb6513026917103a763ccbfe115ef25b40aaae37caa85566e678111bcec002dc4711d451a1c470666a3dbd84daef46edc
+DIST sqlglot-21.0.2.tar.gz 9504238 BLAKE2B 3b3f268ca46bcb0596454bab95abf6b5d61a018944eab1a45d3dec276058bfac30767a57aa687596956ac9c3f17d861b7368e0a2409df0b49b20cb0c6ff80f09 SHA512 7d8d43827de9a537c9f07e28895c42d003b8e4afbc40e5405dc01717f329a2c57b7bb2e7d079b32b83b5cc532488e35fb6297f14c9ff5d90f7a40c565e32654f
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
diff --git a/dev-python/sqlglot/sqlglot-21.0.2.ebuild b/dev-python/sqlglot/sqlglot-21.0.2.ebuild
new file mode 100644
index 000000000000..c040bab3734b
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-21.0.2.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023-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} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index dd2bf47ecc6e..622a22c5c647 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -2,3 +2,4 @@ DIST stripe-7.13.0.tar.gz 789362 BLAKE2B 326a8b0987ffc7b9bcca2c3fbff548770223a6e
DIST stripe-7.14.0.tar.gz 793052 BLAKE2B fa0cf2c57a1cc6ab2eccfa5c1882e2b0ef62d3d92b392ab23df495c93dad52b43e609c1938af4403a3d1c87d9d73b08a9536d01ca5a7f98a5caebcbaf894d5be SHA512 c40b1a3a4c5af132b30402e9f3860fd2e463e2ca263bc4a072975a744a86e3659c9499cab2ed8f10dd076bb896c2ae4d8a79d8307e2307b598ebe24728a81025
DIST stripe-8.0.0.tar.gz 1070432 BLAKE2B 9f0b605d1c2c5f58dafcc78fb3d4878406c466b92475d08510116352325f5ba6ff3dc379fbd914b25faac7ced7e3fe5f52eecabbff5c479eaaf567cdbcb6a900 SHA512 c5ed151b41e3b2b11d502d51aad7c5c575e6ff151dcab8ffd86e32b4f37eeb1a6e381380b123802af938bb2adfbdda8a71c00e9e0b68e9493469cc6a90d94185
DIST stripe-8.1.0.tar.gz 1065303 BLAKE2B be82278fa4b401c0259e5d48a4d232557cda98771254cec5dddd7ef5bcd2896e7545d9a3463c9d27da5b6df0b98ff07de292888c00c92fa51f4ebe1b04806e7b SHA512 fbc2c7d3d8da5d0ba261c38bd9371df26beab4a509c86fac6f759678fe8fb387a178bcf49b4cf4a10d44469bbac1626a0bc79d5ba99797f6fbdaa7fc5fdd34b4
+DIST stripe-8.2.0.tar.gz 1066563 BLAKE2B e622ff4bfbcf8fe97c6dad7858845b5fc863523be8777c2c99549d4e5ec6e1af77058f79c466bc4bbffaec1f7410f16e0940f145b0af9cfc0b10d6c2bcf20669 SHA512 57e538de91de380116f67cda8108edead1795a92cc39cb0025ea71b94208929d710ca6101aeeb1e8d489dca0af372d6768443dbd2631b7aadc365b6fce395e4e
diff --git a/dev-python/stripe/stripe-8.2.0.ebuild b/dev-python/stripe/stripe-8.2.0.ebuild
new file mode 100644
index 000000000000..0a616061ffd8
--- /dev/null
+++ b/dev-python/stripe/stripe-8.2.0.ebuild
@@ -0,0 +1,81 @@
+# 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="Stripe python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.181.0
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/widgetsnbextension/Manifest b/dev-python/widgetsnbextension/Manifest
index bb3742667d5f..cf2806ba4f20 100644
--- a/dev-python/widgetsnbextension/Manifest
+++ b/dev-python/widgetsnbextension/Manifest
@@ -1 +1,2 @@
+DIST widgetsnbextension-4.0.10.tar.gz 1147204 BLAKE2B 16b81a1ad6c1d527c27d1fe48952d8ad89c14c2ae7cd1f7f00eea43263f9fde481df1db18d74a8a6417c9270bd29a46c77b495b520848c4782c1d60295d5850c SHA512 0e16dc994093712851a3ad0385844fd3f807157a024dd6ce26c3f6b3953cfb01421d877363def747405c8c887a00a880dcc06664d45d142b3c548b7d67b7008d
DIST widgetsnbextension-4.0.9.tar.gz 1146830 BLAKE2B 4c4cb7aca3b8ffe45fbb00d296474ca889cc4124d9f96c618b3cc5212a119335866a0e5a246bc5ab69287b4929ce8b88a01eb176b7361d60655e5a7dc5e16df0 SHA512 0fb0949fa7dcd7846d16175541f674a3f159ae436ce5c0e4bb74dcad89d944681a9d6473a6d3282aa2525f25c5215195bad57de6b7cd9ef04c549b9f3e76c8b4
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild
new file mode 100644
index 000000000000..2ba0ebb7f8a4
--- /dev/null
+++ b/dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild
@@ -0,0 +1,30 @@
+# 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 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/widgetsnbextension/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ dev-python/jupyter-packaging[${PYTHON_USEDEP}]
+"
+
+src_install() {
+ distutils-r1_src_install
+
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}