summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-24.2.0.ebuild40
-rw-r--r--dev-python/Faker/Manifest1
-rw-r--r--dev-python/a2wsgi/Manifest1
-rw-r--r--dev-python/a2wsgi/a2wsgi-1.10.4.ebuild30
-rw-r--r--dev-python/aiosmtpd/Manifest1
-rw-r--r--dev-python/aiosmtpd/aiosmtpd-1.4.5.ebuild36
-rw-r--r--dev-python/aiosmtpd/metadata.xml11
-rw-r--r--dev-python/ansible-runner/Manifest2
-rw-r--r--dev-python/ansible-runner/ansible-runner-2.3.6.ebuild (renamed from dev-python/ansible-runner/ansible-runner-2.3.4.ebuild)2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.62.ebuild58
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.62.ebuild67
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.8.ebuild2
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.2.0.ebuild24
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.3.ebuild2
-rw-r--r--dev-python/mkdocstrings-python/Manifest1
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild41
-rw-r--r--dev-python/pandas/pandas-2.2.0-r1.ebuild2
-rw-r--r--dev-python/pandas/pandas-2.2.0.ebuild2
-rw-r--r--dev-python/pandas/pandas-2.2.1.ebuild4
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.32.ebuild39
-rw-r--r--dev-python/pillow/pillow-10.2.0-r1.ebuild2
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-5.20.0.ebuild116
-rw-r--r--dev-python/pyarrow/pyarrow-15.0.1.ebuild2
-rw-r--r--dev-python/pyasynchat/Manifest1
-rw-r--r--dev-python/pyasynchat/metadata.xml11
-rw-r--r--dev-python/pyasynchat/pyasynchat-1.0.4.ebuild26
-rw-r--r--dev-python/pyasyncore/Manifest1
-rw-r--r--dev-python/pyasyncore/metadata.xml11
-rw-r--r--dev-python/pyasyncore/pyasyncore-1.0.4.ebuild24
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.16.3.ebuild2
-rw-r--r--dev-python/pydantic/pydantic-2.6.3.ebuild2
-rw-r--r--dev-python/python-ptrace/Manifest1
-rw-r--r--dev-python/python-ptrace/python-ptrace-0.9.9.ebuild35
-rw-r--r--dev-python/python-ptrace/python-ptrace-9999.ebuild19
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild153
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild2
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-69.2.0.ebuild127
-rw-r--r--dev-python/sphinxcontrib-autoprogram/Manifest1
-rw-r--r--dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild29
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.20.4.ebuild2
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.20240314.ebuild17
-rw-r--r--dev-python/urwid/Manifest1
-rw-r--r--dev-python/urwid/urwid-2.6.9.ebuild47
-rw-r--r--dev-python/xmlschema/Manifest1
-rw-r--r--dev-python/xmlschema/xmlschema-3.1.0.ebuild37
57 files changed, 1040 insertions, 33 deletions
diff --git a/dev-python/Faker/Faker-24.2.0.ebuild b/dev-python/Faker/Faker-24.2.0.ebuild
new file mode 100644
index 000000000000..b726995539a4
--- /dev/null
+++ b/dev-python/Faker/Faker-24.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index c96c3bd05036..4b32189ff037 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,2 +1,3 @@
DIST Faker-23.3.0.tar.gz 1716346 BLAKE2B 21be02c45fdaeed398ce157b9874985791dff67784b60198323ffae8f8c3a3e82932ebc152893aed40efb5d73e1e775c52b364c62411b59e48ce3d897971ba92 SHA512 2bdcf86adae1eeee257ee24df140894451d13854afdde8794d08072b9b572e48fcacb74597f64da9f069e914db0f27c8f4e74d746a25bbee8421310749468b82
DIST Faker-24.1.0.tar.gz 1716789 BLAKE2B 60a8571cd9aae2c1a47aabcb50d85507d78b5635332d24036e2b28756c4e7da3950074eff906200b9eefee28d9594dba3df7ee17fd815308e01d1cf8ed422afb SHA512 a467cfab41a074ac88c398640b02898f96ced7150d5989270573fd5765e880e539932046b5829b3428d087b5f6f97c9c5ea51725003abbf2ae06e8862fd86fef
+DIST Faker-24.2.0.tar.gz 1723713 BLAKE2B 75ea69214239084a59284a95a1cb2585671aa770fd78f853030ae7cb32281370e7505ba05262958d3511ea131ebab6ef1175953be6f73a048160eaa8536a6364 SHA512 85b5acf252f6163cdd87b8f8269360e6e204899f1645ed0f50302719ad0386e1c1fd766904cb239222c1d6120429f33a69deaf3d331743685333e35e12790a43
diff --git a/dev-python/a2wsgi/Manifest b/dev-python/a2wsgi/Manifest
index 6034c5e268fe..89cb21cb53c6 100644
--- a/dev-python/a2wsgi/Manifest
+++ b/dev-python/a2wsgi/Manifest
@@ -1,2 +1,3 @@
DIST a2wsgi-1.10.2.tar.gz 18126 BLAKE2B 8f0163a9acd3548d5627b026cba7f573cb10d3d346b4304a2152d92f0c9c9a7c0a622ec2761c473a23ef3724d706da1c832f28f7040f7b44303a74794aff6702 SHA512 c084cdeba47c848635cd1ae8ab05d46b6d83acbad48a923f4c21141564d755ac73e52acb097251a6fb3feba9009aca03db40d9a44aa94ea89caad5218cb5e456
DIST a2wsgi-1.10.3.tar.gz 18111 BLAKE2B 2d18a17b66f3a0bf44a4b57fdc4d27361a4e0c8f540da6ae4c1be9a349fc62efcd69e4028173215e164e1823d2645a6927edfa2fedeff8fa08491f218da76149 SHA512 db1450376fec703423c06a9d9e7b4e6bb13e02b0b4f0061de1b19e63c0d27379a5a7a6d7c2d7c938044ff37ca2fd245438e023dce5ee57caef9a91be315b05ee
+DIST a2wsgi-1.10.4.tar.gz 18186 BLAKE2B 7f184c1621dd28e75c12e85b85ca4ed0b1b55d59c79797429bc188feec0ee0105e77c3613b1c2f94e1561f71fdcbabae99218e2c007ab095dd68b0502d112444 SHA512 6c050dcaca4dab0793afb267d7cbcb4faca362495c46ab9f0b52c9f2f5a1ab7dfd6fa0c543b5eaa18ddca6a789093591653f023ac9c127602138db390ae1c975
diff --git a/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild b/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild
new file mode 100644
index 000000000000..d01e0e31d956
--- /dev/null
+++ b/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Convert WSGI app to ASGI app or ASGI app to WSGI app"
+HOMEPAGE="
+ https://github.com/abersheeran/a2wsgi/
+ https://pypi.org/project/a2wsgi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.2.7[${PYTHON_USEDEP}]
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/aiosmtpd/Manifest b/dev-python/aiosmtpd/Manifest
new file mode 100644
index 000000000000..e5676bd746f4
--- /dev/null
+++ b/dev-python/aiosmtpd/Manifest
@@ -0,0 +1 @@
+DIST aiosmtpd-1.4.5.tar.gz 152668 BLAKE2B 5f689e029afcc267b8b9f1863ce20d76bea16985d7fddac1e6cf0624d7bef6bbbe7089b4933bee8b5aaa74e63d996295e3684b3a7891b697608cbd311be92728 SHA512 c9507e25b5aeec442d299e13624ce00777ecf8089eee230b9cb9f92c18816cef890968c25144a56b95fd9b063b1440921841a16add624d717b8f6378d55c85a4
diff --git a/dev-python/aiosmtpd/aiosmtpd-1.4.5.ebuild b/dev-python/aiosmtpd/aiosmtpd-1.4.5.ebuild
new file mode 100644
index 000000000000..e7ad1181ae78
--- /dev/null
+++ b/dev-python/aiosmtpd/aiosmtpd-1.4.5.ebuild
@@ -0,0 +1,36 @@
+# 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="Reimplementation of the Python stdlib smtpd.py based on asyncio"
+HOMEPAGE="
+ https://aiosmtpd.aio-libs.org/
+ https://github.com/aio-libs/aiosmtpd
+ https://pypi.org/project/aiosmtpd/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/atpublic-4.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-23.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( >=dev-python/pytest-mock-3.12.0[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i -e '/--cov=/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/aiosmtpd/metadata.xml b/dev-python/aiosmtpd/metadata.xml
new file mode 100644
index 000000000000..ea8988e8af6a
--- /dev/null
+++ b/dev-python/aiosmtpd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/ansible-runner/Manifest b/dev-python/ansible-runner/Manifest
index 508f371c5270..4c766b01c9b6 100644
--- a/dev-python/ansible-runner/Manifest
+++ b/dev-python/ansible-runner/Manifest
@@ -1,2 +1,2 @@
-DIST ansible-runner-2.3.4.tar.gz 178697 BLAKE2B 0c1d04939883da4933c7e0898800061d2472afdb5580a41ff804cd964f1a022de07980650ca548ce9715dc347f391f3945e6bb73e6c3fe44822293bcaf13018a SHA512 5c47456a533712edcb7c161135f6dfa37f96a33fdd3255ed50db22cc8ea0dd132981bf4100c97bfea89647fa1f3e4c3bee421fe4706df13ea25003556efd3419
DIST ansible-runner-2.3.5.tar.gz 178905 BLAKE2B 8cec66802e3c20ce01cfd09bd7b3698c9ff1da0402a90c6e87fef2e6458ad6271c6015048c2595e3c1a3702cee44bfaa776930b1ba6c1b105d3a080b51e3a598 SHA512 e93525fef9991e0cb3203ac5dd298154c7a517011cf7c8c65a62b55b5bbaa015d3b1714bd45ab63c9a22457712af8a378a1096e5e648f7994ac46fc5636116e9
+DIST ansible-runner-2.3.6.tar.gz 179068 BLAKE2B 5a51db587c487689ef815bcb0f5591a78fdc4d842c158f0caf7dbe2ad27454d315c3c480cffbec8c6018660ec5da104f51f22a78b1bb2ab9cbfcecbe0102bf83 SHA512 514353e2bb662ba2663ea8e64bec2fe26fc98c63aa8c9e14968cfbc0e4af60a0e47b6cbe62ac6ac255fef0d50da145739e58eae0be6f95b8c75a9c44097a85ad
diff --git a/dev-python/ansible-runner/ansible-runner-2.3.4.ebuild b/dev-python/ansible-runner/ansible-runner-2.3.6.ebuild
index 9b388186700d..855bbc7f9f68 100644
--- a/dev-python/ansible-runner/ansible-runner-2.3.4.ebuild
+++ b/dev-python/ansible-runner/ansible-runner-2.3.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Liguros Authors
+# Copyright 2023-2024 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 83764d2bccff..d73325be9499 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,3 +3,4 @@ DIST boto3-1.34.54.gh.tar.gz 779564 BLAKE2B f61a74f6a317af6f180edb047e8c37e55c2d
DIST boto3-1.34.59.gh.tar.gz 782060 BLAKE2B d46f20f101f36380a17cb5c1bd511adde1b9fb01981566b863d192d0b93d9965a6720dc67ba47d4e1da94b3994dc5a6e59b1effa4e5c4f5e1e25f1683d99c40e SHA512 5d1d34339d60cd5c2efb60da885c4f92e5c245ef95bdaf46631d2938adf9fb08f7fba86ce2dd3e6382291d0d72c81aa9698cfe327d88c0b8ae8812d9c1e0b37c
DIST boto3-1.34.60.gh.tar.gz 782539 BLAKE2B d0fa63256b967b9a93139d4ee41e5892187cc54671b5a7c47b8e6900ac1b9ea7bae8d8b38a0f18432813a6085e2773b7c7b8686e9d5d7d13465b8547f0bb9e30 SHA512 f60ae6664ce19bdddb552d72c2f0699d8bd771e23f164e29f5c3c7869680528a6e9b8d678c7c0359dbe25c3e20077a7cf45efd01f207340dbe0ee6198e08a4c5
DIST boto3-1.34.61.gh.tar.gz 782749 BLAKE2B 058b8389a57c1e652789ddf9ce83f754ecd94e90f292f3d9ed70cc3456a547578591fa7d908838296186707074b874ac5898e5960022cfd3ecbac9e8cbefa8a0 SHA512 8b72e539def341676a928d346099b8076c21543606a0a02050aa792c95a898c0b00edeccc2c0eadf241071c78b859b4240b2e40e32c3a16dbbc4cbbfff89e9cd
+DIST boto3-1.34.62.gh.tar.gz 783049 BLAKE2B ad4272a4dfc02305e734c007d3e24f2dff8fd6fee20025b5edf76797e8d691e81f827e4e1d5357669ca86f5dbf41c5c2e09be16ac391153c9a158c292a79089a SHA512 717e0e5d59efaa6d2443b30f6f51f5c00c5f573219f5b4018d0b9142db04559c5eaf1fd27bc9f8875b0c7892e71532a2b090bc5b552dfb4852d253377437403b
diff --git a/dev-python/boto3/boto3-1.34.62.ebuild b/dev-python/boto3/boto3-1.34.62.ebuild
new file mode 100644
index 000000000000..c6201d2c5818
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.62.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 1f090ed8ff01..ce4ef57cdd7f 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,3 +3,4 @@ DIST botocore-1.34.54.gh.tar.gz 12748623 BLAKE2B 2b4732636e0d7cf46e12fc2cf4320c7
DIST botocore-1.34.59.gh.tar.gz 12764223 BLAKE2B 13347793764afb8ef51502149f490e5082e65a76a3f72eb484d60ea44542dc8026ddfd6e6cc0c90273f6f3fbdc82e42bc6ad5f2c434900a881208ff79edcbf6b SHA512 5afe577889fed68308a414982c12d36ddc9ce1d7d7b866c544d1f25226050772775c7ee04e490f72d1f355a1f68fcfcb7431d626fa9a85f76065f2576de511cf
DIST botocore-1.34.60.gh.tar.gz 12765697 BLAKE2B c9aadf76475fe4cdd81d3aff1fd577bc177cb6f4702e8f4acbce8a5d2010a6440e792ae2accf7af3cfafca146b22ce9b239d76a25c8f9715b34d44212e9e2c73 SHA512 4d44646840dfaab1d5d45705be74df73df1b76dc345ee189c4d8b82cbffc5076701a34771823b18c4c52c4a8a9acc8c7e186ad25b7a735de95944d9f439ef8b4
DIST botocore-1.34.61.gh.tar.gz 12767176 BLAKE2B dd8fdd5fd15b4da9b1b8550dff8d2d51ceba0a1720665d0a9abdfd9519450eb6eb428f5febc58494f06e8406605ce0c8fb1e61ea1c3a25630c2b36944decad7a SHA512 da3299d3231c5b16a12b6ebb1456baea5ed94e8f05de75457b3ce2c9cdf2071c045c32326fdd84d29ac1d15e6379c40611db3ba07037498f6c43e79ef0880fac
+DIST botocore-1.34.62.gh.tar.gz 12768327 BLAKE2B 06e5fcf4fde0e17257864883c76d04e0b09ad932c6418b342d01a0631aa134a982b541b58ce2a5eb52802b0ea9432a0ea3f7761af346b172f84d48657b45e53e SHA512 daffa72c08c227f584b08d9d3400e7d6194d1adf6895e79dec9d33a6e4457469e4d89bb65e808e6783858cbdd0888ebfcf3352ebf6c757180a1a262389facb42
diff --git a/dev-python/botocore/botocore-1.34.62.ebuild b/dev-python/botocore/botocore-1.34.62.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.62.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/bottleneck/bottleneck-1.3.8.ebuild b/dev-python/bottleneck/bottleneck-1.3.8.ebuild
index 848a358197ec..4974aef25c97 100644
--- a/dev-python/bottleneck/bottleneck-1.3.8.ebuild
+++ b/dev-python/bottleneck/bottleneck-1.3.8.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/numpy-1.9.1[${PYTHON_USEDEP}]
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 5477358046be..591b72d89467 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,3 +1,4 @@
DIST setuptools-69.0.3-py3-none-any.whl 819530 BLAKE2B 6ecef64755181255d935e234f77db3a4a9ce6426621d5d95196f55820a6bd62ff6bd3efcbf2e66221501b0c7c5296a35f80d275c59a8075392a0e802ee6713f1 SHA512 20c68e4f279a133f33ac85885b2c7e05b68c8c2faf15c9bb251229a6668c5c6b54c4065c54a0b711dae36d7fd161d3dc34218c579e739a2b2c573b85ccc79820
DIST setuptools-69.1.0-py3-none-any.whl 819310 BLAKE2B 1aface76839a9e77de4b59a366f5aab927b08601f5343e243992b4bcf960d9456b827e296320469dee05ef0212561a25ec3bfad61970129117e86732e04c974a SHA512 40e7c427cb36255639b390b027cc0449006e1c676d8d832f924d2fbd900a433f1011078cb3734a89400deb645dbb4f6be574231597d8d32cf43fc10b3b9579e9
DIST setuptools-69.1.1-py3-none-any.whl 819326 BLAKE2B 47cbea9e1cde838d0727a279f8c19e58506425e3a3eae6a0385f66e0d710c68acb6f3fc45aa83a94717bd0a94d282ed1c6735a0d594e3949501c9d6fae05f0e7 SHA512 faf0851fc341184eb12e404b2a3fc549a99ea4016a6d8d8278fbc3d8632fddc4cf987e7640081ad49a4126f31922c68c74b975000b80a0ccdf1d3ecb780067e4
+DIST setuptools-69.2.0-py3-none-any.whl 821485 BLAKE2B 7b5fdc519f57327e323c15c12650d7c820909664d5f45e18f0c3203ced4c68b3f42598481158b3ae899f16ba56b702724f5b362757369ccc5d61a6cdeae64129 SHA512 fa6b2927b16c00a30b135373be399cfec7ab1b0e9b410de6502172d50ba2a191214a4a4adb443d362198d43e86a662565155ea4c8d37f3305e9f7d1aef724b25
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.2.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.2.0.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+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"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index e9da2ac43cac..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index c09b7356f549..630fe63c6f53 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..736a1167c898 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -1,12 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/matplotlib/matplotlib-3.8.3.ebuild b/dev-python/matplotlib/matplotlib-3.8.3.ebuild
index bf6da2ebe292..cb624395b5d7 100644
--- a/dev-python/matplotlib/matplotlib-3.8.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.8.3.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
# internal copy of pycxx highly patched
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index 7b068ec4b768..27b729c76327 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1 +1,2 @@
DIST mkdocstrings-python-1.8.0.gh.tar.gz 146162 BLAKE2B cd247b18de00dd4a53c287ec6d72461b0d0c2c95d49b20c24ce81d4304b92d48b8c8df78f35ad4749c928440ceddb4524ac64fcf3c99a50c18cbdaff9057f27a SHA512 5084df08a7d341b2e3ea93454706c38e2f29229122e6f2a277967c21c899d945cf4f6ae299782d8f6edffb48c1e23778ce445fb353727f2d5ceada74428ab3b9
+DIST mkdocstrings-python-1.9.0.gh.tar.gz 148843 BLAKE2B d84527c1eb03da4a1e154c8e592f91530cd3f90603063e1fcb0dc88cd0f9c5459a64d116c38154ffaaa557b6e298e28d51948c56979d87819de2665efa51bc30 SHA512 c6652f6027e3e416906b379b824bb59032439cb275a62a8bb0fd1f06324d485f582db5464358166f7b1545809bf929744cd3b96707e2c50132c2db5f3fa41785
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild
new file mode 100644
index 000000000000..be39392c7591
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild
@@ -0,0 +1,41 @@
+# 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=pdm-backend
+
+inherit distutils-r1
+
+DESCRIPTION="Python handler for dev-python/mkdocstrings"
+HOMEPAGE="
+ https://mkdocstrings.github.io/python/
+ https://github.com/mkdocstrings/python/
+ https://pypi.org/project/mkdocstrings-python/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${PV}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/griffe-0.37[${PYTHON_USEDEP}]
+ <dev-python/markdown-3.6[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/pandas/pandas-2.2.0-r1.ebuild b/dev-python/pandas/pandas-2.2.0-r1.ebuild
index 4ce235f85283..d1898b024dbb 100644
--- a/dev-python/pandas/pandas-2.2.0-r1.ebuild
+++ b/dev-python/pandas/pandas-2.2.0-r1.ebuild
@@ -72,7 +72,7 @@ COMMON_DEPEND="
BDEPEND="
${COMMON_DEPEND}
>=dev-build/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
test? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/pandas/pandas-2.2.0.ebuild b/dev-python/pandas/pandas-2.2.0.ebuild
index 472ed770bb05..98f8a8539079 100644
--- a/dev-python/pandas/pandas-2.2.0.ebuild
+++ b/dev-python/pandas/pandas-2.2.0.ebuild
@@ -72,7 +72,7 @@ COMMON_DEPEND="
BDEPEND="
${COMMON_DEPEND}
>=dev-build/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
test? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/pandas/pandas-2.2.1.ebuild b/dev-python/pandas/pandas-2.2.1.ebuild
index 98ea63450972..b5730dd47d3d 100644
--- a/dev-python/pandas/pandas-2.2.1.ebuild
+++ b/dev-python/pandas/pandas-2.2.1.ebuild
@@ -19,8 +19,8 @@ HOMEPAGE="
https://pypi.org/project/pandas/
"
-SLOT="0"
LICENSE="BSD"
+SLOT="0"
KEYWORDS="~amd64 ~hppa ~riscv"
IUSE="full-support minimal test X"
RESTRICT="!test? ( test )"
@@ -72,7 +72,7 @@ COMMON_DEPEND="
BDEPEND="
${COMMON_DEPEND}
>=dev-build/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
test? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 735ceec07072..aef1e68574ef 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1 +1,2 @@
DIST python-phonenumbers-8.13.31.gh.tar.gz 4915554 BLAKE2B bf8f8f8fb43f7f5b39ce3155a2f8f4f9497734bdf016c2f871e16354b50072dde106a5549d998ae48ee7e41b0517fdc73c68e3dd18960b45c13c85001ae170d4 SHA512 724d8adf172e1a12e6d89ad104bc89330f02c4eab6b23812cd09464ddc4002a13c90b8a47456ebe99018a21c18ed7ea71f85f3fe80f4f823f0f35c95fb22d513
+DIST python-phonenumbers-8.13.32.gh.tar.gz 4915667 BLAKE2B b5c76292e405255c0acdf8d3fbaff10701fc7cbfe948c4d73397458ffe18be41d0ba0d61bf2a67a25fd729cdbfe2de125616a2d433afef0fc49dd6fe01ac3fc2 SHA512 12d8ae16d701b4b6134928eea8c13cd84443e26f887974abb2cde374233dacf8489b0d8f43da29faa6170177d378568cfa01237bac38049d3f350bc344842b0e
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.32.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.32.ebuild
new file mode 100644
index 000000000000..062c56c77784
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.32.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pillow/pillow-10.2.0-r1.ebuild b/dev-python/pillow/pillow-10.2.0-r1.ebuild
index c79bb80399e5..5599338764ef 100644
--- a/dev-python/pillow/pillow-10.2.0-r1.ebuild
+++ b/dev-python/pillow/pillow-10.2.0-r1.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="HPND"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
RESTRICT="!test? ( test )"
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 9598ae53ebeb..eb88202875b3 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1 +1,2 @@
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
diff --git a/dev-python/plotly/plotly-5.20.0.ebuild b/dev-python/plotly/plotly-5.20.0.ebuild
new file mode 100644
index 000000000000..0743316bfec9
--- /dev/null
+++ b/dev-python/plotly/plotly-5.20.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/pyarrow/pyarrow-15.0.1.ebuild b/dev-python/pyarrow/pyarrow-15.0.1.ebuild
index 9111a4717fc8..2ef4d86a5ad3 100644
--- a/dev-python/pyarrow/pyarrow-15.0.1.ebuild
+++ b/dev-python/pyarrow/pyarrow-15.0.1.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}/apache-arrow-${PV}/python"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~hppa ~riscv"
-IUSE="parquet snappy ssl"
+IUSE="+parquet +snappy ssl"
RDEPEND="
~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
diff --git a/dev-python/pyasynchat/Manifest b/dev-python/pyasynchat/Manifest
new file mode 100644
index 000000000000..9385a9e4ba7e
--- /dev/null
+++ b/dev-python/pyasynchat/Manifest
@@ -0,0 +1 @@
+DIST pyasynchat-1.0.4.tar.gz 9747 BLAKE2B e38edd9e35ce31f9015b934a5d4edb96053ff239978359f13e5b74ac9b8160029556207f79a199d82085882e80d88fc8033f9085f986b48dfaa50de780576197 SHA512 d36eb16770637a311d56fe22229de5a3cdfa699ae64fbafcdd5ce9acd43270b90813fe56db14528083ee1803a43d958d0b3b6616e0bbf907a4dd4a563981a278
diff --git a/dev-python/pyasynchat/metadata.xml b/dev-python/pyasynchat/metadata.xml
new file mode 100644
index 000000000000..ea8988e8af6a
--- /dev/null
+++ b/dev-python/pyasynchat/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
new file mode 100644
index 000000000000..b3eefae88e5a
--- /dev/null
+++ b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
@@ -0,0 +1,26 @@
+# 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="Make asynchat available for Python 3.12 onwards"
+HOMEPAGE="
+ https://github.com/simonrob/pyasynchat
+ https://pypi.org/project/pyasynchat/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND=">=dev-python/pyasyncore-1.0.2[${PYTHON_USEDEP}]"
+
+python_test() {
+ # Can't use d_e_t unittest (bug #926964)
+ eunittest tests
+}
diff --git a/dev-python/pyasyncore/Manifest b/dev-python/pyasyncore/Manifest
new file mode 100644
index 000000000000..8b5051785e12
--- /dev/null
+++ b/dev-python/pyasyncore/Manifest
@@ -0,0 +1 @@
+DIST pyasyncore-1.0.4.tar.gz 15339 BLAKE2B 1cc689c94dc7fe4f4c75a78cf58a0afabbe48f01b8c1511f9500b93b64b862dc1c7cc653e17a49786af9360441fcb45be03fa38c72c2e89ec05385fd8bfc648a SHA512 43746fca009f7acc5f05506c7d54e71ee74a76a112c3689aa98ab714f0452d1ed1196836bf52585bbbced2d64c1d4ccd86f8f5c2d2c5537fdc397e29d0d87008
diff --git a/dev-python/pyasyncore/metadata.xml b/dev-python/pyasyncore/metadata.xml
new file mode 100644
index 000000000000..ea8988e8af6a
--- /dev/null
+++ b/dev-python/pyasyncore/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
new file mode 100644
index 000000000000..92a95cab63f1
--- /dev/null
+++ b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
@@ -0,0 +1,24 @@
+# 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="Make asyncore available for Python 3.12 onwards"
+HOMEPAGE="
+ https://github.com/simonrob/pyasyncore
+ https://pypi.org/project/pyasyncore/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+python_test() {
+ # Can't use d_e_t unittest (bug #926964)
+ eunittest tests
+}
diff --git a/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild b/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild
index 773586708763..7ba651acd28d 100644
--- a/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild
+++ b/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild
@@ -109,7 +109,7 @@ LICENSE+="
|| ( Apache-2.0 Boost-1.0 )
"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pydantic/pydantic-2.6.3.ebuild b/dev-python/pydantic/pydantic-2.6.3.ebuild
index 4d6bd3cbccdc..48b435304e4c 100644
--- a/dev-python/pydantic/pydantic-2.6.3.ebuild
+++ b/dev-python/pydantic/pydantic-2.6.3.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-ptrace/Manifest b/dev-python/python-ptrace/Manifest
index 46a9b2f7cb21..eb489a031728 100644
--- a/dev-python/python-ptrace/Manifest
+++ b/dev-python/python-ptrace/Manifest
@@ -1 +1,2 @@
DIST python-ptrace-0.9.8.gh.tar.gz 104079 BLAKE2B 3d387beca9c92c0e3bbd5cf2c9d2af447c233b631e894ce1af2cdc697a1a48e24a299bbc998cd187ac9ad0f45bfc886f476afdb69329d761e8730a047731126b SHA512 f50ba7d457bf20a161a99913a552f2e829e97975d7cfbf8cf5d89b4f2320772b537678f2e70b9aaa88341c4f01d4bf41f62683e913628db503152f3510a013a3
+DIST python-ptrace-0.9.9.gh.tar.gz 106526 BLAKE2B ff9b85e17fd8d767c3fd1db13f1c69ad0b4e7d47379d6ee9468d9424702d34d7a7a7489590987213707829ab62e5eb83df277d3b60de6d2ad05ac99b93586ca3 SHA512 5f2291a4ca642ab99c49e853f12a3cd4ee911df45326fe077ef5df82b813b54a4351c3c23a195b65342af37aed8ecbc26968f65ce9b6a974863bee0ffd556039
diff --git a/dev-python/python-ptrace/python-ptrace-0.9.9.ebuild b/dev-python/python-ptrace/python-ptrace-0.9.9.ebuild
new file mode 100644
index 000000000000..321fc7fadf10
--- /dev/null
+++ b/dev-python/python-ptrace/python-ptrace-0.9.9.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=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python binding of ptrace library"
+HOMEPAGE="
+ https://github.com/vstinner/python-ptrace/
+ https://pypi.org/project/python-ptrace/
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vstinner/python-ptrace"
+else
+ SRC_URI="
+ https://github.com/vstinner/python-ptrace/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+distutils_enable_tests pytest
+
+python_test() {
+ "${EPYTHON}" runtests.py -v --tests tests/ || die
+}
diff --git a/dev-python/python-ptrace/python-ptrace-9999.ebuild b/dev-python/python-ptrace/python-ptrace-9999.ebuild
index ad631d36ddd4..321fc7fadf10 100644
--- a/dev-python/python-ptrace/python-ptrace-9999.ebuild
+++ b/dev-python/python-ptrace/python-ptrace-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,24 +9,27 @@ PYTHON_COMPAT=( python3_{8,9,10,11,12} )
inherit distutils-r1
DESCRIPTION="A Python binding of ptrace library"
-HOMEPAGE="https://github.com/vstinner/python-ptrace"
+HOMEPAGE="
+ https://github.com/vstinner/python-ptrace/
+ https://pypi.org/project/python-ptrace/
+"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vstinner/python-ptrace"
else
- SRC_URI="https://github.com/vstinner/python-ptrace/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ SRC_URI="
+ https://github.com/vstinner/python-ptrace/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
-RDEPEND="${PYTHON_DEPS}
- dev-python/six[${PYTHON_USEDEP}]"
-
distutils_enable_tests pytest
-src_test() {
- ./runtests.py --tests tests/ || die
+python_test() {
+ "${EPYTHON}" runtests.py -v --tests tests/ || die
}
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index 465ff01bef3d..d61f43aef291 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1,2 +1,3 @@
DIST sentry-python-1.40.6.gh.tar.gz 460979 BLAKE2B c1df8479e8464480985a722cbbb078af071087e2f8f8c99cdd2675c732ae88c721bc99c5f16aa409552620fe1c89d0668b52b4d2662a6e53bec8eebbb56960c1 SHA512 6eb8237a5cdcd0e10f52cfb660b45f4873da9c10dd0f249d5c4d3a714def4256433a16835a17562dbd2f77b39dc7d50fd7d1b9807bdcac634763879c0a0c9aa3
DIST sentry-python-1.41.0.gh.tar.gz 462664 BLAKE2B 6c0b8256d639682124db51e27f81458930a53885682c3441edcfe12bdff4e63aec5fed78a88f9c13002efb9ea1ed064d8694c4e80bbcdf14c3fa4f394a884273 SHA512 5e58d5a7f06e3afb35645186373a9e6ef87ced3c11ddafcaa45e6a6760d08a812ef1c839d28e91ffd9844c64255e48001bd503536c15ba43366518685b764936
+DIST sentry-python-1.42.0.gh.tar.gz 468530 BLAKE2B 787da292e9e218e195deae022274d74c032f5749ecf86be45cfa59de10b2ab4281e0ddcb6fdd804f887fa63ca669c9f4db4396a1077647be8438524c6edba081 SHA512 88bf44f4b214d1accd28744ac5300681ee8f6d23f4508f1df043366c9c758251e63f5aede778e8584c778c209f9c758d12743109798a746d2599aa7d7f53550b
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild
new file mode 100644
index 000000000000..3833dccf2fec
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+ # this is not even funny
+ tests/test_utils.py::test_installed_modules
+ # flaky hypothesis stuff
+ tests/test_serializer.py::test_bytes_serialization_repr_many
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
+ # crashes Python
+ tests/integrations/grpc/test_grpc_aio.py
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # TODO
+ tests/test_utils.py::test_default_release
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ 'tests/utils/test_contextvars.py::test_leaks[threads]'
+ # skipped without gevent but breaks stuff via broken teardown?
+ tests/test_metrics.py::test_no_metrics_with_gevent
+ # TODO
+ tests/utils/test_contextvars.py::test_leaks
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild
index c37d4f72a837..e6bddbec37e2 100644
--- a/dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild
+++ b/dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild
@@ -134,7 +134,7 @@ SRC_URI="
# crates are used at test time only, update via pycargoebuild -L -i ...
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 585cc70924fe..5d84cc7351df 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
DIST setuptools-69.0.3.tar.gz 2219609 BLAKE2B 1a5e7896c7ea82d51b0aa4794435b9899cef871f6ae43d22ae5e08c57d87b70641f3f2abfcc29956a3de515f90b112fd61d3daf793474b4cf33f8567e3a38f4a SHA512 11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d
DIST setuptools-69.1.0.tar.gz 2219972 BLAKE2B 82ba9df6e6234bcf234f6b6659704b208912d05749bd6f34ce456bd356bc65b8ee17f534dc8baaac71b331089d8ca8798101e0c2c91f3bd24e18d406db7ff0e5 SHA512 345aa208a446561e7a038cb5021eb6948940f95dde1291c0b1aa037098fcbe782dbc3f0db4bec17f18eca51f236365ddb396bb7441e01e2d2caa2a600360b756
DIST setuptools-69.1.1.tar.gz 2219821 BLAKE2B 730ead1ef7040213fa6dcdfd3eb5324fd93e15db15b2289f3a7e056500d09268719073b7ae192e5f1c7234afa4347e76eac2cff57bce3076ab08ff1957a51631 SHA512 ddd1e94afa8869bcc521494cd66d9a23ba2b9674ff0a7f7f8609ea2bc61137d8f0b6891708eb7c7308e9ac366edfb66bd4439c73a4ba098ae743ca82b45f12ff
+DIST setuptools-69.2.0.tar.gz 2222950 BLAKE2B 9f2bfee2bc6ca05c319137166d8b7a4fc8352652e7b29385e5dd8e692c2ea17e46b06c9c1ba78d8bb128682e57248e41900fa73bf4c4f323929d170d306e1d38 SHA512 e69abe573304b1c2c074144c9df663fec0d6ce617359f070ca8d57710e4beb99435d0d2124d45a7d8b24889693597e1e03875bc6ff960fa31f6250e1c253b906
diff --git a/dev-python/setuptools/setuptools-69.2.0.ebuild b/dev-python/setuptools/setuptools-69.2.0.ebuild
new file mode 100644
index 000000000000..81e5ed4c8792
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.2.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
+ )
+
+ distutils-r1_src_prepare
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # TODO
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ )
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest -o tmp_path_retention_policy=all setuptools
+}
diff --git a/dev-python/sphinxcontrib-autoprogram/Manifest b/dev-python/sphinxcontrib-autoprogram/Manifest
index 4575caa607bb..bc050f8ce7ab 100644
--- a/dev-python/sphinxcontrib-autoprogram/Manifest
+++ b/dev-python/sphinxcontrib-autoprogram/Manifest
@@ -1 +1,2 @@
DIST sphinxcontrib-autoprogram-0.1.8.tar.gz 18656 BLAKE2B a1334b0d9717f59ffb67c8a60e03b34c1fb0168cc86500ee14c06c44bef5bec1b484997d00be6586832e21e8a97662628636766558af9f79d40eb3da0ae21122 SHA512 a73d52a6195e3b637758b36f86afe07090bab09a655a86dbde3fefaee59f634c3fc880d436c3b14d9d7d4fb58f74765bd13457d0fc9192f1ffd4d654dc6efcd5
+DIST sphinxcontrib-autoprogram-0.1.9.tar.gz 18843 BLAKE2B 9a081113ea2f315618926e6ab88c81fd875899431f95539e9bdc343a88e9422345ef36c442d3697bec9199b8723959e12300a0c26cfd9ec36a2dd18dc76392ea SHA512 f0b4ebffda493c41a88b6fb30f12952bf136134823125e81a473fa9015d11f724aa07e9a6c87295039d1044cbc262971fbf2745e325393cc13627a1b159bc686
diff --git a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild
new file mode 100644
index 000000000000..1f9f80daddd0
--- /dev/null
+++ b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Documenting CLI programs"
+HOMEPAGE="
+ https://github.com/sphinx-contrib/autoprogram/
+ https://pypi.org/project/sphinxcontrib-autoprogram/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+python_install_all() {
+ distutils-r1_python_install_all
+ find "${ED}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild b/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild
index dc2b35d33a4b..fdf757658f56 100644
--- a/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild
+++ b/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild
@@ -41,7 +41,7 @@ S=${WORKDIR}/py-${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
DEPEND="dev-libs/tree-sitter:="
RDEPEND="${DEPEND}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index a412174c0eef..8874968ebe14 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,4 @@
DIST types-docutils-0.20.0.20240309.tar.gz 16064 BLAKE2B c6695b4f3badf21ea2feded98b498985095e0962670af8068aa337b322775f9d3e6661e89ce4cf99d593f9b9bd627e01dfea0d79685f7fe59ed36ce8c28091ba SHA512 a29ca1c5080447f72eb484c7549a6c2306a668ac567b6a32e8a6a06d1e2db98ef01b45c0df79b3b7aa37edffbef5f362e1f0e69298b716228afcf1adc6b9581a
DIST types-docutils-0.20.0.20240310.tar.gz 16336 BLAKE2B 5ca982bae4ccea8f1e8cc56c404917c17543f65f9f13b5f61d4a40957a017c31bbb67530e209357868ab47c3344736aa5b172ac5b211eba0fa0360accb79e655 SHA512 2d54be1ea12e2354ee53c9bb2496da912ac917016e12499635abc9da11a6f4878ca63da0b50d1a9f77fa4bd731c345605ead71038abeb739d5f7258d95e0c794
DIST types-docutils-0.20.0.20240311.tar.gz 16388 BLAKE2B 4b22227a65fb1e3b86d27580292bc296b6a46d7ede27b509114de3db7666363c8b07780914c880d921aa85778e0eeae8b34fbd0e5593199623564d494c7f047d SHA512 55d406241540b7615e48647f4f7f85523952b9d5b6d9aeec7d0a2f6f0412936d2e52e535a6ba26c9f28cafa772abe26e37ccaf60f6168c1aa8313123a5fec9f8
+DIST types-docutils-0.20.0.20240314.tar.gz 18376 BLAKE2B 2e4b83673aa0e1940c89f8089330b13fa04830bc5bae2dfd24f18233041ac95ee95af5136634489328e679661fcab09f32cf729ea582ffc355b071f2b7a0c214 SHA512 4e17174e37d04f0eed82594487965e5a1a2c2016179dc2960420aaf7c2d1338608822304530530df3e87146ac6a2d8461d5110be5e13f1748a642476df03e1be
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.20240314.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.20240314.ebuild
new file mode 100644
index 000000000000..0d86c4835acd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.20.0.20240314.ebuild
@@ -0,0 +1,17 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 807fcf56bd17..e67aab87786f 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1,3 +1,4 @@
DIST urwid-2.5.3.tar.gz 848047 BLAKE2B 42815e22f2659ee25736767391afbf0189b5bec9d1100ce7631efd037989cfacac7ee921666e2400e1ef7ef114261a948cfac172ac993753ce151b370361d375 SHA512 80c32138347a618fc40e1a26fd174e708a9f8e4e9a8e09edc1d9261a9d73a644e356ce375654a55b5fb8838a820b8ba8b1cc47560c5b44c5c74677399845f578
DIST urwid-2.6.7.tar.gz 854504 BLAKE2B 691971a3f1c588fa9ffdf7abbd8a7499c199853cdb071028d138b836a11ef8fbba6427ab40ad7f22b86e8cb3ae6019f55a79beef8a5d212b750e32feaf6acf76 SHA512 66aaf0e6dfc730db03a6ada0fe8fcdbe15a772b90d621fbedf335302c3d212602b81df7c95be035d6a37c38c6714c896994783ab0de519c01f861a7666ec4f1b
DIST urwid-2.6.8.tar.gz 854980 BLAKE2B 4168bcd59710ee46e2af408e5e6331585ee2a260ca94990ff947d259d9aad7153750e6c2fc2e227ad00ce42aeeba063b5b11dd89e83f6c30548a6df5ed992e8f SHA512 34617104804f9eb710d5ed51c95c4d2f6354861f07a2d652b99109c59941561985d9717f928ba77990b3e0406723da02b1eb67d9f2236f31888a21b9de109e2e
+DIST urwid-2.6.9.tar.gz 855865 BLAKE2B 468c3188e110fb3e91dc2aa371aef8c1f66c0614ce116a2185050c39404987d354dba3f0d9e230b3308ecee6c6f7c90c12b91007db43c5e7f0cc9dc1d34d5d82 SHA512 23e692b76f4229ecdb51b00c5d88f38bd1de721f7a8815d91f277979935b7f58654422b11421dd93a901add390c65facb513c166b26b00195fc7826492405ed8
diff --git a/dev-python/urwid/urwid-2.6.9.ebuild b/dev-python/urwid/urwid-2.6.9.ebuild
new file mode 100644
index 000000000000..d33150d89fcb
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.9.ebuild
@@ -0,0 +1,47 @@
+# 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="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf urwid || die
+ eunittest
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index c37aa61dcf6b..e55cfc9fb3f3 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1 +1,2 @@
DIST xmlschema-3.0.2.tar.gz 563203 BLAKE2B a8b31b435d159df65a620d26a7e964745b9a7e6050a32c52bfa039a013e9108b601cdd2a1188503f327900712b2b445dc4279cc50ee3c62022517afc5dfe6425 SHA512 93062230b13bdcc30eed0291c295bdd8eccb50d5d07c8747336c2917e5d949b30f46d1b90f501fb6da06ceda99d162da92b8db9e206fff09fc3c362b05499903
+DIST xmlschema-3.1.0.tar.gz 566760 BLAKE2B d8d1dc61e5eb6897d128ba9ed5257b65190af948946b7ac5d5b9b5fdeb14df42e8a298bc0ed7cdec58cabd237e0c950465bf58be702610496a16000a2f23f354 SHA512 26d6586ede499907bc2b7f0b58c75460d4bfa3761bc029a042e32ede2237234daa8be7b4602da7dec2e28aa945f24e1726fd445189ec31ce4af89c9c5762e1ef
diff --git a/dev-python/xmlschema/xmlschema-3.1.0.ebuild b/dev-python/xmlschema/xmlschema-3.1.0.ebuild
new file mode 100644
index 000000000000..beb366c0501e
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.1.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}"
+}