summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-04-09 16:05:08 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-04-09 16:05:08 +0000
commitb062c7b5b52a24000a705da71626dd653e73436d (patch)
tree1115b4e016f3f83145372a5fcf8471f2e8069ddb /dev-python
parent4ea2f6bb0bc12b8c2f7372d934ff685ce150be36 (diff)
downloadbaldeagleos-repo-b062c7b5b52a24000a705da71626dd653e73436d.tar.gz
baldeagleos-repo-b062c7b5b52a24000a705da71626dd653e73436d.tar.xz
baldeagleos-repo-b062c7b5b52a24000a705da71626dd653e73436d.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/asyncpg/asyncpg-0.29.0-r1.ebuild1
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.80.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.80.ebuild67
-rw-r--r--dev-python/chameleon/Manifest1
-rw-r--r--dev-python/chameleon/chameleon-4.5.4.ebuild23
-rw-r--r--dev-python/deepdiff/Manifest1
-rw-r--r--dev-python/deepdiff/deepdiff-7.0.1.ebuild39
-rw-r--r--dev-python/digitalocean/digitalocean-1.17.0.ebuild26
-rw-r--r--dev-python/ecdsa/Manifest1
-rw-r--r--dev-python/ecdsa/ecdsa-0.19.0.ebuild33
-rw-r--r--dev-python/execnet/Manifest1
-rw-r--r--dev-python/execnet/execnet-2.1.1.ebuild37
-rw-r--r--dev-python/hishel/Manifest1
-rw-r--r--dev-python/hishel/hishel-0.0.25.ebuild55
-rw-r--r--dev-python/hishel/metadata.xml10
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.100.1.ebuild91
-rw-r--r--dev-python/joblib/Manifest1
-rw-r--r--dev-python/joblib/joblib-1.4.0.ebuild55
-rw-r--r--dev-python/jupyterlab-server/Manifest1
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.26.0.ebuild66
-rw-r--r--dev-python/jupyterlab/Manifest1
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.6.ebuild80
-rw-r--r--dev-python/path/Manifest1
-rw-r--r--dev-python/path/path-16.14.0.ebuild37
-rw-r--r--dev-python/pbs-installer/Manifest1
-rw-r--r--dev-python/pbs-installer/metadata.xml10
-rw-r--r--dev-python/pbs-installer/pbs-installer-2024.4.1.ebuild31
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.13.3.ebuild113
-rw-r--r--dev-python/pulsectl-asyncio/Manifest1
-rw-r--r--dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild41
-rw-r--r--dev-python/snakeoil/Manifest1
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.8.ebuild33
-rw-r--r--dev-python/sqlglot/Manifest6
-rw-r--r--dev-python/sqlglot/sqlglot-23.2.0.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.3.0.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.6.3.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.6.4.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.8.0.ebuild (renamed from dev-python/sqlglot/sqlglot-23.0.5.ebuild)0
-rw-r--r--dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch21
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild74
44 files changed, 987 insertions, 515 deletions
diff --git a/dev-python/asyncpg/asyncpg-0.29.0-r1.ebuild b/dev-python/asyncpg/asyncpg-0.29.0-r1.ebuild
index 620ac51a9ffc..304808f7feee 100644
--- a/dev-python/asyncpg/asyncpg-0.29.0-r1.ebuild
+++ b/dev-python/asyncpg/asyncpg-0.29.0-r1.ebuild
@@ -24,6 +24,7 @@ RDEPEND="
' python3_{10..11})
"
BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
test? (
dev-db/postgresql[server]
dev-python/uvloop[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 80526ed81df7..9bb278022473 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.34.69.gh.tar.gz 787293 BLAKE2B 9e46a959f3efdc3e673d38c8e3c30b8ceed1c1f47d685466e4164bcc1000381710bf8d8b6afff0999185ccddf38da591df004c54709729f2181308cb2279c43f SHA512 ef765518de95468e66270cea6dc93ede48547fb37db3ed9429659d85fb25174162cd062814c6adefeb8385c14079e7927f52d66501ab45f8d251ccfc830465e4
DIST boto3-1.34.74.gh.tar.gz 790202 BLAKE2B 4368db3e11d6bda6eee4ccde82bcc0c2c5a67448400ce0d29d221840360348ab1c7d3c8360ff3c91190ebccb30e187c6fc3ed72f29f1a1d1f883888a8cad12dc SHA512 977e1b9f8a9506bd040ff6a9a1df106294ff62a100cf5cb31aeaa363a4f3fe28cab71e4740028202829fac3023bf832bd4ac25b3474c2a5e107892c05b356e0c
DIST boto3-1.34.79.gh.tar.gz 792796 BLAKE2B 97a4f8e6fc33bcfe2817ce353df8ff6354bc89c449e5e29833704e12513aa21129863164c51047b17c7f15a47f0ceb90c60a83071464283292089b2535e8fed9 SHA512 15161face918253eac06dfbeb67adb8ef5ed6902b2eed760feb9fdd3aee0e38da3511aa7d829914b6f80addff7feffae7d3645f7567643a37d3659001d7b6a1a
+DIST boto3-1.34.80.gh.tar.gz 793186 BLAKE2B aa45147344c21291f413580473bdd358d25e69944c16ea43e731465911c5c16fdc1e9fde20d69634debdc7cd0af07a999072ee6ecfb6c0b93a96ecb66dee78b3 SHA512 a43be78c98060a0aeb232dad7bb118768711e375f8137d0b59293397056a360a6a6e7d067651404c4ae43180d9c5e100fd2ee041b8ecc17e9982a30cdfc0e8d4
diff --git a/dev-python/boto3/boto3-1.34.80.ebuild b/dev-python/boto3/boto3-1.34.80.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.80.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 f9bcd11c21cf..5c2a36f1dc5c 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.34.69.gh.tar.gz 12790282 BLAKE2B 3d12eb5eb8e85777b43b3774e783c907f05e50dfe93445920ee0f42a82857ba7a70c5641e3cbfc03ab05f81f7cd989ff79e332bf2ae192b9bf7b3b3cbe6e9c0e SHA512 b520c5d3c6ce2f1db3e8620e5f7c882ed8483928de1cb32d22eabe76262ed8658614a0b1db42ceff445f11b009c48ef9a5761490e5982154e14173750b9e2554
DIST botocore-1.34.74.gh.tar.gz 12820469 BLAKE2B e9d7a35e82aee30666952ea6f74d8d0f695efad2fd0da520b70fdd313cabf3aff6e67fa71543c630bcfb4b4f78f780321babaf118990d8136b79755beadd8a5a SHA512 f7d741bd86e249ae46a7f79828c8b63c66519f9ae203f1a14a17e126c22d9e3d94710f5f5992f057491d3f7e41c7ea180255e1f766dc3bdee96ddb2ac6e28312
DIST botocore-1.34.79.gh.tar.gz 12882231 BLAKE2B 56d7d2a1046a164f4f64f375f608b8646e0f7c266b1c7ab37ff7141fd8d8d843ce2890b0a947f051956f61fb2cfc75c2eb3b3cf70305de4ba9ce2e18d8569ded SHA512 00717ad582e23e1c4f4d803eea2069224fc69c6e701d6b4a55d0d99806cebfb1e2c45c7eb65464b84e0cc63399a7b6235b90ba9245e27fe435eca6079b5c29aa
+DIST botocore-1.34.80.gh.tar.gz 12886772 BLAKE2B a77200c5fa28ec9f1a8d65aae08130906719bd530065407446084354e49962f1db22a0c5370d9634d916c563899f3886613a35c24fa2f02967bbf1d191d27b0e SHA512 b2b767f54426bd7cef6d49cdaa4e3d81a11a557e3364646b1cb738bc3f050172f08127c95bca00b170cf2758a71e1ef0f4273bfa7dda6f6dc05b252f73ac903f
diff --git a/dev-python/botocore/botocore-1.34.80.ebuild b/dev-python/botocore/botocore-1.34.80.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.80.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/chameleon/Manifest b/dev-python/chameleon/Manifest
index 94ae3d660cc8..d9f831354ec1 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1,2 +1,3 @@
DIST Chameleon-4.5.2.tar.gz 178964 BLAKE2B e7225fe77aa9af65fba16aa91857993a7f9e6682b52f650bcca0c8cd78f621fc2a4c71defe9f8067c5912fdc2fcbaeff42aa08815299c1478d184cad7d0dafee SHA512 34077680ff8d185db863278f4191d551b9710824e8d6b6a6dcd8c4abeadc87f926227181a6f5a1d594ea39a99f56627999969230f5231083f6ae61ace8684955
DIST Chameleon-4.5.3.tar.gz 180148 BLAKE2B 952602d4dbee6adcab2eb2fec012ae150014d66e7fb03376da3b9aafd6a129e2727e8b22f50ad23c4e920833243baf79f4b8eb4dadec9ac46be4d3502a239a21 SHA512 60914af16e946db85bda205c6c2a21d82123015239279355c127f33260a774daa4e27cd6d7603444c4f630f4b10d00e65e19d9558cdcf9cc751b593f72aede3d
+DIST Chameleon-4.5.4.tar.gz 180464 BLAKE2B cb77a1a928e67b029038f7e2704f077cc45e2baf79dfb30bdf460d0f940cb8fb30f5e42ef5b977a6c33e070b229ede1b53268d30a5d2f165607db8f03179f061 SHA512 476ecc902e252eca6de0552f4526666eaccd305f973d2cf6035c209174152c27d7dce8f4e8a21b9507a3609c38215446bfaa7203865c6151d02922893422e160
diff --git a/dev-python/chameleon/chameleon-4.5.4.ebuild b/dev-python/chameleon/chameleon-4.5.4.ebuild
new file mode 100644
index 000000000000..d151699b1d62
--- /dev/null
+++ b/dev-python/chameleon/chameleon-4.5.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="
+ https://github.com/malthe/chameleon/
+ https://pypi.org/project/Chameleon/
+"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest
index 423055824973..e337b67d2f66 100644
--- a/dev-python/deepdiff/Manifest
+++ b/dev-python/deepdiff/Manifest
@@ -1 +1,2 @@
DIST deepdiff-6.7.1.tar.gz 409107 BLAKE2B b52b95f166eb564a5357a5f8f2d8759f9931333b857f5cfc62ac99ffb67d8be9cc3972c76e16d9a28b752983db2903089e2bcc0702e768e07d49b5c7fada4bc7 SHA512 89cf198aeaa392e9609641a9bbc1331c8badf3d4b7cafb1afef00f6f6237524dec72467abf9a9afeba5dc08b8f7e8321827faec5b9a8c27ffff97bfc3fdb0db0
+DIST deepdiff-7.0.1.tar.gz 421718 BLAKE2B b6441b9c035db0cc6e4fa83811999e8a83b3faed2ea95bcbdad158486e583ea9d707595d2342f83d0c25f6a5c086a8070c714253e2db09fcaf43de1616d46cda SHA512 facc15beb82744a1b8baf29e0d8f06625e8d4ee4ed7ab5f1b131ad9d44134215651d1c6b19493c83532f612d81752df14aec2dbccc73cb5b994e0bafcaf5bbc2
diff --git a/dev-python/deepdiff/deepdiff-7.0.1.ebuild b/dev-python/deepdiff/deepdiff-7.0.1.ebuild
new file mode 100644
index 000000000000..50f222a66f36
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-7.0.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
+HOMEPAGE="
+ https://github.com/seperman/deepdiff/
+ https://pypi.org/project/deepdiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/digitalocean/digitalocean-1.17.0.ebuild b/dev-python/digitalocean/digitalocean-1.17.0.ebuild
deleted file mode 100644
index 722a15b758a0..000000000000
--- a/dev-python/digitalocean/digitalocean-1.17.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-inherit distutils-r1
-
-DESCRIPTION="Digitalocean API access library"
-HOMEPAGE="https://github.com/koalalorenzo/python-digitalocean"
-SRC_URI="https://github.com/koalalorenzo/python-${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/jsonpickle[${PYTHON_USEDEP}]
-"
-BDEPEND="test? ( dev-python/responses[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs dev-python/alabaster
-
-distutils_enable_tests pytest
diff --git a/dev-python/ecdsa/Manifest b/dev-python/ecdsa/Manifest
index cdab22fd9216..a030d88554d3 100644
--- a/dev-python/ecdsa/Manifest
+++ b/dev-python/ecdsa/Manifest
@@ -1 +1,2 @@
DIST ecdsa-0.18.0.tar.gz 197938 BLAKE2B d4f55591d58a998e69c070983d6cc45720677f83dc6149bd95938c79391df85fe5ce8fe059e961d23b8334d9ac4ef4972bff91a6e9537affc9ddd75c7cbce4f7 SHA512 f26dbeccd8e6ec832405d419b7244ca97b43a2811513493913a4f2f2fd1d2f453068fe0ba7b90b972f42a0d7b9834212fbd4d4559475cffeb1d80075fa954d78
+DIST ecdsa-0.19.0.tar.gz 197791 BLAKE2B bcf8cead08bb9354c91a788e7bf03c9c8befa03f6fcbd65de0ba4442353a68683e7e100cef307387b270eb525c9f7778492f43b83929648866e6c0b5fc09b40f SHA512 7fa90c810800f453ffcdf1872f9a8448cb6081478980cc3d7f282284b4e5483c3a86dc7b1ad6c3a4f46102479e9c8493a9d16903c462383ebf09f9021c0f3217
diff --git a/dev-python/ecdsa/ecdsa-0.19.0.ebuild b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
new file mode 100644
index 000000000000..0a2efd497437
--- /dev/null
+++ b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ECDSA cryptographic signature library in pure Python"
+HOMEPAGE="
+ https://github.com/tlsfuzzer/python-ecdsa/
+ https://pypi.org/project/ecdsa/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/gmpy[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/execnet/Manifest b/dev-python/execnet/Manifest
index cd53dabb27b1..e294d78a8dc0 100644
--- a/dev-python/execnet/Manifest
+++ b/dev-python/execnet/Manifest
@@ -1,2 +1,3 @@
DIST execnet-2.0.2.tar.gz 161098 BLAKE2B 2a0a4d3071a0436d7c6ec450f1b502047e6a367985771aa58050e149ea060e8a573844bd2380c66be914dd00e3f9491b126e84089006787c61c043116f9e5981 SHA512 9e2e7ff4e04f50b12a3dd47d3326a3ea229f64926e8598bdce6ea25bd57afb41e96249e1c9f7333927a38a2793f67cac77965c922980055ed758dee361bf2ce4
DIST execnet-2.1.0.tar.gz 166475 BLAKE2B b1149df5e0073ad9e02520bd74a19a3e527a488088d785b902fab2e7d008fe01195134d2742d6443a52645338b79bc69283ad3402495d64089885793446c4aad SHA512 efd63147748d2f26fd75034b2a0a90c7aa10ac647468ceb27c845c3b66dfa6ffda8b8bd3b5d40ce34f429fb151bfd9fe5c2c6ebc20027789de555232851b5525
+DIST execnet-2.1.1.tar.gz 166524 BLAKE2B cf6ef7007ecee7cd3e205dfaefc7c46dcc555dd4290a9055413373cbc1f8b24c5769e8e2eb58c9d6169ad766539bf44139a691726d791a69a80a2f800fefcf4e SHA512 486f906ad653d16cce7337d9085c36070fe3dd721a3723ca62ceb25862c3ff837120062df028d5aadec17f854c0d46204537e9d75d22079a677f08c50dd48d21
diff --git a/dev-python/execnet/execnet-2.1.1.ebuild b/dev-python/execnet/execnet-2.1.1.ebuild
new file mode 100644
index 000000000000..5091c6e25062
--- /dev/null
+++ b/dev-python/execnet/execnet-2.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="
+ https://codespeak.net/execnet/
+ https://github.com/pytest-dev/execnet/
+ https://pypi.org/project/execnet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+python_test() {
+ # the test suite checks if bytecode writing can be disabled/enabled
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # some tests are implicitly run against both sys.executable
+ # and pypy3, which is redundant and results in pypy3 bytecode being
+ # written to cpython install dirs
+ epytest testing -k "not pypy3"
+}
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
new file mode 100644
index 000000000000..273ee5c48ac2
--- /dev/null
+++ b/dev-python/hishel/Manifest
@@ -0,0 +1 @@
+DIST hishel-0.0.25.gh.tar.gz 825114 BLAKE2B dd7d7bec47700a1ab07976ba31b951adacf7e917dd7ba09419cc6e3b81f1b6609a1f7f14a6c176b0c151ed255cf099f3da60122717b2be9161bd41b7ba080f36 SHA512 16aec1ea495075b4932e1e9d16b07af060b49bb74faed097343bde99c5d2b656b36762b2f2d67fd46c31b700206eec77ecdfb364a1c2cd19bb67c3055abc9e98
diff --git a/dev-python/hishel/hishel-0.0.25.ebuild b/dev-python/hishel/hishel-0.0.25.ebuild
new file mode 100644
index 000000000000..a6feb2a79049
--- /dev/null
+++ b/dev-python/hishel/hishel-0.0.25.ebuild
@@ -0,0 +1,55 @@
+# Copyright 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
+
+DESCRIPTION="An elegant HTTP Cache implementation for HTTPX and HTTP Core"
+HOMEPAGE="
+ https://github.com/karpetrosyan/hishel
+ https://pypi.org/project/hishel/
+"
+SRC_URI="https://github.com/karpetrosyan/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # tests that need anysqlite
+ "tests/_async/test_storages.py::test_sqlitestorage[asyncio]"
+ "tests/_async/test_storages.py::test_sqlitestorage[trio]"
+
+ # tests that need a running redis instance
+ "tests/_async/test_storages.py::test_redisstorage[asyncio]"
+ "tests/_async/test_storages.py::test_redisstorage_expired[asyncio]"
+ "tests/_async/test_storages.py::test_sqlite_expired[asyncio]"
+ "tests/_sync/test_storages.py::test_redisstorage[asyncio]"
+ "tests/_sync/test_storages.py::test_redisstorage_expired[asyncio]"
+ "tests/_sync/test_storages.py::test_redisstorage[trio]"
+ "tests/_sync/test_storages.py::test_redisstorage_expired[trio]"
+)
+
+python_prepare_all() {
+ sed -e 's:mock_s3:mock_aws:g' \
+ -e '/import anysqlite/ d' \
+ -i tests/_async/test_storages.py \
+ tests/_sync/test_storages.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/hishel/metadata.xml b/dev-python/hishel/metadata.xml
new file mode 100644
index 000000000000..0f2e57ded13c
--- /dev/null
+++ b/dev-python/hishel/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 09b1626af468..d37832ff8e6d 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.100.0.gh.tar.gz 9450559 BLAKE2B c26324339dfc770feb51de103227b58ea1be3deb0dc6c54a7ba6a7be6a719ab33503358978da2cc040a93af7c169238e7401ec9567d08c6b51889e42f29b7c7b SHA512 697ff894d1e1033f3f6f8d9d7a301d8874c61d340cac2746ede4a4c8a6b77d7b95044edc3a467c39e5d570f554f07eb7321eb5cfb9de4b648ce31b914ec491c4
+DIST hypothesis-6.100.1.gh.tar.gz 9450717 BLAKE2B b27e3be6b43ee7d140ee00064748cd651683414b1b9f8d697c166ddec7596c11e2c47a814de91b567b4d08568e7bcaab42a88665f8b6882d2807afcfdb967257 SHA512 4b46c5dfb330c65c8fc4afce90ed28309fc377e39d65b1ba0bf086efb5fe53b2be021bcb5e6a90fa6bdad463de6254761faab14fe2ad7814e84dfff08ff1a9d9
DIST hypothesis-6.98.18.gh.tar.gz 9434436 BLAKE2B 45861775caa1657d06469fc8cd0062aee1b408c3b02a58ff4d50b9de9ce62d8fd351c6b8f4b1b7f543fe70d6b8f2c663ad8e9252b833d5c567d3c28449fc3eaf SHA512 cff5cad9308e7b030e38f09a9544ed84f468bc4bd6391a2347777bb7781b116bd64f41338ad32535d427ebda507ce3f0f5bafc0af5a8179976c17d36762679e9
DIST hypothesis-6.99.13.gh.tar.gz 9450425 BLAKE2B cb8d559d95c60a931640c978ad3ed4c9898cc048254f105f9cb79cd8e36c8b28712d48304b17f5a837a1fd69b88102461a057d5d9ea3786a846d61362137d426 SHA512 0d74dcb6c5d8015c8c660b66298a3053fce1ad04191f81b216a05b08f24fdaaccc7470937459614b95810dad4e37c4712da67eeff414ca50af1d1e5fa81b4d64
diff --git a/dev-python/hypothesis/hypothesis-6.100.1.ebuild b/dev-python/hypothesis/hypothesis-6.100.1.ebuild
new file mode 100644
index 000000000000..29919aa8ec05
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.100.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \
+ tests/cover tests/pytest tests/quality
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/joblib/Manifest b/dev-python/joblib/Manifest
index 69a1fe52955c..f54e2992b3dd 100644
--- a/dev-python/joblib/Manifest
+++ b/dev-python/joblib/Manifest
@@ -1 +1,2 @@
DIST joblib-1.3.2.tar.gz 1987720 BLAKE2B f16235ead3ef0172a1e0dc2abad44967b029196f6c8c7a7e0c64283cac80e2b942ebfc2df5fa975bc152f574db023a9705f48b38855a11878e5c21e04cf7d831 SHA512 9b5acba1321351cf2ae548161ced18774b8b316aaf883cc8e77bf58898d1913361a3845d64f1f1f87e4e2394eafd92e0a6a8d67947db0c9a95a40e5f579baae6
+DIST joblib-1.4.0.tar.gz 2115863 BLAKE2B cd61f3523ee697382db601ebb460aa6f4cd35947978fb07473c5e2e5337713a05aee8339acee211be0076d84a00174c37623cd6010b492aee84337abc2e5e633 SHA512 5c7e5475347906cdc8575eac8d2052470408c4ed5267d59a88a9d3126fb72b977d20b24fb0983b070e2f3c101e7da000fc03231733fef62531f9aeffacc47baf
diff --git a/dev-python/joblib/joblib-1.4.0.ebuild b/dev-python/joblib/joblib-1.4.0.ebuild
new file mode 100644
index 000000000000..8915388c5db5
--- /dev/null
+++ b/dev-python/joblib/joblib-1.4.0.ebuild
@@ -0,0 +1,55 @@
+# 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 pypi
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="
+ https://joblib.readthedocs.io/en/latest/
+ https://github.com/joblib/joblib/
+ https://pypi.org/project/joblib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/loky[${PYTHON_USEDEP}]
+"
+# joblib is imported by setup.py so we need ${RDEPEND}
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/threadpoolctl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # https://github.com/joblib/joblib/issues/1115
+ joblib/test/test_memory.py::test_parallel_call_cached_function_defined_in_jupyter
+ # unexpectedly pickleable?
+ joblib/test/test_hashing.py::test_hashing_pickling_error
+ # https://github.com/joblib/joblib/issu
+ joblib/test/test_parallel.py::test_main_thread_renamed_no_warning
+)
+
+python_prepare_all() {
+ # unbundle
+ rm -r joblib/externals || die
+ sed -e "/joblib.externals/d" -i pyproject.toml || die
+ find -name '*.py' -exec \
+ sed -e 's:\(joblib\)\?\.externals\.::' \
+ -e 's:from \.externals ::' \
+ -i {} + || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/jupyterlab-server/Manifest b/dev-python/jupyterlab-server/Manifest
index f5843cca370d..3865e8c202e7 100644
--- a/dev-python/jupyterlab-server/Manifest
+++ b/dev-python/jupyterlab-server/Manifest
@@ -1 +1,2 @@
DIST jupyterlab_server-2.25.4.tar.gz 74772 BLAKE2B 8647840e2bb93244360db07524374f30e6831fddf6c2b89101b2a01f505470649fcc6aa31b40dc18a480628eeb791b4f7488cd91bb921796c3daad36102e535b SHA512 de04d1c5de3507a2465c316686be10ff6398be2f05d9d84ff6e79c376978503bc6ff836bfca67735d85f8ef23a15d6f30ad69268a25855dc4ebc1bd5f7c2fdaf
+DIST jupyterlab_server-2.26.0.tar.gz 75100 BLAKE2B 10f507cf8b6640ee4178d2850561a5d186f9b9004b2d74de7382b4c9a03494d3553e7a2397cafb45b3be60062baf0d3df3026b1f8613e5dd2a597faad0cfc9d5 SHA512 cb9c78ae8afed53637b441767c630666d391a7ce6a19cc5cf8bcc9c3149ef570c5aeaba204878bd4d52806a6e2b9e25f9724536f1addf084bfb15855f7700125
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.26.0.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.26.0.ebuild
new file mode 100644
index 000000000000..579c6102b263
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.26.0.ebuild
@@ -0,0 +1,66 @@
+# 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 pypi
+
+DESCRIPTION="Server components for JupyterLab and JupyterLab like applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab_server/
+ https://pypi.org/project/jupyterlab-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/Babel-2.10[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/json5-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ <dev-python/openapi-core-0.19[${PYTHON_USEDEP}]
+ >=dev-python/openapi-core-0.18[${PYTHON_USEDEP}]
+ <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package autodoc_traits
+#distutils_enable_sphinx docs/source dev-python/pydata-sphinx-theme dev-python/myst-parser
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_translation_api.py
+ )
+
+ EPYTEST_DESELECT=(
+ # Fails if terminal not available
+ tests/test_labapp.py::test_page_config
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin -p timeout
+}
diff --git a/dev-python/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index 6777ede09df1..d9b5563f4be6 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1 +1,2 @@
DIST jupyterlab-4.1.5.tar.gz 21797132 BLAKE2B f3bb8d2292cfa60392b7e97b7852479767e831c4131e1980deaedbf03332d2fec2f01f3e7a6c0f830528e1d99a77f6092a83eb5303d955165946199aed885ffd SHA512 ddd43d5cf7f3ffe18e3baa846270a61a1c5d588901dcc70a32d30ade29273e9c6975640aa89bc9daf58b7fdfc1eeff2f10a9b3f5d174141cbb13a2622579c15e
+DIST jupyterlab-4.1.6.tar.gz 21773628 BLAKE2B b2855ecc4fa0cc892fab9bb79c19a3cec0ea577c9c490571ad4028e9fe35bca87fc61d0035cc889bee14313475825344e1cea69f34af4a908c5d2a304250d983 SHA512 b895aac68c6df3affb47eaebc243ecf7d778228a5adec8b8a047783e341008ab4beb0fe50b92138f765e7a72acfbe906f63f41aebe1a72544fe3030105d52716
diff --git a/dev-python/jupyterlab/jupyterlab-4.1.6.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.6.ebuild
new file mode 100644
index 000000000000..5a2a2e825582
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.1.6.ebuild
@@ -0,0 +1,80 @@
+# 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 pypi xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/async-lru[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.19[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # These tests call npm and want internet
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
+)
+
+EPYTEST_IGNORE=(
+ jupyterlab/tests/test_announcements.py
+)
+
+distutils_enable_tests pytest
+# TODO: package sphinx_copybutton
+#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/path/Manifest b/dev-python/path/Manifest
index 965d42d959b2..bff44a55f1a0 100644
--- a/dev-python/path/Manifest
+++ b/dev-python/path/Manifest
@@ -1,3 +1,4 @@
DIST path-16.10.0.tar.gz 49271 BLAKE2B 36762e0b50d74b07db14ca01c6d94577f24b36c007eda58de4b63197cd91f869efbdc5ac1ceb270f1fc5e5a07c4c87f6cabd10cbac5fac74681f73451a3f73e1 SHA512 a5dfa964f5ffd4c2aa27733716b67437f02fd6dedc8c574bb87a9a3ac64eb60d27c3a05217aa4859293ebd96bdd17cdb1a04ea21c6ad35b7b22f05725826c057
DIST path-16.10.2.tar.gz 49415 BLAKE2B 3784b557bc31b17523a0fe37ebc646f932edd2427c6cae6d3544db29a689026b1e828d0d105234af10787f494ff1afce95e7935a36f01477a9434ce8994113d9 SHA512 df698a44b7c3f0b0dac1f5a3668c3a76f0b473921696bba2e4a66d4b7c7379bcda5938a9800a628dbaa487b6a35920266edee13ea829ee0f4cabb3ec1c30dca1
DIST path-16.12.1.tar.gz 49685 BLAKE2B 2e2fca5db8ed82764686f4cb9a3de0ce18ce92e6e70999ffd93f13638a061cb2b3624d96f91740cba3efc9fcb8d80c37b55ab9595138e90764093901ab05c111 SHA512 144710438a0ed6f433094f9c27c0f9a3de02e6ee3fad337092a3b8d3c969746f330d4380924ba2ef17f99dc2757cde47115e392f6ee393bcd9f650e0f214d145
+DIST path-16.14.0.tar.gz 50076 BLAKE2B 0046501fc05e65a211360e84cd30e312c6b1a18d482a36b8451d338cd8c87749254fc31dbe497ec55d55880dab0eae3b88ce412b2058454c0c1ad01cb180d522 SHA512 1b35bf06413d3f5da5fd818b2327458ef92a3bcb7e0d8108e4db113e3819f3723384650f7f9e889862bfcd2bc761f2be46932d11023f5a1dcda6bb4c51074ec0
diff --git a/dev-python/path/path-16.14.0.ebuild b/dev-python/path/path-16.14.0.ebuild
new file mode 100644
index 000000000000..9b6afa587549
--- /dev/null
+++ b/dev-python/path/path-16.14.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A module wrapper for os.path"
+HOMEPAGE="
+ https://github.com/jaraco/path/
+ https://pypi.org/project/path/
+"
+
+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 ~x64-macos"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # unreliable, not really meaningful for end users
+ test_path.py::TestPerformance
+)
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
new file mode 100644
index 000000000000..64f270ba927d
--- /dev/null
+++ b/dev-python/pbs-installer/Manifest
@@ -0,0 +1 @@
+DIST pbs-installer-2024.4.1.gh.tar.gz 68006 BLAKE2B 5455b00dd08881e78fbbc9b565e9224ee7d04f17855da9869fcb420fcbf8ee3743e6f21113d406bcfb66e786788735bd1ef2d3bfa30a14a5a74fb2c36e8f3d0a SHA512 407ffc7a7f5430d8f889f32b53614cc2c5e3fb05937905d6b43c7ca9151f3d5cb794bcd60633e4945dc62555cc6575d75e0b7b7a1e5dc0c9f99c2318fada3a10
diff --git a/dev-python/pbs-installer/metadata.xml b/dev-python/pbs-installer/metadata.xml
new file mode 100644
index 000000000000..0f2e57ded13c
--- /dev/null
+++ b/dev-python/pbs-installer/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pbs-installer/pbs-installer-2024.4.1.ebuild b/dev-python/pbs-installer/pbs-installer-2024.4.1.ebuild
new file mode 100644
index 000000000000..0984703ff6fa
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2024.4.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+inherit distutils-r1
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+
+"
+SRC_URI="https://github.com/frostming/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/zstandard[${PYTHON_USEDEP}]
+"
+
+# upstream does not provide any tests
+RESTRICT=test
+
+python_configure_all() {
+ export PDM_BUILD_SCM_VERSION=${PV}
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index fa996dc79a55..3779c538aadd 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1 +1,2 @@
DIST pdm-2.12.4.tar.gz 2598160 BLAKE2B 9eecae679a577c9d6172a07ad633be8b840ac5d972ad0e468b368dabc716203d10c5f0c78e87b815aa30af3be37f6370bcb6623fc5d272a52b6c3e4490112455 SHA512 12cabaff90f962ac195a484ea2bafa8a5ec9debdaf90b59b81d28eee51f854b9ac6d894e22a16c5ad8b69740c5df6a6573942a82c4ea5482819e60bc903c8358
+DIST pdm-2.13.3.tar.gz 2609678 BLAKE2B 58eb9fda4bc30fc37ef43b38fa140252242c22a062c4ddef49e90c0ece102cb36ea2186b02fb995a895c6eb80c0da9e602c42c15e83158b3e19fa5d0f55e8d6a SHA512 ea4b0e51d13effe8749a95237799de304047dcec8efc22a41d0985c97ff39447065a9fc84f4510b18055527dd64695bcee4129abcf34221573b2b9d39c2a3c92
diff --git a/dev-python/pdm/pdm-2.13.3.ebuild b/dev-python/pdm/pdm-2.13.3.ebuild
new file mode 100644
index 000000000000..b03c69ac58d1
--- /dev/null
+++ b/dev-python/pdm/pdm-2.13.3.ebuild
@@ -0,0 +1,113 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.2.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ dev-python/pbs-installer[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.15.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pulsectl-asyncio/Manifest b/dev-python/pulsectl-asyncio/Manifest
index ecfee5f80efd..302df417b234 100644
--- a/dev-python/pulsectl-asyncio/Manifest
+++ b/dev-python/pulsectl-asyncio/Manifest
@@ -1 +1,2 @@
DIST pulsectl-asyncio-1.1.1.gh.tar.gz 19425 BLAKE2B c950dc0e003c6795fba0b122ed9b5e3c0bb61adb1a26901f467e508ff3def64bc7c0a25e4250decbbd55aedd66ef5b030ced004e797a94ee0a5988043cd7dedb SHA512 b495295ee13d54e136cd70daaf3675239aa96faa284bd2ad0d21496821ee818f67ebbe83269a4201ea0bee99b5b2b78be3945909e1b2519078bc38c2529734bf
+DIST pulsectl-asyncio-1.2.0.gh.tar.gz 19517 BLAKE2B 919909acfabfefa1dbea99cef6285483652649c111df6f3f6719d92e35ea548b54e6c0a60e4277b69610ee9a58c2c29c3355b7f2fe2780d773aa2c89513ce9a1 SHA512 b560c38b6d18a4c73551ae4ba34243f0043dc18426141c128c6ca3e8bd30f4d94d8718c3003ae506be038bc645ee569b77e6289b97ac913daa1e42e6b9aef03b
diff --git a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild
new file mode 100644
index 000000000000..32ad8b4aacb5
--- /dev/null
+++ b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023-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="Asyncio frontend for pulsectl, Python bindings of libpulse"
+HOMEPAGE="
+ https://github.com/mhthies/pulsectl-asyncio/
+ https://pypi.org/project/pulsectl-asyncio/
+"
+# sdist is missing examples that are used in tests
+SRC_URI="
+ https://github.com/mhthies/pulsectl-asyncio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pulsectl-23.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ media-sound/pulseaudio-daemon
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:,<=[0-9.]*::' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/snakeoil/Manifest b/dev-python/snakeoil/Manifest
index 736b73d859ed..5ba55cad4100 100644
--- a/dev-python/snakeoil/Manifest
+++ b/dev-python/snakeoil/Manifest
@@ -1,3 +1,4 @@
DIST snakeoil-0.10.5.tar.gz 183358 BLAKE2B 6154eb0b5ce55aefc67484dc33c8a6e36ee903bce4293045252a8c9a3b4ecfc27690c720bb46842c1bca8c14ef59fbae4d3c1f02ebd46a7c91c1c9fbd1aa1532 SHA512 fafc04aa65423ebb3db66daa9c239bdf0968722b8ac14c1206dd3f26e3960d832fd15001e320463f98ca142ec7e1d6bff73ebc0ab10c3c5d3cde241b8160fdc3
DIST snakeoil-0.10.6.tar.gz 174265 BLAKE2B e1d80bdd0eb37604f77b385e31b45a4b5437cf33ca01593b0ec091351e221dd5fea1b631d2962807fd63e5b59cbfa9d953149bf686821011bb37525156cbef79 SHA512 2534398ede5a112c493ffb59c32ad8f1eecea8992d8f97ae37d8d825a428383338820d9a70f784999690367c84eca2bd2cbdb21a73f2b426157a9a917efeb729
DIST snakeoil-0.10.7.tar.gz 174373 BLAKE2B 73a58adbb653b979b9c3f4b3cbdeef8ec5a3c8ba6262788a9694a41779660efcef724e1b318be1819dd2c2e2170d7d9e8e6bc615d0ad824cccb662527e204bfc SHA512 b84851f39565a0cfdb32e86744472426ac7502507c12e9869ab5f1eb15913ef6372a1f55465a1e6dbf3832a98bb14856004948dbc1197c454ac046423bfb15af
+DIST snakeoil-0.10.8.tar.gz 174380 BLAKE2B 96c5f4e106513ee8061c6278345ac132510202faa0e915b362170ee7de5f23f0b7bfdc671c0c07721f57eeeb90df5f6851be70d4541295029d93126ea680e50b SHA512 7088cd3fb34bc666a51ddd59b0bf6c9d9da2f04727057ffa5b74ffb188efd63153afcf45442e99b8e1611642b71cf92518dafcacb85717dfa82370df18458497
diff --git a/dev-python/snakeoil/snakeoil-0.10.8.ebuild b/dev-python/snakeoil/snakeoil-0.10.8.ebuild
new file mode 100644
index 000000000000..80247352faf2
--- /dev/null
+++ b/dev-python/snakeoil/snakeoil-0.10.8.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git
+ https://github.com/pkgcore/snakeoil.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+ inherit pypi
+fi
+
+DESCRIPTION="misc common functionality and useful optimizations"
+HOMEPAGE="https://github.com/pkgcore/snakeoil"
+
+LICENSE="BSD BSD-2 MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/flit-core-3.8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 95de235c385d..42950a188d46 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -19,12 +19,8 @@ DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d7
DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
-DIST sqlglot-23.0.5.tar.gz 12856796 BLAKE2B 45379016755817b03b2fc62fa4360d3a5f1313cf0d0206996bee5dd996f7fd848409fd613c45539aee027a3b47263aeb1912832f7d7fc219d8c22a4e7874d3f2 SHA512 424a7ce4654fc72e02269e5a6976279251dcb24ea17e450bf23641e563e5b5675063d80d38b76b9180c828715c6cae59e1cf4146f3d5a985aa9a7871ddf3ccb2
-DIST sqlglot-23.2.0.tar.gz 12887764 BLAKE2B b8aa9af7fe52d8318a99aba2407011bb11d2a1604ed6c19147024035bd3899128dffbd7dac8678567b953cc04937576f61966e4b09b329b7713f6a4e70546e2b SHA512 871a6c730ddb709bd9460bb333faaa46d918b1fa038458790b186b00e6e3245eafeee31d36bc25c322eccce4de2723ba2bce37930f36a094b0f258e6d541c186
-DIST sqlglot-23.3.0.tar.gz 12889395 BLAKE2B 269e532708e1d7413f91407676fdbf90a93e22115a497255316ca50a3d864a7c8e99dc6009761ae3db92195f603f9013654269c4277d03f93b3fab9b3e951fe6 SHA512 3040b9dcb8f622c5a5e9b9ecc28f4b07a7e1cc9bce537689325ace3f4d851af168629b489cf245cbfa5e2abfd48df0c98c0e0c46abe0d473a7bc3d3341845ba4
-DIST sqlglot-23.6.3.tar.gz 12928641 BLAKE2B dd6ea9e42eb231cb57d35d90442edcd33081ce09750fad58283f09963853faa9c600fdb1ee816c6489703a34a1216f7e0934221e36717f897e5a4f63a0611aae SHA512 589dc2578bd221de734ed7ac6dc9b0ae7ba52d735c809a43b3757ced29aff86b52aa41140a2951601a86088236e86e0f164f5f4257376b5e46619640934d651d
-DIST sqlglot-23.6.4.tar.gz 12929221 BLAKE2B abfac6a52263d93f25beb2c0d9198d73c7bc24f9d9086597a50f12319249869177f3a48e4ac5dc548923842b5fb43b91bed5888d18abb0daddc476ad24aab509 SHA512 45ae26c5cf6635e564cbf1ae68ca6792969cfdeb1dbfb3b8ded7ef18222e6d257ab773274a73f77425858304140ebc65f50e39b795dbec0c11c221cf18b0cac7
DIST sqlglot-23.7.0.tar.gz 12930040 BLAKE2B 2edd122e351286948f7adeaea6ead40a4c4ffbe9ff141f8fb0ded2ba8153ff90d051b4c6e5335f0ebb07c816956cb39164918bddc7ab2ef6c805e8713338243e SHA512 31d7eba56a74943cbff4275280c527a1ceeaa69b26fc992b7b227e9bcb836487ce57dfb1f562df1b6780128b1479d2c7f65a8497cb237e6618d8be9ad972130d
+DIST sqlglot-23.8.0.tar.gz 12933026 BLAKE2B 4f29458d6fc4e45b81e37882a3722dcc82a3cc5e3103234f81629c01fb14ff5aa157d6faf006ed10be15d275b0e5a5575b320aa54d673ddd7be08135c67b5d55 SHA512 dd69eb0fe28cbfb6b928c1e2cfe020469da759e75fa73912160e743ae3285cef816b898f3668dd4da87f9f37649310ff67d0f02ee0787c32eff09a15b4ed7138
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
diff --git a/dev-python/sqlglot/sqlglot-23.2.0.ebuild b/dev-python/sqlglot/sqlglot-23.2.0.ebuild
deleted file mode 100644
index c040bab3734b..000000000000
--- a/dev-python/sqlglot/sqlglot-23.2.0.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-23.3.0.ebuild b/dev-python/sqlglot/sqlglot-23.3.0.ebuild
deleted file mode 100644
index c040bab3734b..000000000000
--- a/dev-python/sqlglot/sqlglot-23.3.0.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-23.6.3.ebuild b/dev-python/sqlglot/sqlglot-23.6.3.ebuild
deleted file mode 100644
index c040bab3734b..000000000000
--- a/dev-python/sqlglot/sqlglot-23.6.3.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-23.6.4.ebuild b/dev-python/sqlglot/sqlglot-23.6.4.ebuild
deleted file mode 100644
index c040bab3734b..000000000000
--- a/dev-python/sqlglot/sqlglot-23.6.4.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-CARGO_OPTIONAL=1
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.19.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- smallvec@1.11.2
- syn@2.0.41
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- unindent@0.2.3
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-SRC_URI+="
- native-extensions? (
- ${CARGO_CRATE_URIS}
- )
-"
-
-LICENSE="MIT"
-LICENSE+=" native-extensions? ("
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
-LICENSE+=" )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- ${RUST_DEPEND}
- dev-util/maturin[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
-
- if use native-extensions; then
- local DISTUTILS_USE_PEP517=maturin
- cd sqlglotrs || die
- distutils-r1_python_compile
- cd - >/dev/null || die
- fi
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
- )
-
- # make sure not to use an earlier installed version
- local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
- rm -rf sqlglotrs || die
- epytest
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-23.0.5.ebuild b/dev-python/sqlglot/sqlglot-23.8.0.ebuild
index c040bab3734b..c040bab3734b 100644
--- a/dev-python/sqlglot/sqlglot-23.0.5.ebuild
+++ b/dev-python/sqlglot/sqlglot-23.8.0.ebuild
diff --git a/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch
new file mode 100644
index 000000000000..3993b0847957
--- /dev/null
+++ b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch
@@ -0,0 +1,21 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index b73202cd..905f3f4b 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -107,10 +107,12 @@ def dev_server(xprocess, request, tmp_path):
+ # Unbuffered output so the logs update immediately.
+ env = {**os.environ, "PYTHONPATH": str(tmp_path), "PYTHONUNBUFFERED": "1"}
+
+- @cached_property
+- def pattern(self):
+- client.request("/ensure")
+- return "GET /ensure"
++ def startup_check(self):
++ try:
++ client.request("/ensure")
++ return True
++ except (ConnectionRefusedError, FileNotFoundError):
++ return False
+
+ # Each test that uses the fixture will have a different log.
+ xp_name = f"dev_server-{request.node.name}"
diff --git a/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild b/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild
new file mode 100644
index 000000000000..c5b3ca03f6c7
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="
+ https://palletsprojects.com/p/werkzeug/
+ https://pypi.org/project/Werkzeug/
+ https://github.com/pallets/werkzeug/
+"
+SRC_URI="
+ https://github.com/pallets/werkzeug/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
+"
+# NOTE: remove the loong mask after greenlet gains support for loong
+# see https://github.com/python-greenlet/greenlet/pull/257
+BDEPEND="
+ test? (
+ dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xprocess-1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-2.3[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ !hppa? ( !ia64? ( !loong? (
+ $(python_gen_cond_dep '
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ ' python3_{10..11})
+ ) ) )
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pallets/werkzeug/issues/2875
+ "${FILESDIR}/${PN}-3.0.2-pytest-xprocess-1.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # RequestRedirect class started incidentally being tested
+ # with pytest-8, though the test isn't prepared for that
+ # https://github.com/pallets/werkzeug/issues/2845
+ 'tests/test_exceptions.py::test_response_body[RequestRedirect]'
+ )
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ "tests/test_serving.py::test_server[https]"
+ tests/test_serving.py::test_ssl_dev_cert
+ tests/test_serving.py::test_ssl_object
+ )
+ fi
+
+ # the default portage tempdir is too long for AF_UNIX sockets
+ local -x TMPDIR=/tmp
+ epytest -p no:django -p no:httpbin tests
+}