summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-04-18 07:01:39 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-04-18 07:01:39 +0000
commit39bd2375187ef340ddb42db0a58d2acc9396d75e (patch)
tree4f895c4dcdaf67fba6cedb59fe1878d6ebb36a49 /dev-python
parentec644255f79107f962c01c2f13d351c6a7a0b146 (diff)
downloadbaldeagleos-repo-39bd2375187ef340ddb42db0a58d2acc9396d75e.tar.gz
baldeagleos-repo-39bd2375187ef340ddb42db0a58d2acc9396d75e.tar.xz
baldeagleos-repo-39bd2375187ef340ddb42db0a58d2acc9396d75e.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-24.11.0.ebuild40
-rw-r--r--dev-python/Faker/Manifest1
-rw-r--r--dev-python/apsw/Manifest1
-rw-r--r--dev-python/apsw/apsw-3.45.3.0.ebuild51
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.86.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.86.ebuild67
-rw-r--r--dev-python/hatchling/Manifest1
-rw-r--r--dev-python/hatchling/hatchling-1.24.1.ebuild92
-rw-r--r--dev-python/jq/Manifest1
-rw-r--r--dev-python/jq/jq-1.6.0-r1.ebuild46
-rw-r--r--dev-python/jq/jq-1.7.0.ebuild2
-rw-r--r--dev-python/notebook/Manifest1
-rw-r--r--dev-python/notebook/notebook-7.1.3.ebuild64
-rw-r--r--dev-python/pdm-backend/Manifest1
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.2.1.ebuild69
-rw-r--r--dev-python/peewee/Manifest1
-rw-r--r--dev-python/peewee/peewee-3.17.3.ebuild72
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-5.21.0.ebuild116
-rw-r--r--dev-python/pyaml/Manifest1
-rw-r--r--dev-python/pyaml/pyaml-24.4.0.ebuild30
-rw-r--r--dev-python/pyproject-fmt/Manifest1
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.8.0.ebuild42
-rw-r--r--dev-python/pyproject-metadata/Manifest1
-rw-r--r--dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild32
-rw-r--r--dev-python/pyside6-tools/Manifest1
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild76
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild2
-rw-r--r--dev-python/pyside6/Manifest1
-rw-r--r--dev-python/pyside6/pyside6-6.6.2-r1.ebuild248
-rw-r--r--dev-python/pyside6/pyside6-6.7.0.ebuild2
-rw-r--r--dev-python/qstylizer/Manifest1
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.3.ebuild45
-rw-r--r--dev-python/shiboken6/shiboken6-6.7.0.ebuild2
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest1
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild41
-rw-r--r--dev-python/tifffile/Manifest1
-rw-r--r--dev-python/tifffile/tifffile-2024.4.18.ebuild57
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.1.33.ebuild111
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.25.3.ebuild123
-rw-r--r--dev-python/xmlschema/Manifest1
-rw-r--r--dev-python/xmlschema/xmlschema-3.3.0.ebuild37
-rw-r--r--dev-python/xmlsec/Manifest1
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.14.ebuild61
48 files changed, 1227 insertions, 377 deletions
diff --git a/dev-python/Faker/Faker-24.11.0.ebuild b/dev-python/Faker/Faker-24.11.0.ebuild
new file mode 100644
index 000000000000..b726995539a4
--- /dev/null
+++ b/dev-python/Faker/Faker-24.11.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 068670fb5187..ad8bde575bcb 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,3 +1,4 @@
+DIST Faker-24.11.0.tar.gz 1726502 BLAKE2B 52429b5b0db4e1fd55d2a4b30ed007417f37e36fbec8d4fe43dea316920d85877668f4e66107011fef5874b74b25c1465fcfc0990ee3f40810df064622bb5373 SHA512 d5ee8c7c048d113c37b13608406d96966745ab46b095fcb30c9107a27a7af909c9d4d6bf9c7bb478ad7d0604b3cb6b33b93b0ba9e1a321c20870d651f57617a5
DIST Faker-24.4.0.tar.gz 1724351 BLAKE2B 2eeb2d660462b0f0b55aadd32768c9a5eaaf22a8036ae203dab7538b8c24f0e6fcdf08533c7737fe597dbe395a00a39c8c2d5e3a823133638a90a9ffa8d32f08 SHA512 5ea18faa39cf8506f007557b9a8c84bf2cc21d806a99991bf2fcced3d350f96daf3dd6a0a42dfdb7021b72156eb12ad84a930c669df011f39a17f4c290d08675
DIST Faker-24.8.0.tar.gz 1725365 BLAKE2B b2646766b993d946bf7965133b7484408370a2e8bed9091b713ffd427d545bb708027066b6787a78cd675659b4d342ac86c9f611aecfb7df3d0565a8066925f0 SHA512 d8fe7e411052bec485b40540317c88ff5aeae8a32ef2e53214816b190d4730c9f5af9157ac2c66aba5fbc887e995d0238f71deefdcf67300e49586c7995b60ff
DIST Faker-24.9.0.tar.gz 1725521 BLAKE2B 30486824e1e9a33cb9bf018ebbe9845c65c5fbb797fd75c0798f854c487b5e02b30fad83dd1f94ef4650e5e6ec981ef3318e1b3ec7cc64169e2b3fb7f90a42d8 SHA512 18fb6970c90c1048fcfcc9bb3f557eb21374b9e0f128833ac32ad281019059d8a8a3a05a276b72d38bd9bd6315cf0846d7f8111f054191dae1149cdcaf08187d
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index 3400d17ff13a..3902103028fa 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,2 +1,3 @@
DIST apsw-3.45.1.0.gh.tar.gz 904083 BLAKE2B 4cf397557bfe36e38fd48d124345de395b77a8dd313ebd77f97624d873123d5ecd82e56b6e134849e00a77f94b0c3ee2fa0cfc888b8fbbddc34b99b3274b8dc8 SHA512 5d754c45881db9e299c70bd0c290211f7e30421da258b25b5aa0d8b3c97a10622f0b75735fc84d687f78403fc257139ffc249d926be611a4101b98caf3c60a3a
DIST apsw-3.45.2.0.gh.tar.gz 904263 BLAKE2B 4071e2dc24a304f4f08cefc87cce27d617cab8f2699d134134b2c0c2618422139ebdd38dfafcb17e8a6c515fe5e799d6d827ef5099af23cf628f26c18764aa0a SHA512 864cde25cfd15e3cbddbf1df80dbd861e93c2e8ea458a9f16d0ff4a8ecaf17721321f08bf7ab0659c0a18845be5bcc879b6708175ed971b263a0f274c08b05b9
+DIST apsw-3.45.3.0.gh.tar.gz 904570 BLAKE2B 644c884b6f5624c2d8b48f204a43bbb6dd8761979099e1ebad96a30acc7d79f80549e50300279b8d1061f86f8852735fa92c99df4a6c81a364391a3635464ff1 SHA512 73c09aba4ff211e98dfb3365e5f0202f85fa0a05e78f6a35fe08515e84b74ed1576e7bb5c46c77c309ba3e6acacc5681d31e5a4d3d66835d347d82af8feced74
diff --git a/dev-python/apsw/apsw-3.45.3.0.ebuild b/dev-python/apsw/apsw-3.45.3.0.ebuild
new file mode 100644
index 000000000000..cd1426156f2e
--- /dev/null
+++ b/dev-python/apsw/apsw-3.45.3.0.ebuild
@@ -0,0 +1,51 @@
+# 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
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="
+ https://github.com/rogerbinns/apsw/
+ https://pypi.org/project/apsw/
+"
+SRC_URI="
+ https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ >=dev-db/sqlite-${PV%.*}:3
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ enable=load_extension
+ use_system_sqlite_config=True
+ EOF
+}
+
+python_test() {
+ esetup.py build_test_extension
+ cd "${T}" || die
+ "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index e59ed490b18c..1563a62fa4a1 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.34.74.gh.tar.gz 790202 BLAKE2B 4368db3e11d6bda6eee4ccde82bcc0c2c5a6
DIST boto3-1.34.79.gh.tar.gz 792796 BLAKE2B 97a4f8e6fc33bcfe2817ce353df8ff6354bc89c449e5e29833704e12513aa21129863164c51047b17c7f15a47f0ceb90c60a83071464283292089b2535e8fed9 SHA512 15161face918253eac06dfbeb67adb8ef5ed6902b2eed760feb9fdd3aee0e38da3511aa7d829914b6f80addff7feffae7d3645f7567643a37d3659001d7b6a1a
DIST boto3-1.34.84.gh.tar.gz 796658 BLAKE2B 76ad7997f92167f1ed2f14a0a780a1a58b4a853ea132ca38797a228382ad8f55264dfaee99ebf6f8e2bea1848ec918f7b3b0943d0bb6a81b3b858e729b2e74c4 SHA512 55988d7ba69a46b986ed2cffd46b37a154baaa3a73ce62d9ee5b4b8b6f8987f714034ae4f3e59ed9907920216eaf8b18edea4c0fbac99037979b8b30e3b71133
DIST boto3-1.34.85.gh.tar.gz 797539 BLAKE2B b958d009a7acdd541306f41f8708951ed1bf3d303d5e3b3453307415ddc8cf6f6d3c7ed464f350d1a36646729095b1684a865f5982d2ae9b3d7facf596c8b579 SHA512 91295f89896a705c3cbb941fa55e8d227b12dc28290ca15a31ebf60e936ea805233d7b14c6097c9757f6c7ff310159bcc1f2a2e46227d98b6d04adf9c6d44a33
+DIST boto3-1.34.86.gh.tar.gz 797728 BLAKE2B e0ff81aab27782e69e69dedf1ef227d6539f4253df6e9e7f0daa9d3d033a646c359df2a9aa49192350f43ba852384220379e794a3c89f368224bee28b292d371 SHA512 7303cbf0a49d2ec085e5a0798f658c799e1ffd02cf3387ab13ccc403c152009184ee71f73b07bcd6a166b686c530aadd8cd77644eb0c72b517910d2a332959fc
diff --git a/dev-python/boto3/boto3-1.34.86.ebuild b/dev-python/boto3/boto3-1.34.86.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.86.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{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}]
+"
+
+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 4fadf8a88865..912c66949e6b 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.34.74.gh.tar.gz 12820469 BLAKE2B e9d7a35e82aee30666952ea6f74d8d0
DIST botocore-1.34.79.gh.tar.gz 12882231 BLAKE2B 56d7d2a1046a164f4f64f375f608b8646e0f7c266b1c7ab37ff7141fd8d8d843ce2890b0a947f051956f61fb2cfc75c2eb3b3cf70305de4ba9ce2e18d8569ded SHA512 00717ad582e23e1c4f4d803eea2069224fc69c6e701d6b4a55d0d99806cebfb1e2c45c7eb65464b84e0cc63399a7b6235b90ba9245e27fe435eca6079b5c29aa
DIST botocore-1.34.84.gh.tar.gz 12910232 BLAKE2B 3a9f9073e34d203f05ae44f9dc437f4d325084dbe858e59008a7b0c826c53d6e9a1911f6e9203aa476787878de88a1d8a9c1e26cedc3c34bebf6739c9bb10fce SHA512 247578e628e5ea57cfb956a10c0975d7a2caa24617e8572f90ca2a0286c75077a732328cb2dde34c937113d288c4a8a346adc074aae14dcebfa16c309d801a31
DIST botocore-1.34.85.gh.tar.gz 12919998 BLAKE2B 3c23623bc37f2b2b725b3187faad5860b0e8fe6cd6295503ae2abf45e83a7393fa0613400052a668c7c2781f2ce76b8b1bc725a268020b45df62aaaef317e25c SHA512 797b097a99709d04d294f15ea89039567ceecea1ce16439eda31a659cc2b195d2aca79b9b1be264285f917569127b8ccdfe72d37b174d67fb562dbcf0ba081c0
+DIST botocore-1.34.86.gh.tar.gz 12921497 BLAKE2B c1ef844adcfffa3a2d03a237ee988efbf57271b907b0aa77300ba063952c3c5861f144fc766f6735be79d7e302bdc9c951566ca6a54f925269de535902e436d3 SHA512 7f9049b89e4635b313f60cb376a33363f841118516d740f3e0476b435ee46760a188c78e144500f7c2da8ec50974b1d584a389adf47445ec545729f571455ac9
diff --git a/dev-python/botocore/botocore-1.34.86.ebuild b/dev-python/botocore/botocore-1.34.86.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.86.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/hatchling/Manifest b/dev-python/hatchling/Manifest
index 6a3418c585bf..1553bbd52bd4 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -2,3 +2,4 @@ DIST hatch-hatchling-v1.21.1.gh.tar.gz 774577 BLAKE2B 31e2b50598b4fe120ecea407a3
DIST hatch-hatchling-v1.22.5.gh.tar.gz 782757 BLAKE2B 3431ef7c4e5f0754e51507e29d88ed0277b530d220eb75bdeab459d88172ba51de3cf2456074fa88483cc89e72726f3e147b97e995f9ccaf699b6c2699776a8c SHA512 d4e77872e34e3aba3fce286f911861b795005c37550a2ca72a83216cea67d53be891afc8861b11582c66d38748f9c8d4980548d216c0fb21b2b4e1cadc314e58
DIST hatch-hatchling-v1.23.0.gh.tar.gz 802345 BLAKE2B 571ae18bda737acf05bd830c4d835b2c785a595844cefbed030383e9ede166b0cd8bba2d7a6e0a4c7b504be825fbca4fa89861e9ae265e9a24bc756025da8d07 SHA512 ed504577d856e42b46ab861972cfb1c47589ae85887c2fc0aa78ded7a2f1cc8eaef796b9331d4ff853a86b6d808080b15d11943775c600c5d10b191ae65cb400
DIST hatch-hatchling-v1.24.0.gh.tar.gz 802778 BLAKE2B d2dc29c551767cf090588533c47d936aeb38cda14154edc1a78496d0dbad3aecab3869e1f8e877c71a798f4a7ad2c853550ab2d7b9748e4d7f6c37e58811bfe8 SHA512 466748bff35acf7556cad6ee42ad2767c1a52734e1de9ac7b60867714e1707f508c27bcc5573100d68ace950aa9e42122235e439d5ea0ff0b713fa713ef503c6
+DIST hatch-hatchling-v1.24.1.gh.tar.gz 803276 BLAKE2B 61966dbc170ef2b130ae49f78e9c99f81eedc69f6d7f30b28c48be8a2d6aa17f128ca08adc3740c3dead0da30581208b967a3b8e02fd5d3f3f46ab9be1813460 SHA512 47c6f93072f82b15c56eb61b342cde44bb34cc23b89ac426120215ae71ea956380a1a66d12a70a11088df921c0df31a448bb40953e2e3bb32c74ed34a94b9640
diff --git a/dev-python/hatchling/hatchling-1.24.1.ebuild b/dev-python/hatchling/hatchling-1.24.1.ebuild
new file mode 100644
index 000000000000..bcffd69fd58f
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.24.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1
+
+TAG=${P/-/-v}
+MY_P=hatch-${TAG}
+DESCRIPTION="Modern, extensible Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/hatchling/
+ https://github.com/pypa/hatch/
+"
+SRC_URI="
+ https://github.com/pypa/hatch/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/backend
+
+LICENSE="MIT"
+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"
+
+# deps are listed in backend/src/hatchling/ouroboros.py
+# editables are optional but required for editable installs
+RDEPEND="
+ >=dev-python/editables-0.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# always depend on the newest version available, at least until upstream
+# stops treating unknown classifiers as a fatal error
+# https://github.com/pypa/hatch/issues/1368
+RDEPEND+="
+ >=dev-python/trove-classifiers-2024.3.25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x EPYTEST_DESELECT=(
+ # these run pip to install stuff
+ tests/backend/dep/test_core.py::test_dependency_found
+ tests/backend/dep/test_core.py::test_extra_met
+ tests/backend/dep/test_core.py::test_extra_no_dependencies
+ tests/backend/dep/test_core.py::test_extra_unmet
+ tests/backend/dep/test_core.py::test_unknown_extra
+ tests/backend/dep/test_core.py::test_version_unmet
+ # broken if CARGO is set
+ tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo
+ )
+
+ # top-level "tests" directory contains tests both for hatch
+ # and hatchling
+ cd "${WORKDIR}/${MY_P}" || die
+ local -x PYTHONPATH="src:${PYTHONPATH}"
+ # sigh; standalone test suites are overrated, right?
+ echo "__version__ = '${PV}'" > src/hatch/_version.py || die
+ # tests mock cargo subprocess call but the backend raises if CARGO
+ # is not set and shutil.which() can't find it
+ local -x CARGO=cargo
+ epytest tests/backend
+}
diff --git a/dev-python/jq/Manifest b/dev-python/jq/Manifest
index 6ec16716199d..df3fd7230d38 100644
--- a/dev-python/jq/Manifest
+++ b/dev-python/jq/Manifest
@@ -1,2 +1 @@
-DIST jq.py-1.6.0.gh.tar.gz 2842673 BLAKE2B 5ef2d2c6641483123b030c508b04e8f1574a5ca3168a2bacfd7c5a4ad01344d677f723cc3317677275496bd56412c5ab64370ed87b70dcb91dd1d8328daf65a8 SHA512 91e2c0890cece4f09e362c0ae691c768be64ba0d8e0d7441c9a459be37ff70ee816d179c21759ee053b2b434fc0a6998d90b660ae1f1456d4f506474cb80d88e
DIST jq.py-1.7.0.gh.tar.gz 1953673 BLAKE2B 861dcb706ef801ff3abb47a6b85fb8aad03988c717a67063d737667ce6853c89dbe10bf61dac517701b8b3e3af6b97d12a15ed03aa0d5a6e6d0d3fa2697e9284 SHA512 918e4537eacf55d0cce888b1946b13acb6d177906d704c99e0b1cc88a55a2929fbeccef7d3fa61daaf0290a97afec581d23a641bdbfc0c700744422135fbcad6
diff --git a/dev-python/jq/jq-1.6.0-r1.ebuild b/dev-python/jq/jq-1.6.0-r1.ebuild
deleted file mode 100644
index 5e0573c755fe..000000000000
--- a/dev-python/jq/jq-1.6.0-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021-2023 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
-
-MY_P="jq.py-${PV}"
-DESCRIPTION="Python bindings for jq"
-HOMEPAGE="
- https://github.com/mwilliamson/jq.py/
- https://pypi.org/project/jq/
-"
-SRC_URI="
- https://github.com/mwilliamson/jq.py/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Minimum versions of jq + onigurama are from setup.py's bundled versions
-RDEPEND="
- >=app-misc/jq-1.7:=
- >=dev-libs/oniguruma-6.9.8:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x JQPY_USE_SYSTEM_LIBS=1
-
- # Cython compilation isn't part of setup.py, so do it manually
- "${EPYTHON}" -m cython -3 jq.pyx -o jq.c || die
- distutils-r1_python_compile
-}
diff --git a/dev-python/jq/jq-1.7.0.ebuild b/dev-python/jq/jq-1.7.0.ebuild
index 0b793b6e4ac7..16cecca4a128 100644
--- a/dev-python/jq/jq-1.7.0.ebuild
+++ b/dev-python/jq/jq-1.7.0.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
# Minimum versions of jq + onigurama are from setup.py's bundled versions
DEPEND="
diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest
index 5e360b210188..78e4b2f22c3a 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1 +1,2 @@
DIST notebook-7.1.2.tar.gz 4897634 BLAKE2B c505534f847e58ae40b942a2a4da5105ab60cc81de87d97dd685f63db93af453fcc091d9d488ce73be690e76f5a94497c2bfcc318afbf233440b231eeb8c02e5 SHA512 0319f96d656dab8dd581207b1b396252025618041f5c33c6c36fd66bcb10e3f678869705fcdaa667eea2d9778d969db56e366e6ea260122167903ce372aee3ea
+DIST notebook-7.1.3.tar.gz 4897695 BLAKE2B ed43c72cf9cc3a9c96e71aa62a2079f2fcd7f6eed3469794a78673eeb0afb8bf2cabd3c3f1f9cfed7270ff02d78c6ba10cbc3785cfac82cac5083b8c8194cfc7 SHA512 596a35b718c222f960023f31c9a3c85661622d7aaa901abb81569dc465cfaf5aba137caa1c046b7b18d5e6b5ed59e0bc3849b03e74c3e45f7344adcfdb95f594
diff --git a/dev-python/notebook/notebook-7.1.3.ebuild b/dev-python/notebook/notebook-7.1.3.ebuild
new file mode 100644
index 000000000000..8dbbf7369a10
--- /dev/null
+++ b/dev-python/notebook/notebook-7.1.3.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=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi xdg-utils
+
+DESCRIPTION="Jupyter Interactive Notebook"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/notebook/
+ https://pypi.org/project/notebook/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.1.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.2[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.22.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ <dev-python/notebook-shim-0.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/nbval[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
index 5bcdd73ed2a5..77caecf2f006 100644
--- a/dev-python/pdm-backend/Manifest
+++ b/dev-python/pdm-backend/Manifest
@@ -1,2 +1,3 @@
DIST pdm-backend-2.1.8.gh.tar.gz 134738 BLAKE2B 5baf6db7193f27de5aa89e41852c714de7d2aa7fd9f75de9b1f1ebd455052bc9d9d47d95dbbed3436e9e9dae79c9a1d0ec54d71a4437036869de38aa035f0642 SHA512 975dad24d128a01b5484f62aece3b209eb3dddf3800c75e422ed1dd0d4cbe15ce60a155d6ed0cec4104eef47cad822e56a2379c877e3f5c8c719dfa86d8800c7
DIST pdm-backend-2.2.0.gh.tar.gz 135965 BLAKE2B 7e4bfd68fb882caf91c0d7fe4164de9cb37b31ca158b25398a9c129edae42ad8a8ee811fd6819bda861b1412a44ea6c88b2b806b92b2a7bfaf531e947461be58 SHA512 8126b15852c25c27a70f6c39f9067b8617226648578f270c08f8030c2a9c181eb1a9162e17dc9d57a90268c2aad3f02120eb47bc8df674de1060e9de30a05e12
+DIST pdm-backend-2.2.1.gh.tar.gz 136401 BLAKE2B 4d761a689f8e3ff5e5cb300d4a2aa76a3ebd7663e0fa34a5d4a1b7ad26ada07e2d8c128b66549cafaa2d86f714db20b925dd4081226c87ecb8e09c4ee7f1c6dd SHA512 f10048492e33fcf68b94cd24e4e5091b54adb7a848dbf2160b5a8a88e3aac2af8c15a421e4dda8ed14eb9d8e4d6830c5aaace3ec67038786f11d2c37f51ae607
diff --git a/dev-python/pdm-backend/pdm-backend-2.2.1.ebuild b/dev-python/pdm-backend/pdm-backend-2.2.1.ebuild
new file mode 100644
index 000000000000..af801fb38915
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.2.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-backend/
+ https://github.com/pdm-project/pdm-backend/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # this must not be set during src_test()
+ local -x PDM_BUILD_SCM_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
index 107741c26da1..0f6692c30f2e 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1,2 +1,3 @@
DIST peewee-3.17.1.gh.tar.gz 918980 BLAKE2B 192bdb4c8ba40c0d65f8182c4d87b6917d7758a8017977144b3455a0abdc96e6dfc2299cb9dfb967092c2619666816886b2f1fc163ee1e0607fb6ddfb6f2ae75 SHA512 7b3515949f862c96c9509edf2b1e7c8fc4947f3371421c5df8ca066f8456000471b0c2af8b906c9d826ea3bdc187b4e8676299b328160bda91ffd7f5a1b95435
DIST peewee-3.17.2.gh.tar.gz 926852 BLAKE2B e40b049858f693d558e15c63d5bd4d7ad7978769d620f5e744df73d412f6d210c4f3bfa3c99cda9484730a3818e9ac0332131ecdc37224fdeb0ebb22100bfd21 SHA512 eaf495523170400e97416a4c3c6632f722648224f45aeba4ecc486e502324c4947fc0422acb0ba2bc8941c58b2ea920c5f48778e9d9af77aaf795035785dea01
+DIST peewee-3.17.3.gh.tar.gz 926892 BLAKE2B e5d378da37f7fda74c75d3c3998e3fae79e9b8c7d66ca5a17e76a7b855c9d7ae159b4eedb97f68c9ec13cf00f2268f425b36273e7b09fbd001364e748d13bc95 SHA512 d7d0c716c1b6600275c151894ea8738c3393e554627ae4d8cf0d52548be99cfaf31e5553f51762cedc7f9e66a779ddef60d305a3797e3db71ac1a2178bb45468
diff --git a/dev-python/peewee/peewee-3.17.3.ebuild b/dev-python/peewee/peewee-3.17.3.ebuild
new file mode 100644
index 000000000000..e1bea70555cd
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.3.ebuild
@@ -0,0 +1,72 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index eb88202875b3..6dbe1a238680 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1,3 @@
DIST plotly.py-5.19.0.gh.tar.gz 30892237 BLAKE2B ef93c54bdc40a5f25448a7e68dc40b3642c8be60945edc39e3e590eb97973896cb0df54cd8ea9928a2553d50de1bf17997b41947711baaedce075e31709581ce SHA512 a97f5d130fd56b49087e7b10c34cfe2aa21f00afd1f252215f7cec2215d9031f5f6204a6445ea7a69d7aed0c6838b3d76f981c076af93fa9406ff37a0020e4e7
DIST plotly.py-5.20.0.gh.tar.gz 30896587 BLAKE2B ef8deee791b8fdc94dcd3dae1189fc04569d9156593f13bd44715bc4f7b2846642eab19a1bb6084647ed15b1c961ffb207f19369f94cbba3e999e970c0b7cfe7 SHA512 db73334bf32fcd54f717aa0e04378278045fabba3824d645e4e289cfd559655141f350624196d8e55d988befc27a4a64d741b11a84925969aadc720c6c15bee3
+DIST plotly.py-5.21.0.gh.tar.gz 30912188 BLAKE2B 2c193cad821a94a58d3c72ade06f8cc752d7490290a9abd44733ca80c38fcf1af94af0d5f76b80f1542e959dd2d8fa02752cebf8aa9ea28abd1a568073683c14 SHA512 38841fae844452550004fd22126c12c19fa65dae8985e8449eb5ff5be53dcb04a20658afc13a675c6086db2c623e0902e4138cd28f3b4c9d0a9a0013c1465c13
diff --git a/dev-python/plotly/plotly-5.21.0.ebuild b/dev-python/plotly/plotly-5.21.0.ebuild
new file mode 100644
index 000000000000..0743316bfec9
--- /dev/null
+++ b/dev-python/plotly/plotly-5.21.0.ebuild
@@ -0,0 +1,116 @@
+# 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} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/python/plotly"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ dev-python/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+# README ends up a broken symlink
+DOCS=()
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
+)
+
+EPYTEST_IGNORE=(
+ # Needs porting to newer numpy
+ _plotly_utils/tests/validators/test_integer_validator.py
+
+ # kaleido not packaged
+ plotly/tests/test_optional/test_kaleido
+
+ # plotly-orca not packaged
+ plotly/tests/test_orca
+)
+
+EPYTEST_DESELECT=(
+ # Also needs porting to newer numpy
+ plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
+
+ # kaleido not packaged
+ plotly/tests/test_orca/test_to_image.py::test_bytesio
+
+ # Fails if not already installed
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # Minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # In python 3.11 the produced error is slightly different
+ plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
+
+ # TODO
+ plotly/tests/test_io/test_to_from_plotly_json.py
+
+ # two subtests that require 'vaex' and 'polars' respectively
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
+)
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv "${ED}"/{usr/etc,etc} || die
+}
diff --git a/dev-python/pyaml/Manifest b/dev-python/pyaml/Manifest
index 4def23845efb..2211a7e490fa 100644
--- a/dev-python/pyaml/Manifest
+++ b/dev-python/pyaml/Manifest
@@ -1 +1,2 @@
DIST pyaml-23.12.0.tar.gz 26308 BLAKE2B 89dad4c3b2a39179389c1b2e5ea6e3d93292c86f7fe5c1b55cc136f9b5a68cf7a86c6fb75a2fe44408738e53615c0062bb72511e605a8713d4381a7dff02f8fa SHA512 f1f03baf2b0a469ffbe7d6eea806cf7623a28c96221bc710873d548d8f416160bf566f44a3a42ca3572085834889e1dd394fc9bdeefe14fe23177b61573df12c
+DIST pyaml-24.4.0.tar.gz 27204 BLAKE2B f0f7c43ffdfd648945bfb20c589ab3e48000ac98a602192ba75fd1a611e12877bbc848f79b070864ac10f59b9c1796d89f35521314e827c5a7951995de86a657 SHA512 d2c1ae1f29f61d210cb822c2c1b3fa3ace81a4b863c7dfec5d75c5418537256828ee54ca545edc9ce30995ba272dfd064f7ed6009dae00910a081ffc0270546e
diff --git a/dev-python/pyaml/pyaml-24.4.0.ebuild b/dev-python/pyaml/pyaml-24.4.0.ebuild
new file mode 100644
index 000000000000..e111187e313e
--- /dev/null
+++ b/dev-python/pyaml/pyaml-24.4.0.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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="
+ https://github.com/mk-fg/pretty-yaml/
+ https://pypi.org/project/pyaml/
+"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index 4c68b0917d36..051119c5c126 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -1 +1,2 @@
DIST pyproject_fmt-1.7.0.tar.gz 16358 BLAKE2B 944ca460a002caebb98d06588bc89d8cd5c041f7ced200afc9748c6c47f6641dc1e3857cb426c13fc7a1f65738c9d2cbd5d0a575b11e9897be4875d3aff86316 SHA512 f69ade0e9b617a5ccf59b401220cbc95dcae006eb64ff92380ad5f0df598f5f7e8283d96666ffbdd4d2f9acc900923795c2a11496eda8842bcf1d8d1c9113bf8
+DIST pyproject_fmt-1.8.0.tar.gz 16696 BLAKE2B 1614fd6da4bb7be818825138b69b826b7141ae0fcada4414daa54b1c883ec3bbdbe95377155869d0c393b1b9646b69ebb009fe47f1c530b1f1c9f02c8ba8f57d SHA512 0731ffbe514cf8788bf1cfcca506591fefce3b98b1c6d014a8e17825ab6c73edc4ad8e7214cd8f6fc9124ed2ff362d03b328d47e96a6246165b4dd9fdd68299f
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-1.8.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.8.0.ebuild
new file mode 100644
index 000000000000..d98f024c343f
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-1.8.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/pyproject-metadata/Manifest b/dev-python/pyproject-metadata/Manifest
index e25aa03172a9..83144fe4067d 100644
--- a/dev-python/pyproject-metadata/Manifest
+++ b/dev-python/pyproject-metadata/Manifest
@@ -1,3 +1,4 @@
DIST pyproject-metadata-0.7.1.gh.tar.gz 14138 BLAKE2B 901e0b0b07d035ee220cfdba840a2b05ec1b1dfa3184ab614621c462b049bdbe484aa2d9abc42a54964c163d360028a00ff1db2c502504d11fb6d2837bd60552 SHA512 a4cb97b6646b765016f047f8d3da388ab758dbf8acf5a8ee6ccb017c764a90c069e04effbef21f878be7f4b01a5090f24252372300ce7e3a0410a6eea5d98b66
+DIST pyproject_metadata-0.8.0.tar.gz 14862 BLAKE2B 03c9a7fc9c53c56b27ea5c72789db10aa045d239c81bf30e926c0ed44d6b61028a27c4dbe02a40eb4ae7ce4a93efb24c63dd4b66f2e98f185fc68d96e96c350a SHA512 e3ec79bcb066fd952a7e88b62534775746b20a52b9952a303e80466c465e394264b8984ca30a1461cd8437334ae7b1a299be7d8036e99e3dcf59828d70650442
DIST pyproject_metadata-0.8.0rc1.tar.gz 14781 BLAKE2B 38489f2b927ac3e65221be56b76dc8742c366776e26edddb29b7dd3e916d6ff342a6e48ac32a1718aecd81b1661cde8dac2c3f474d0de7780b77808c4927ef23 SHA512 d7280eb3537a6a497f09b75edd1c1fe2be8f1d8e0f7289c880e6b73020e73f1b7a8999e9787d88373dbe553d3b5fca054f06a1fac3651c25100bf83b367ec390
DIST pyproject_metadata-0.8.0rc2.tar.gz 14865 BLAKE2B cba92b62020ac139f71cb5cec60f50153ce10ff4d3c3d1609a41881dc26036c2b0df51bbd77ed732e820ef42ea03d1a9f0d3d8f299b06cdbdf13ebfbc935eb0f SHA512 7c11f089e6061d7f75dde27ba04695d363f1ed2063e8b11ac508c3b587e76a5b4c50aa4ebbfdf9ab524b75986edb1562ed27526c352eba54c5981e70c165fa0d
diff --git a/dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild
new file mode 100644
index 000000000000..9a56920ce2c2
--- /dev/null
+++ b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-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 pypi
+
+DESCRIPTION="PEP 621 metadata parsing"
+HOMEPAGE="
+ https://github.com/pypa/pyproject-metadata/
+ https://pypi.org/project/pyproject-metadata/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/packaging-19[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index c66692a09951..be987c7433ba 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-everywhere-src-6.6.2.tar.xz 13975896 BLAKE2B b4572e58613e5446692e8c4cef28156fd0126ecda0c6334652ce49c6c7ce4614dbf2400c693addaa38e9b6cca9e331b9fe84c83ddb26e7014b8603afe2c54ad6 SHA512 1d23d27a4cbe74434ec5d391172416d324b4c92181401444821b456b4e27dabbdb3dcaad685a22b62c09f750555a4e626bbb6406a2fbde1cf4ec5c8bbb64cda5
DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild
deleted file mode 100644
index 69a33589d002..000000000000
--- a/dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-LLVM_COMPAT=( {15..17} )
-
-inherit cmake llvm-r1 python-r1
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside-tools"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
- ~dev-python/pyside6-${PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}]
-"
-DEPEND="${RDEPEND}
- $(llvm_gen_dep '
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
-"
-
-src_prepare() {
- cmake_src_prepare
-
- python_copy_sources
-}
-
-src_configure() {
- pyside-tools_configure() {
- local mycmakeargs=(
- # If this is enabled cmake just makes copies of /lib64/qt6/bin/*
- -DNO_QT_TOOLS=yes
- )
- cmake_src_configure
- }
-
- python_foreach_impl pyside-tools_configure
-}
-
-src_compile() {
- pyside-tools_compile() {
- cmake_src_compile
- }
-
- python_foreach_impl pyside-tools_compile
-}
-
-src_install() {
- pyside-tools_install() {
- # This replicates the contents of the PySide6 pypi wheel
- DESTDIR="${BUILD_DIR}" cmake_build install
- cp __init__.py "${BUILD_DIR}/usr/bin" || die
- rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die
- python_moduleinto PySide6/scripts
- python_domodule "${BUILD_DIR}/usr/bin/."
- }
-
- python_foreach_impl pyside-tools_install
-
- einstalldocs
-}
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild
index 56682d930591..a338dfec3d74 100644
--- a/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild
+++ b/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside-tools"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest
index c66692a09951..be987c7433ba 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-everywhere-src-6.6.2.tar.xz 13975896 BLAKE2B b4572e58613e5446692e8c4cef28156fd0126ecda0c6334652ce49c6c7ce4614dbf2400c693addaa38e9b6cca9e331b9fe84c83ddb26e7014b8603afe2c54ad6 SHA512 1d23d27a4cbe74434ec5d391172416d324b4c92181401444821b456b4e27dabbdb3dcaad685a22b62c09f750555a4e626bbb6406a2fbde1cf4ec5c8bbb64cda5
DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
diff --git a/dev-python/pyside6/pyside6-6.6.2-r1.ebuild b/dev-python/pyside6/pyside6-6.6.2-r1.ebuild
deleted file mode 100644
index d7bddd609288..000000000000
--- a/dev-python/pyside6/pyside6-6.6.2-r1.ebuild
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-LLVM_COMPAT=( {15..17} )
-
-inherit cmake llvm-r1 python-r1 virtualx
-
-# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
-# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
-# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
-# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
-# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
-# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
-# that the "PySide6/QtGui/CMakeLists.txt" and
-# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
-# testing whether the "Qt5::Gui" list property defined by
-# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
-# time contains the substring "opengles2". Since cmake does not permit
-# properties to be overridden from the command line, these files must instead
-# be conditionally patched to avoid these tests. An issue should be filed with
-# upstream requesting a CLI-settable variable to control this.
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside6"
-
-# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details.
-# Shall we allow essential modules to be disabled? They are:
-# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
-# x11extras (for X)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="
- 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location
- multimedia +network network-auth nfc positioning +opengl pdfium positioning
- +printsupport qml quick quick3d serialport scxml sensors spatialaudio speech
- +sql svg test +testlib webchannel webengine websockets +widgets +xml
-"
-
-# Manually reextract these requirements on version bumps by running the
-# following one-liner from within "${S}":
-# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
-# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- 3d? ( gui network )
- charts? ( gui widgets )
- designer? ( widgets )
- gles2-only? ( gui )
- gui? ( dbus opengl )
- help? ( network sql widgets )
- location? ( gui network positioning quick )
- multimedia? ( gui network )
- network-auth? ( network )
- opengl? ( gui )
- pdfium? ( gui )
- printsupport? ( widgets )
- qml? ( network )
- quick? ( gui network opengl qml )
- quick3d? ( gui network opengl qml quick )
- spatialaudio? ( multimedia )
- speech? ( multimedia )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( widgets )
- webchannel? ( qml )
- webengine? ( network gui printsupport quick webchannel )
- websockets? ( network )
- widgets? ( gui )
-"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:6"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
- =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
- 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
- bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
- charts? ( =dev-qt/qtcharts-${QT_PV} )
- designer? ( =dev-qt/qttools-${QT_PV}[designer] )
- gui? (
- =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
- x11-libs/libxkbcommon
- )
- help? ( =dev-qt/qttools-${QT_PV}[assistant] )
- location? ( =dev-qt/qtlocation-${QT_PV} )
- multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
- network? ( =dev-qt/qtbase-${QT_PV}[ssl] )
- network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
- nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
- pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
- positioning? ( =dev-qt/qtpositioning-${QT_PV} )
- printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
- qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
- scxml? ( =dev-qt/qtscxml-${QT_PV} )
- sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
- speech? ( =dev-qt/qtspeech-${QT_PV} )
- serialport? ( =dev-qt/qtserialport-${QT_PV} )
- svg? ( =dev-qt/qtsvg-${QT_PV} )
- testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
- webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
- webengine? ( || (
- =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
- =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
- )
- )
- websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
-"
-DEPEND="${RDEPEND}
- $(llvm_gen_dep '
- sys-devel/clang:${LLVM_SLOT}
- sys-devel/llvm:${LLVM_SLOT}
- ')
- test? ( =dev-qt/qtbase-${QT_PV}[gui] )
-"
-# testlib is toggled by the gui flag on qtbase
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
- # References files not present in our dev-qt/qtbase
- "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch"
-)
-
-src_configure() {
- # See collect_module_if_found macros in PySideHelpers.cmake
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d)
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
- # try to avoid pre-stripping
- -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
- -DQFP_NO_STRIP=yes
-
- )
-
- pyside6_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
- -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
- )
- cmake_src_configure
- }
- python_foreach_impl pyside6_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- local -x PYTHONDONTWRITEBYTECODE
- python_foreach_impl virtx cmake_src_test
-}
-
-src_install() {
- pyside6_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
- # file for the current Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
- "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
-
- # Uniquify the PySide6 pkgconfig file for the current Python target,
- # preserving an unversioned "pyside6.pc" file arbitrarily associated
- # with the last Python target. (See the previously linked issue.)
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl pyside6_install
-
- # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., pyside6-tools) to target one
- # "libpyside6-*.so" library linked to one Python interpreter. See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
-}
diff --git a/dev-python/pyside6/pyside6-6.7.0.ebuild b/dev-python/pyside6/pyside6-6.7.0.ebuild
index bd45bf70fdbb..9e64a5f3397b 100644
--- a/dev-python/pyside6/pyside6-6.7.0.ebuild
+++ b/dev-python/pyside6/pyside6-6.7.0.ebuild
@@ -39,7 +39,7 @@ S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside6"
# x11extras (for X)
LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="
3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location
multimedia +network network-auth nfc positioning +opengl pdfium positioning
diff --git a/dev-python/qstylizer/Manifest b/dev-python/qstylizer/Manifest
index 331c10749b7b..56222e11ee52 100644
--- a/dev-python/qstylizer/Manifest
+++ b/dev-python/qstylizer/Manifest
@@ -1 +1,2 @@
DIST qstylizer-0.2.2.gh.tar.gz 20752 BLAKE2B c5442821389863bc03bb0659b528322cc12f5be8137f74746e3ec7a18bf89d2822d533d13cc23842daf32a0077ad84d0e7b5dc62f231e75e57388064bd08e5fc SHA512 682f10462965a93b36f0e44b75885b9d60b4d3cd03369976b977c9b928afed4e930b6b7ef26850bdb7b40ef2a31db35a9778738582dae8715f54c1f00a957fb3
+DIST qstylizer-0.2.3.gh.tar.gz 20813 BLAKE2B edb19f9bcadee3229a1d98cc7170ba7bbab266fea74ab42987380dd8aec0ba4d02dda0fb7522f2cfbc52feb5646e44ee1603528d3331315ddcbcc18095a9ca76 SHA512 ba5188f702d4fbd43d963be206c75d55710bfe63accc84aea3bfd03ad06a0cb484d50b538c2d1d6a7ce21055d0b2eefb2cb35a732b929f5477033a8ddea945c0
diff --git a/dev-python/qstylizer/qstylizer-0.2.3.ebuild b/dev-python/qstylizer/qstylizer-0.2.3.ebuild
new file mode 100644
index 000000000000..1dc4c0da800b
--- /dev/null
+++ b/dev-python/qstylizer/qstylizer-0.2.3.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=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Stylesheet Generator for PyQt5/PySide2"
+HOMEPAGE="
+ https://github.com/blambright/qstylizer/
+ https://pypi.org/project/qstylizer/
+"
+SRC_URI="
+ https://github.com/blambright/qstylizer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/tinycss2-0.5[${PYTHON_USEDEP}]
+ <dev-python/tinycss2-2[${PYTHON_USEDEP}]
+ >=dev-python/inflection-0.3.0[${PYTHON_USEDEP}]
+ <dev-python/inflection-1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinxcontrib-autoprogram
+
+export PBR_VERSION=${PV}
diff --git a/dev-python/shiboken6/shiboken6-6.7.0.ebuild b/dev-python/shiboken6/shiboken6-6.7.0.ebuild
index f279e0bf4798..03742fa23801 100644
--- a/dev-python/shiboken6/shiboken6-6.7.0.ebuild
+++ b/dev-python/shiboken6/shiboken6-6.7.0.ebuild
@@ -31,7 +31,7 @@ S="${WORKDIR}/${MY_PN}-${PV}/sources/shiboken6"
# arbitrarily relicensed. (TODO)
LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="+docstrings numpy test vulkan"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index 8a66c0fe78fc..c09b8527aa59 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1 +1,2 @@
DIST sphinx_autodoc_typehints-2.0.0.tar.gz 37951 BLAKE2B 55fc5bd4a430095b9b80b7313da96ac177f55d8e31068ded7c740cc2757580b611bfdb0aa53cc8344564cf01b052518854ea040a70ea568bd098505f8c2dfca8 SHA512 e37839b8f9393334f43b2b97f3d9ade4a2e11182e634c4ee37a916bcf4425c624376edcd3b25b054a23e15624393e3a79fdbc1775f6b3808e09bc8a85a2262d5
+DIST sphinx_autodoc_typehints-2.1.0.tar.gz 39386 BLAKE2B ccf6b618fc3db2a576a2d9a36a575087cdc3c7c5cf59a6057a956478a12715b1623dc4bc1ae3f7c30deab317a15fa187faf19f9d050fa61c293dc20bee41effd SHA512 59c5b4c682fadc1d0ec62a5aa639bb87d6e4710db89793824c348c7598d73b144f0b083ce6462ea32d958b1ed7fd2fb96c2a92780267adef03b625e64c08c412
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild
new file mode 100644
index 000000000000..89ba9a1333ef
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-7.1.2[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # this package is addicted to Internet
+ tests/test_sphinx_autodoc_typehints.py::test_format_annotation
+ # TODO
+ 'tests/test_sphinx_autodoc_typehints.py::test_always_document_param_types[doc_param_type]'
+)
diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest
index efcff3f32523..e8f02f56abd5 100644
--- a/dev-python/tifffile/Manifest
+++ b/dev-python/tifffile/Manifest
@@ -1 +1,2 @@
DIST tifffile-2024.2.12.gh.tar.gz 344964 BLAKE2B 13b1697258daa6643f87d7d8a44f638789b3182029ac1d97b1695ac9add3bee4f295d1485b35273a031ce17b0c41b5fdb12d43f03765d96960869bb82c78adb8 SHA512 0cb1f33b879047b311d4ba7b8a00164230935bbd1403f33d3a1a44bedf1797e5f4b066fae865ae990da5356c0a868e4a5722f1da36ff77d8cd9b550d58286552
+DIST tifffile-2024.4.18.gh.tar.gz 346262 BLAKE2B d281e14a4bf9f29c81973a3b6bb52205b2657945b41592862a07f306957a5aa3bd8cab40db8ed5872f8544fc293deb247dbc765e94ef2d70bfefa4b5592f4d6d SHA512 bcd7f23979595d1c74a0aabe94429d6952e3a86d135b78eda0219254664a557cab13efad05ce52b9d9b60b96d8f088af7e5cfd0f07f001da5488ad6758a421bf
diff --git a/dev-python/tifffile/tifffile-2024.4.18.ebuild b/dev-python/tifffile/tifffile-2024.4.18.ebuild
new file mode 100644
index 000000000000..83b88a45e754
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.4.18.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Read and write TIFF files"
+HOMEPAGE="
+ https://pypi.org/project/tifffile/
+ https://github.com/cgohlke/tifffile/
+ https://www.cgohlke.com/
+"
+SRC_URI="
+ https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dask[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_tifffile.py::test_class_omexml
+ tests/test_tifffile.py::test_class_omexml_fail
+ tests/test_tifffile.py::test_class_omexml_modulo
+ tests/test_tifffile.py::test_class_omexml_attributes
+ tests/test_tifffile.py::test_class_omexml_multiimage
+ tests/test_tifffile.py::test_write_ome
+ tests/test_tifffile.py::test_write_ome_manual
+ # requires tons of free space
+ tests/test_tifffile.py::test_write_3gb
+ tests/test_tifffile.py::test_write_5GB_bigtiff
+ tests/test_tifffile.py::test_write_5GB_fails
+ tests/test_tifffile.py::test_write_6gb
+ tests/test_tifffile.py::test_write_bigtiff
+ 'tests/test_tifffile.py::test_write_imagej_raw'
+)
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index 1da9f1e5f696..6959d94c99d1 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -8,3 +8,5 @@ DIST uv-0.1.31-crates.tar.xz 64759920 BLAKE2B 9404847d0a4bdaf77778fe7e75de4a6167
DIST uv-0.1.31.gh.tar.gz 938923 BLAKE2B c6be91911b557260df546bd708e572d4ea6688e40a0c978a598070e71bb989b77fdace1e5507dcc829e9e21714962c8e76ee2ec5dc95ae10a1ccaa562e4c70e7 SHA512 687f622bc93a0b4c967d53ab068d3f5442f7a3566495f89da252d3beb41a17be3dcf410f260f7e68bb1f5595f633ea61da7a68423f190d879e809c25e9e297cb
DIST uv-0.1.32-crates.tar.xz 64975300 BLAKE2B cb07eb6ed0c65b538554cd2fdf455a25cddbefe07e3718f83820c1faf40795c0da6397a31e138c6f01dad9fb4e48dbe1a2fd4be76f1ab94f096e915d34ec1ac7 SHA512 83e208e54322d467cedd1463157d413ad8a5a6012a8d0219aa31b5213466fc4caef86a22e90bc0695811ab1f5e7428f3306a8845785f472e941a758242e775db
DIST uv-0.1.32.gh.tar.gz 976905 BLAKE2B c59f4a76a3a9335429ddfa1a6fc96a13ba68ad2950a5664762d6b48c3dc67c78ee075ff723fd049733bc3240924a5ede522ce973ab37b44784f54322f6c8039f SHA512 fefd8cac2630c1c061a54abf5ad7bfe34f93176dd5fa69fc8ba39e6cea6a786527cd7e22481449d987dbd567ee4f59b3ef2a13620de3049f7066aaddb1ee4593
+DIST uv-0.1.33-crates.tar.xz 65532672 BLAKE2B 9e3499eef5cf746287f725ab3f2c2a35441d851ba734305abd7f8d9ebcb6bd8f857f6ec5371108cc4f1b5c9043424a3583a62093d84f596a522db59e9d50a133 SHA512 01b150770074880436db8e34ec4f2416c2948a43828ee84ca05ad1c244927022aa503b4e03b6bd525932bcde12eb961228877af232589d5c57a121cee66fb5a1
+DIST uv-0.1.33.gh.tar.gz 987063 BLAKE2B 56dfc8e7a1bfb63e0a6278499cb62ef764b4734af14bf01a213b7a11d442d4629d440ac218a4bc2750405c402236b382b07560919211b51c300e07c3c15a9496 SHA512 a05a38f8c1abc572ad2c6823f74a2c076ad267636f5f435f04bf8a02b059c25b82b5fa3b5250137d4077ff721294b34c6d2d57ac0e0c907e211e8cfdcdc8169c
diff --git a/dev-python/uv/uv-0.1.33.ebuild b/dev-python/uv/uv-0.1.33.ebuild
new file mode 100644
index 000000000000..793b60d2c541
--- /dev/null
+++ b/dev-python/uv/uv-0.1.33.ebuild
@@ -0,0 +1,111 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;c26e485213e39582c6f2e4d45c0328422670e7a7;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ CRATE_P=${P}
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ dev-libs/libgit2:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_configure() {
+ local myfeatures=(
+ # from upstream defaults
+ flate2/zlib-ng
+ python
+ pypi
+ git
+ maturin
+ # skip tests that require specific patch version of the interpreter:
+ # python-patch
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index ac8d2556a3fe..50d706709787 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1,3 @@
DIST virtualenv-20.25.1.tar.gz 7152341 BLAKE2B 7d3ecaca89cb4106f97fb5565331b257017d756742f9c90972a01a86296e81d509d2f4a7869d3bc7a299c1c2f01cc08999eddc258f1bd46acf88999d0732794e SHA512 c0791de2aed7893658316199696906b1aed650460f3b53e0dbd13e695d16bc14d8974cd72fc8dcc010ff7ba10036121929ce9a608f97d7d2cd9f972144a3a1f0
DIST virtualenv-20.25.2.tar.gz 7289618 BLAKE2B 9217dadaa00521b5109a7efdaadd99663898931aee57d34e1fae0484cf997cb06d7a6f87bd971802fae9539435eae69c4f3f4f6a5e0771d08926fd8151ec0810 SHA512 080fe3b02d08f9c55a2eea7b68022de935e0887826d52511c768ef4fb72b0278d99413f5f08288fd22c5925d362588af0afbbf7f2c51dcc47c8bce1485d6ae19
+DIST virtualenv-20.25.3.tar.gz 7289627 BLAKE2B 9edd92a238af78d4178f7c7b553f4b86206815fad3cd5f257b9fe35552835ab916849a07e06248f880335dc9a356364154ea689c08d64274eab4df36a81c05db SHA512 3933ed6dfa393a2f6cb6f996d8830f60204d5bf8953d61726afc5cc9b079bd1723c3e9044e33d3a584725ba80b93d9ac5a5d11c7304d0234303ce49c33ca1a9e
diff --git a/dev-python/virtualenv/virtualenv-20.25.3.ebuild b/dev-python/virtualenv/virtualenv-20.25.3.ebuild
new file mode 100644
index 000000000000..e08eca12f45f
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.25.3.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' pypy3)
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=180
+distutils_enable_tests pytest
+
+src_prepare() {
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/unit/activation/test_xonsh.py
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ tests/unit/create/test_creator.py::test_cross_major
+ # tests failing without python2 installed
+ "tests/unit/create/test_creator.py::test_py_pyc_missing[True-False]"
+ "tests/unit/create/test_creator.py::test_py_pyc_missing[False-False]"
+ )
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-global]'
+ 'tests/unit/create/test_creator.py::test_zip_importer_can_import_setuptools'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3--bin-]'
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/unit/create/via_global_ref/test_build_c_ext.py
+ )
+ ;&
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local plugins=( -p flaky -p pytest_mock )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ plugins+=( -p freezegun )
+ else
+ plugins+=( -p time_machine )
+ fi
+ epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index 34f62a4b1e39..e7dbee3974b8 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1,3 +1,4 @@
DIST xmlschema-3.1.0.tar.gz 566760 BLAKE2B d8d1dc61e5eb6897d128ba9ed5257b65190af948946b7ac5d5b9b5fdeb14df42e8a298bc0ed7cdec58cabd237e0c950465bf58be702610496a16000a2f23f354 SHA512 26d6586ede499907bc2b7f0b58c75460d4bfa3761bc029a042e32ede2237234daa8be7b4602da7dec2e28aa945f24e1726fd445189ec31ce4af89c9c5762e1ef
DIST xmlschema-3.2.0.tar.gz 570442 BLAKE2B 0910a417a608e99850874a15ed608b0e33abb4a3a76c0bd0101eb3fdef89087f1f1c44ca59bc08ee6992eee24ed433bb602626fef0ffe76b671f8a5b33d662a7 SHA512 90d3e6b92054ec9eaead6c79543dceb819b75e94c19e2991671708443cb713fc9b7925d1ae09fe40d1522a27369b729528ab758087b9de0cc0157227abb95f3a
DIST xmlschema-3.2.1.tar.gz 571883 BLAKE2B 1c5202af6f3e1aca99898442f0efb47fd72c0f32e42d0ad4d527e5f4849195b8298656ba214c8578ed5a3cabca3232102e778667062139955fbae39610d90559 SHA512 ea65d79c628eca1b4becefee0f8a79e5a5c9a43072747d7b5b312e152c953a45727e3945bd2755a37ef28e2f010148879ca32a42516254eccba0bc3bb371c2ff
+DIST xmlschema-3.3.0.tar.gz 573034 BLAKE2B 1d403483ee4b80ddcfae3ece41ba2b8edb3e0297ac7ad8d531fdfdbc4b4eb50736b728b0aefde08bd8d06e7f6b0636762b098095b06c6ad1c03928d102e4d23f SHA512 3c07d740f26901d4dc481bd83566fed1c48e48b542f14601d30b3c593a606854939052a6b6af20755e0ff6b56dbeb23b4a96519e1d91abc7145d80745f5478b4
diff --git a/dev-python/xmlschema/xmlschema-3.3.0.ebuild b/dev-python/xmlschema/xmlschema-3.3.0.ebuild
new file mode 100644
index 000000000000..beb366c0501e
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.3.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An XML Schema validator and decoder"
+HOMEPAGE="
+ https://github.com/sissaschool/xmlschema/
+ https://pypi.org/project/xmlschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/elementpath-5[${PYTHON_USEDEP}]
+ >=dev-python/elementpath-4.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" tests/test_all.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/xmlsec/Manifest b/dev-python/xmlsec/Manifest
index 8bd1049057d4..7a3a87d3cb5a 100644
--- a/dev-python/xmlsec/Manifest
+++ b/dev-python/xmlsec/Manifest
@@ -1 +1,2 @@
DIST python-xmlsec-1.3.12.gh.tar.gz 77722 BLAKE2B b5ecece8063b823cdbe4d58967d10026bdc6f3774954021a3739d579ba3c5a08130af1792921c7892e6bc3d00f88ac83ab30e862775e419e0dad40b990b10cbe SHA512 19c5e3bf58b4b0f8a1cca3e60c08348b02ae298620f8c02b8cfb325aecf0313cb2bd1af89507b754ebe4c35af3b031e232d15ddcd42deae0821c9c0d7571aa7c
+DIST python-xmlsec-1.3.14.gh.tar.gz 80643 BLAKE2B b256ad1aa18b5a746148ff4b2e8b3136a31105e1bb64d2dd686d5e62c16c183187432ee06f0f8b9da0bdba3b96c3c1e7fb6f51148bb5d5d60e54083841973399 SHA512 7a28695bf122a9c04ed20e4a6a09f9428372c908857b1dd983251a7b890cc50e92a6fbaa7f062cd58d86dda14257720e9c9554b2b54d840f9180110d93145335
diff --git a/dev-python/xmlsec/xmlsec-1.3.14.ebuild b/dev-python/xmlsec/xmlsec-1.3.14.ebuild
new file mode 100644
index 000000000000..059e22de5e2c
--- /dev/null
+++ b/dev-python/xmlsec/xmlsec-1.3.14.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021-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
+
+MY_P=python-xmlsec-${PV}
+DESCRIPTION="Python bindings for the XML Security Library"
+HOMEPAGE="
+ https://github.com/xmlsec/python-xmlsec/
+ https://pypi.org/project/xmlsec/
+"
+SRC_URI="
+ https://github.com/xmlsec/python-xmlsec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ dev-libs/xmlsec:=[openssl]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fragile based on black version?
+ tests/test_type_stubs.py::test_xmlsec_constants_stub
+)
+
+distutils_enable_tests pytest
+
+src_configure() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ export PYXMLSEC_OPTIMIZE_SIZE=
+ if use debug; then
+ # we don't want to use PYXMLSEC_ENABLE_DEBUG envvar,
+ # as it forces -O0
+ export CPPFLAGS="${CPPFLAGS} -DPYXMLSEC_ENABLE_DEBUG=1"
+ fi
+}