summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-09-13 18:17:34 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-09-13 18:17:34 +0000
commitc2b0c2bbc75879b7c5a776ab5e151614ec92d93f (patch)
tree6cefc69957f9b86ec9ef025ed331d3c77e3dfbe2 /dev-python
parent1747e65f3ca29024415035bbabc8f17b4453f82a (diff)
downloadbaldeagleos-repo-c2b0c2bbc75879b7c5a776ab5e151614ec92d93f.tar.gz
baldeagleos-repo-c2b0c2bbc75879b7c5a776ab5e151614ec92d93f.tar.xz
baldeagleos-repo-c2b0c2bbc75879b7c5a776ab5e151614ec92d93f.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/GitPython/GitPython-3.1.36.ebuild84
-rw-r--r--dev-python/GitPython/Manifest2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.28.46.ebuild68
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.31.46.ebuild68
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild24
-rw-r--r--dev-python/findpython/Manifest1
-rw-r--r--dev-python/findpython/findpython-0.4.0.ebuild21
-rw-r--r--dev-python/imageio-ffmpeg/Manifest1
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild32
-rw-r--r--dev-python/ipywidgets/Manifest1
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.1.ebuild42
-rw-r--r--dev-python/jupyterlab-server/Manifest1
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.25.0.ebuild66
-rw-r--r--dev-python/numexpr/Manifest1
-rw-r--r--dev-python/numexpr/numexpr-2.8.6.ebuild39
-rw-r--r--dev-python/pandas/pandas-1.5.1.ebuild2
-rw-r--r--dev-python/pandas/pandas-1.5.2.ebuild2
-rw-r--r--dev-python/pandas/pandas-1.5.3.ebuild1
-rw-r--r--dev-python/pandas/pandas-2.0.0.ebuild2
-rw-r--r--dev-python/pandas/pandas-2.0.1.ebuild2
-rw-r--r--dev-python/pandas/pandas-2.0.2.ebuild2
-rw-r--r--dev-python/pandas/pandas-2.0.3-r1.ebuild2
-rw-r--r--dev-python/pyaml/Manifest1
-rw-r--r--dev-python/pyaml/pyaml-23.9.6.ebuild30
-rw-r--r--dev-python/python-engineio/Manifest1
-rw-r--r--dev-python/python-engineio/python-engineio-4.7.1.ebuild59
-rw-r--r--dev-python/rapidfuzz/Manifest1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.3.0.ebuild50
-rw-r--r--dev-python/rpds-py/Manifest2
-rw-r--r--dev-python/rpds-py/rpds-py-0.10.3.ebuild70
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.31.0.ebuild123
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-68.2.2.ebuild125
-rw-r--r--dev-python/simple-websocket/Manifest1
-rw-r--r--dev-python/simple-websocket/metadata.xml10
-rw-r--r--dev-python/simple-websocket/simple-websocket-0.10.1.ebuild26
-rw-r--r--dev-python/widgetsnbextension/Manifest1
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild30
42 files changed, 999 insertions, 0 deletions
diff --git a/dev-python/GitPython/GitPython-3.1.36.ebuild b/dev-python/GitPython/GitPython-3.1.36.ebuild
new file mode 100644
index 000000000000..000208c03eb5
--- /dev/null
+++ b/dev-python/GitPython/GitPython-3.1.36.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+TEST_P=GitPython-${PV}
+GITDB_P=gitdb-4.0.10
+SMMAP_P=smmap-5.0.0_p1
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="
+ https://github.com/gitpython-developers/GitPython/
+ https://pypi.org/project/GitPython/
+"
+SRC_URI+="
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${TEST_P}.gitbundle
+ https://dev.gentoo.org/~mgorny/dist/${GITDB_P}.gitbundle
+ https://dev.gentoo.org/~mgorny/dist/${SMMAP_P}.gitbundle
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ git config --global user.email "travis@ci.com" || die
+ git config --global user.name "Travis Runner" || die
+
+ git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
+ git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb || die
+ git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
+
+ cd "${T}"/test || die
+ git rev-parse HEAD > .git/refs/remotes/origin/master || die
+ TRAVIS=1 ./init-tests-after-clone.sh || die
+ cat test/fixtures/.gitconfig >> ~/.gitconfig || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # performance tests are unreliable by design
+ test/performance
+ # unimpoortant and problematic
+ test/test_installation.py
+ # Internet
+ test/test_repo.py::TestRepo::test_leaking_password_in_clone_logs
+ test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
+ # requires which(1)
+ # https://github.com/gitpython-developers/GitPython/pull/1525
+ test/test_git.py::TestGit::test_refresh
+ # TODO
+ test/test_submodule.py::TestSubmodule::test_base_rw
+ test/test_submodule.py::TestSubmodule::test_git_submodules_and_add_sm_with_new_commit
+ test/test_submodule.py::TestSubmodule::test_list_only_valid_submodules
+ test/test_submodule.py::TestSubmodule::test_root_module
+ )
+
+ epytest -o addopts= test
+}
diff --git a/dev-python/GitPython/Manifest b/dev-python/GitPython/Manifest
index fb6036e55b92..40dd14d4172a 100644
--- a/dev-python/GitPython/Manifest
+++ b/dev-python/GitPython/Manifest
@@ -6,5 +6,7 @@ DIST GitPython-3.1.34.gitbundle 9638239 BLAKE2B e9bd820ac329928871a6341c9ed0fc85
DIST GitPython-3.1.34.tar.gz 198460 BLAKE2B 7045ce1cba39043564a6f89b99d11779327ffd9098178b7e80a32c6cf0ed2200fb2ddd4f16b9e09e190628c63acbc02afd2d42d20fd04c0df5018c3619e06d5e SHA512 d0eee7e04bd542a8cad8312d95ef0cbf60964e4aec71e825003d792f9d6c7e20c9603b793f75a87f0fed223148f21b8fc51c98f47164440f2f243a1b81427b35
DIST GitPython-3.1.35.gitbundle 9605813 BLAKE2B 37eee9cbf4e1824b26f5cca987c82919dcf2d8fc131ce89a178a3bb2f2b56f249f23a9ae9ad09244ad80b043da6df817bed24418cfa07d7219049769034b5893 SHA512 d12a48df6ddba440fa02ad0903b5089154eb232264eccc1274c712989028e3c991506b9bf49259a535071bc1c84a0f38fb17f8e705dc482d55f5d1c883622238
DIST GitPython-3.1.35.tar.gz 198670 BLAKE2B 65700e88fc124043d1ca9cc896b8b7a2f84eeba38923a68d74a27ee684f8f3adbe1fc34044db71167b63c3069f34ec2d714a906ec476adbbec038ce65d7fdd6b SHA512 5b749ffd0d1d47bf6be9f714e4faa2ca3b353da2eedfaf99d344bde030777f98a04ebe877eda98b1c8ab7c129238d855e6bf238d3a2433219faf0cd1695509bc
+DIST GitPython-3.1.36.gitbundle 9634402 BLAKE2B 7ab020b412b43ade1171ee7c7080929a5824cb2955e015615152b5faf802f9373ba34c5ce5626ef8541686239ff263f051de72934618d8432d4031f22c20d0f3 SHA512 de1c51232c2ee89668fc4671c7b0615ba4620d292fd1097f25b0f2eedda927c68d6529521adae7f61415f8042801d9620cc7a8c7d0b40236b92fe843f28b5d89
+DIST GitPython-3.1.36.tar.gz 199490 BLAKE2B 29a6ff6345575674b1ca07d178346510996b4610963b6c46dceb79991afa2fd3ed81a5823ab4d7d57e05564f68a9ac9be8d3144a621ff5252a2b581757500845 SHA512 f81a62a224d85c26783e69bed7279e08e772a411a88bff398a979a3302a91f70e27c22fbe635dcf2bb8d4af2eaf1af49946f78b67a7cc909a5e67332da9fd74d
DIST gitdb-4.0.10.gitbundle 1485461 BLAKE2B 5a217c609a402cd7888da1502b25d217812503cd703cda8bce3c7159732c59d7f4bcd52688a5da457f43fde1645a6db79588a6fc8cc8dff5c58e9dcbaef79b9a SHA512 98dba48f75e28eaded791f91c611e07bef73c28a7f8ac58889b05d04f4b3699a85a5be1c829ea3e2f380507a9009f35bc552bb4260564127e2863807f9b4712a
DIST smmap-5.0.0_p1.gitbundle 324544 BLAKE2B 69098c7644abaec7f32226cad7ff3008e49d94c9f7349d0b815223249c20bfd2b51a50474e51864821f30c98f5982e5c35ce9217145a1e5d11326492c41faecc SHA512 4f36ca2c94ddfeb949c880fb52c3b1905d144dd59b95f2f05c93ed7b694dcb128218a2800ca23b721fbeff9a1920e8c3326675098e2ef0361ff6e90c8c2850ba
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 0e1b00a2ae6a..3637ab63e743 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -8,3 +8,4 @@ DIST boto3-1.28.42.gh.tar.gz 697860 BLAKE2B c5a4550a222a7ec7d2f09af1e06bfdbcac92
DIST boto3-1.28.43.gh.tar.gz 698144 BLAKE2B ff0565b2fa023cb00adc6eab8b151fc2cca2f75cfec35845cb317a6e7aceede5c9b4c69f0e7e62daaefb1d7797d7a396154bfecb37c0d1c8baac81a5d8a7e352 SHA512 bdcb483f080c7fb3019c32347834e6096a1fb5f8ccad3cd9a50dc4fd1fcc66cc0810ad70d7a831a22e2e3a416f01415bbf80cf1d48b0c2c11714089e184d6c09
DIST boto3-1.28.44.gh.tar.gz 698689 BLAKE2B 9c23bd7aa680f59ad686ad5ec46dd751d22b5d9769597b34c3210d2da732c0751a168f6f90488909e76820bb99c222861f68dc0e9998604094a02a30da213ddc SHA512 2c027372afbcbcdc60a77933a92b5e48757f2b19deb7b5fbaf8ff7eb7dfe24af1919ac4b8c5e619233ffe88f22e51d927ff648e43a9ccf76863959bbe07b5f31
DIST boto3-1.28.45.gh.tar.gz 699111 BLAKE2B 6873e83e58d4a778b5296c7def5ed5060f5d1d18c1b123e1662be8688a683aac8fe8f10821a59ac0cfb6192e925c15fe8aafc46b6bd1ddc261142024427d9b7a SHA512 8d8f6b9735995ee3ff5f47ddd79d19ec490da116454f7adbf65a22dd592b82727e7528236d4bca577ebe7857a2f9e14ac34357988fb958696b81e54162d8b081
+DIST boto3-1.28.46.gh.tar.gz 699277 BLAKE2B 7bc3a739cbb40b56c7b993132571add6d77f6a1941b00a1ae35cfa62a836a7b21dfe572d6ccccaf674b20abfe4895d53d3247c4fa52410fed276ace282a05fd1 SHA512 8a6a1b8325da12e75563cd8fc7973f79d1c2a2e418c8a5401064525381f06800c8a4e282253af3330e301a56fa74290743ea5f0a516bb4f017d8f23c9ed7e43c
diff --git a/dev-python/boto3/boto3-1.28.46.ebuild b/dev-python/boto3/boto3-1.28.46.ebuild
new file mode 100644
index 000000000000..e654679ffe12
--- /dev/null
+++ b/dev-python/boto3/boto3-1.28.46.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+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} \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 6c3bd2a3005c..aa408e035a05 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -8,3 +8,4 @@ DIST botocore-1.31.42.gh.tar.gz 11936544 BLAKE2B a1da9ec08885f84c458f62142056042
DIST botocore-1.31.43.gh.tar.gz 11936649 BLAKE2B ad663783c71255afac612f96f06b2a64f73bd41f32c02386d613d2c6b9f492943c7194f4e58aa62ece2df748d3812728ebdb0636acb3beb53278448829bad50c SHA512 71a718000c46102bcac50f34b1a477c5f788a2feea74629e4db8ad0b482711dbe8f5799424a304ff04d3bbff4acc68407a960008a1c9fe376972ca05b0c01ac0
DIST botocore-1.31.44.gh.tar.gz 11937780 BLAKE2B 38660a6025cef328a4df7e3f0170a79d86f3febd68056993a0aeb8b30a2729abaa914cd6def8c38c3b61a905eb4736cb6232daa4f2e6d7e7140a3a1e23193206 SHA512 29fa176a6b753fc9005f79a19eed4f1a065e1e34d71cc462647c2260b45cc3c10ee720b06a5c8d4471f6d4e6a7b24ee2ae2d70d7973792c64985edb1e0578d99
DIST botocore-1.31.45.gh.tar.gz 11938951 BLAKE2B 842d76cfea05de7515d6dfe8c977c8981924e400ebf518d5ed139c2c12b517b7136811a50e4bf768fb45d2d18e782e82d9482566d9e90a06cf0e76485fa931a3 SHA512 8ad8de83dbe5aa1b90da0627b25022e80df9b4d759050c5baf72b1cc8f29a8df260017e943c7f4b9b9b5b4b112c4acb15a8998531a48777de926dee54af82424
+DIST botocore-1.31.46.gh.tar.gz 11938173 BLAKE2B 99c9b49b8403d005f0153f1bf89f6da8708b9c39c7ac4d8b00bae181ae1663cda95470ff804e38b582f4a07047a21167475aa75247b4003e8bbca887dadde944 SHA512 51a7d1df2c7c2e7098dbca05e602af0975988fe8ee4c608235608b27a338e016b16b1cf6605a74ebe52e77b335333d06a3c9b4338c2843dca19dec1c64c1407e
diff --git a/dev-python/botocore/botocore-1.31.46.ebuild b/dev-python/botocore/botocore-1.31.46.ebuild
new file mode 100644
index 000000000000..10b7950a4ee2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.31.46.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit} -p xdist -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index e0c862d3f1d2..b3129b7c15a3 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -3,3 +3,4 @@ DIST setuptools-68.0.0-py3-none-any.whl 804037 BLAKE2B 743ab93b17f2e53e612c518d2
DIST setuptools-68.1.0-py3-none-any.whl 805159 BLAKE2B 0fcf1492ce9a9d23700b2c6ebfc487f4e6be6fdd7b3a9601bb7966e06ad9f790fc5d5f96f859e28da47e1afb03e1ca73fe73d7cff53f5173b65986c05f6de011 SHA512 6d66b29a9f7a17dbb077f4f6c2626d27a17b40f9688afd22ca05371c9fb01159cd8f2e20d2d2584958343322a8a081bbf98d204fcf929ce112c71b0523525c62
DIST setuptools-68.1.2-py3-none-any.whl 805130 BLAKE2B 215d46c49094a6f5b5748354f598082e3740840901b8c8af627308ec4879bd0f23e370c9b1ce5c8c00c5299d4e2fd21800d20b56b93d78da2ab26246e30c0b03 SHA512 acce5ba5d446479988ac2f16ab38cdb8750bd6b1cdaab259f05f840ac86071c8b5f036913f83764c30a172df2111c50192852c17a69abc8980bc87c3a5ba3358
DIST setuptools-68.2.1-py3-none-any.whl 807862 BLAKE2B 0ab8273ff15c1e3ac17a6a250e7ec79c432d1ac95e460c5d0121c8f370d618fafaf7adb5669fc6387584ef75081f6d0ed6ecff4b1b9fdfbd5fe0fe8fff3adde7 SHA512 0de9c413aa7c63a81406e26ea85e25cf8dc5ad8cebd1b9dcada1e7a3af7a41b158af49c245bf7290853ac6b1493211fbc2b4804121edb285b94ed59f62bd6fac
+DIST setuptools-68.2.2-py3-none-any.whl 807864 BLAKE2B 1ae4dab8a589c95281cac145c3e06b4027b585065a5191a9d6dd9c77730a096b592154863c555d8098c10425dfef315de3b79c6b631e8f6aacc0f234795f95fc SHA512 6e0d854040baff861e1647d2bece7d090bc793b2bd9819c56105b94090df54881a6a9b43ebd82578cd7c76d47181571b671e60672afd9def389d03c9dae84fcf
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild
new file mode 100644
index 000000000000..8346a1bd0f6d
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2023 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/findpython/Manifest b/dev-python/findpython/Manifest
index 420bb159a2fc..8fee99c945ef 100644
--- a/dev-python/findpython/Manifest
+++ b/dev-python/findpython/Manifest
@@ -1 +1,2 @@
DIST findpython-0.3.1.tar.gz 17379 BLAKE2B 73be0b8c064f0417c7023b367328c2694e74de4559acd48cf9faac8cb73b1450c15269b0078bc20392275cb032e57615e2345e9b72b5623262816f2ea3901aa0 SHA512 a9931cd305a12302753fc74be24f845242ac1d4a0b0bc4494dfaec4a32cb1edc88cc30f0924b24109db01409e20a4aa8dc3c3e3136cc8e780b00cd3a0eeb9816
+DIST findpython-0.4.0.tar.gz 17460 BLAKE2B 08536fe5187f34fcd705afbe4fa796229b8ac5deed0c679c24830fe0dca431484b87e454b094f4ce2334b388a868abfd9bd75ad01b179ee2b613bcf1406738ab SHA512 cfe0152cf0cc76d70f5a0ecbfc0c0ffacde038cab9b35c5bc7960176d63743e9037c2a91cdff95cef35e02864777412bae5528089fc8f059b368b7ab9d472a03
diff --git a/dev-python/findpython/findpython-0.4.0.ebuild b/dev-python/findpython/findpython-0.4.0.ebuild
new file mode 100644
index 000000000000..f9d36cff7a46
--- /dev/null
+++ b/dev-python/findpython/findpython-0.4.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2023 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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A utility to find python versions on your system"
+HOMEPAGE="
+ https://github.com/frostming/findpython/
+ https://pypi.org/project/findpython/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/imageio-ffmpeg/Manifest b/dev-python/imageio-ffmpeg/Manifest
index 001645b4d617..e63e7f0825f6 100644
--- a/dev-python/imageio-ffmpeg/Manifest
+++ b/dev-python/imageio-ffmpeg/Manifest
@@ -1 +1,2 @@
DIST imageio-ffmpeg-0.4.8.gh.tar.gz 27124 BLAKE2B 84ba7cbb46feae7e95b9d6f61e9b3289a753da7d78ad2848b593969c7f2a6f9e36307ca07a4b03f672fe8f61c697dcbf2dc236a2545b9ca9547fa6f174c96220 SHA512 aa6179d8c8cdbb49a60bea5ad570c6343d5e6b5a2678e88bacc484916ff806311c121143342f039ba9d41c8ac46ffbfe0adefe298e5eba0052d72c6e1707c4a6
+DIST imageio-ffmpeg-0.4.9.gh.tar.gz 27344 BLAKE2B f9bf6421859f8b17aee5300613a14de9883436aaa724b61b8068498f533cc24ab4c8372a6de6ce4ab49218abb84af8a35e29e1ccbe9c913fcdcf2db159f13a92 SHA512 ebf63b9ac9c733d4c12d3aa4c6a9e81dd0128795a040e65df03bfae00e3562a3976eaa2f4058562bbddc3f8d63d6bf2a38133de4d2ddb0d2dc62ffab2449e143
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild
new file mode 100644
index 000000000000..4742dcd93579
--- /dev/null
+++ b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2023 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="FFMPEG wrapper for Python"
+HOMEPAGE="
+ https://github.com/imageio/imageio-ffmpeg/
+ https://pypi.org/project/imageio-ffmpeg/
+"
+SRC_URI="
+ https://github.com/imageio/imageio-ffmpeg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+# ffmpeg is used as an executable during runtime
+RDEPEND="
+ media-video/ffmpeg:*
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest
index ad2e6c2ca61b..b50e9635e826 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1 +1,2 @@
DIST ipywidgets-8.1.0.tar.gz 116121 BLAKE2B dbe8f137294820c6e2da7aaa2ffa1a3b13da30888d70384a174bbc29f85e0e826968e4ccb719bf8ca5d3abce342b1e594a35e814e8b32ac52229ead36b9a068b SHA512 39e3b20420e24eb119b584a9edc364d62573550edde41d0f881ff20649877b61aea80df31b95102e38953256b612ced28d9b5afb22a17cc04a3f258d79f43058
+DIST ipywidgets-8.1.1.tar.gz 116420 BLAKE2B 9f138178dc213cac8d3c21a366f47c10675d8d74eb3e29f07c12b10c3a99281896f15afc4f609a4f9ad5f0eac5c60507b10cc98a01500d46150dd6ce36b15b3c SHA512 287f4cb56fe08b1ca01c7f226d7c8a1471d33bb1c36053e705326356c82de8686d6d59be0b50c3016c6c168c743f37de366a5fdf5f8a00c9d0678773e8c1618e
diff --git a/dev-python/ipywidgets/ipywidgets-8.1.1.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.1.ebuild
new file mode 100644
index 000000000000..98c00d6fcbc8
--- /dev/null
+++ b/dev-python/ipywidgets/ipywidgets-8.1.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 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} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipywidgets.readthedocs.io/
+ https://github.com/jupyter-widgets/ipywidgets/
+ https://pypi.org/project/ipywidgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/comm-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/ipython_genutils-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/widgetsnbextension-4.0.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream hack to autoconfigure ipywidgets in jupyter
+ # we don't have jupyterlab_widgets packaged
+ sed -i -e '/jupyterlab_widgets/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/jupyterlab-server/Manifest b/dev-python/jupyterlab-server/Manifest
index da8fb93326ed..da15a1aec471 100644
--- a/dev-python/jupyterlab-server/Manifest
+++ b/dev-python/jupyterlab-server/Manifest
@@ -1 +1,2 @@
DIST jupyterlab_server-2.23.0.tar.gz 71812 BLAKE2B 4d1cd379e9864f16a463f630b2b30aa18b88c9e71ea591d396b15834b08d567b3dbd0e6de637f975d230e17987f49eac3917ce2cf951dfd493ee75e612b3b46e SHA512 cb5ae1125487c79fa9d54201e0512fac9ff3f95022eafacd0bf46cb853bbeafe74eff767137ecb5559713cd8baf721f7fbc41869dde9ef28c480197a4158967a
+DIST jupyterlab_server-2.25.0.tar.gz 72251 BLAKE2B aac9191493833aea1dbd2b2b85365bab2bfbf06576c853668cc94d62b03b8cabaabc2df8c76ae57c8d76d55ddf646bdf51de00f682cc5b4b27252d5bd409bc61 SHA512 b97a1e5da8f30e83971be152a39c5a6553e6a589000f4848feb7777561b018b310f445853825215cfdb823666d73d4b117ed8914138c8a319035dac893f85951
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.25.0.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.25.0.ebuild
new file mode 100644
index 000000000000..536ca8eb91e8
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.25.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+DISTUTILS_USE_PEP517=hatchling
+
+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 ~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.7[${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/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${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
+}
diff --git a/dev-python/numexpr/Manifest b/dev-python/numexpr/Manifest
index 9c158cceb466..0ab0df38dcea 100644
--- a/dev-python/numexpr/Manifest
+++ b/dev-python/numexpr/Manifest
@@ -1,2 +1,3 @@
DIST numexpr-2.8.4.gh.tar.gz 113594 BLAKE2B 65756e3a0755cd69b8586501d5026dc355f5263f852fedc4f59ecd1854576929bff702cc603c53c7230a5a0ad034a56c50db0bf2fbc2174b3f5272d3a03ffdc0 SHA512 e0a4eacb1a8721b9c2b4331f21e460fc3a1740a6a156eb43b31c495b17e191508f6d72375b8bd286a9be66ceaa1353f64f894deda0b4b29c3ac48c5b7c67cfa1
DIST numexpr-2.8.5.gh.tar.gz 117015 BLAKE2B edf0084806cde40c7aa002a34b462f62f5d3cc37bc698f0125c4997c897333fccfff7c0df8a2ab96c0d7cf97ba7cc5955266ece50611e56c513798a3fc1306d0 SHA512 e02e8249ec62c85da1730d0932bcaf15fa10ff5e0a2ff847014c8d00b94612d441a9b1af46331b15480e63cfeb0fc84e31804db075789f23575003b4d8d1da48
+DIST numexpr-2.8.6.gh.tar.gz 117693 BLAKE2B dcc02c5ac0a2fd73d731e570365fb78ee6948b3a6547cd59fd6a03275757810e4e064bd6a9ebadd6e2713674263ed1457fb6b42f46a13e1d751f9591875ea7c4 SHA512 50aa882d522b84d46d2b3790e853138f8f587e11c32376185edaa03a5cec84261cbd123913b7566102e911c88730c9fc926c82e122d0c2e6efd3625241079df5
diff --git a/dev-python/numexpr/numexpr-2.8.6.ebuild b/dev-python/numexpr/numexpr-2.8.6.ebuild
new file mode 100644
index 000000000000..44f66e59d1f8
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.8.6.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="
+ https://github.com/pydata/numexpr/
+ https://pypi.org/project/numexpr/
+"
+SRC_URI="https://github.com/pydata/numexpr/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ >=dev-python/numpy-1.13.3[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ pushd "${BUILD_DIR}/install/usr/lib/${EPYTHON}/site-packages" >/dev/null || die
+ "${EPYTHON}" - <<-EOF || die "Tests failed with ${EPYTHON}"
+ import sys,numexpr
+ sys.exit(0 if numexpr.test().wasSuccessful() else 1)
+ EOF
+ pushd >/dev/null || die
+}
diff --git a/dev-python/pandas/pandas-1.5.1.ebuild b/dev-python/pandas/pandas-1.5.1.ebuild
index ccde5258807a..b810fa260509 100644
--- a/dev-python/pandas/pandas-1.5.1.ebuild
+++ b/dev-python/pandas/pandas-1.5.1.ebuild
@@ -73,9 +73,11 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
DEPEND="
${COMMON_DEPEND}
>=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
doc? (
${VIRTUALX_DEPEND}
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
diff --git a/dev-python/pandas/pandas-1.5.2.ebuild b/dev-python/pandas/pandas-1.5.2.ebuild
index 2eddcb606295..01023e18cdc5 100644
--- a/dev-python/pandas/pandas-1.5.2.ebuild
+++ b/dev-python/pandas/pandas-1.5.2.ebuild
@@ -73,9 +73,11 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
DEPEND="
${COMMON_DEPEND}
>=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
doc? (
${VIRTUALX_DEPEND}
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
diff --git a/dev-python/pandas/pandas-1.5.3.ebuild b/dev-python/pandas/pandas-1.5.3.ebuild
index bb99343f827b..9e35a76d308f 100644
--- a/dev-python/pandas/pandas-1.5.3.ebuild
+++ b/dev-python/pandas/pandas-1.5.3.ebuild
@@ -76,6 +76,7 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
BDEPEND="
${COMMON_DEPEND}
<dev-python/cython-3[${PYTHON_USEDEP}]
diff --git a/dev-python/pandas/pandas-2.0.0.ebuild b/dev-python/pandas/pandas-2.0.0.ebuild
index 447bd15af323..0cd9e21cc7d2 100644
--- a/dev-python/pandas/pandas-2.0.0.ebuild
+++ b/dev-python/pandas/pandas-2.0.0.ebuild
@@ -71,9 +71,11 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
BDEPEND="
${COMMON_DEPEND}
>=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
doc? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/pandas/pandas-2.0.1.ebuild b/dev-python/pandas/pandas-2.0.1.ebuild
index 4d05db66cf27..9d1380b2c47e 100644
--- a/dev-python/pandas/pandas-2.0.1.ebuild
+++ b/dev-python/pandas/pandas-2.0.1.ebuild
@@ -75,9 +75,11 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
BDEPEND="
${COMMON_DEPEND}
>=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
doc? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/pandas/pandas-2.0.2.ebuild b/dev-python/pandas/pandas-2.0.2.ebuild
index e12ac0e09963..86a683069130 100644
--- a/dev-python/pandas/pandas-2.0.2.ebuild
+++ b/dev-python/pandas/pandas-2.0.2.ebuild
@@ -75,9 +75,11 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
BDEPEND="
${COMMON_DEPEND}
>=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
doc? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/pandas/pandas-2.0.3-r1.ebuild b/dev-python/pandas/pandas-2.0.3-r1.ebuild
index 80ee38142a0d..c1b62bfe4f17 100644
--- a/dev-python/pandas/pandas-2.0.3-r1.ebuild
+++ b/dev-python/pandas/pandas-2.0.3-r1.ebuild
@@ -75,9 +75,11 @@ COMMON_DEPEND="
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
+# <cython-3: bug #898706
BDEPEND="
${COMMON_DEPEND}
>=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
doc? (
${VIRTUALX_DEPEND}
diff --git a/dev-python/pyaml/Manifest b/dev-python/pyaml/Manifest
index a26f305faf79..970cd120fdbb 100644
--- a/dev-python/pyaml/Manifest
+++ b/dev-python/pyaml/Manifest
@@ -3,3 +3,4 @@ DIST pyaml-23.9.1.tar.gz 21479 BLAKE2B dd684dd290cb3666ff823782d5252fea663ebd880
DIST pyaml-23.9.2.tar.gz 21955 BLAKE2B f397a88c89be6b7caa3752209ad3d0755882e3c638e94af53e57907bdcfb8ef31b34890f8942f7b482d1b7d8945644e8f86137e4c0d78fafce32a35833ce0095 SHA512 70f5bb9b883649d1051a39ba5e9aef262534571a92719612acd7f7ce98dd02317a31a78f75e3fd0db38f4448880dde13a03d5f667b02d381dfce31afef32c2a4
DIST pyaml-23.9.3.tar.gz 24312 BLAKE2B 8b44aa6d515618d96a6272a03eb4df78bdea1e5cb71e4d13db1016cabf7c867f6c781da948297bc9f5718b3a06a7b5175eec54d416b8d352f5e23558048f961c SHA512 99171a227e3de2f8bb72148d1e1d526747575006bd812e162e2e8d176a7856c4033dfcef6da86f65a4a80a5f5298470b8de40af412cd01acb89ed8694ce97520
DIST pyaml-23.9.5.tar.gz 25495 BLAKE2B 1a47d750b680613ff63979976b1c24e3a6f63501a86f7bed36537fb2d29d96c7aaba9e37e2f2d161257f2fee1eb668828ddc611015e2ef48a11649f8da425a41 SHA512 a06969954b2446c25e16503ae7d67e3c059894d7de056a0743009161f9fa4e70d2edb6ba8d942fe46d54bb9d5fd6c7a8638ef41ad45cb2dfef298d7d1639fb6a
+DIST pyaml-23.9.6.tar.gz 25986 BLAKE2B a2ddbb5c727b535dd0578295eb3c65fd8b797200a70d1097abe803fa4dd98d3e6f4cb4bb41092fbe733537735d4d464d8c3c943000e97569dedca20298082765 SHA512 b5d8bc4571623e0f395e02cdb9171c2a84aa450e2556d1b9bad38be8fccb83ea2e3c2b99e32541ef1c4381ac3b7348cf4a42274265e80f8747641080984194a3
diff --git a/dev-python/pyaml/pyaml-23.9.6.ebuild b/dev-python/pyaml/pyaml-23.9.6.ebuild
new file mode 100644
index 000000000000..28745c670d67
--- /dev/null
+++ b/dev-python/pyaml/pyaml-23.9.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="
+ https://github.com/mk-fg/pretty-yaml/
+ https://pypi.org/project/pyaml/
+"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index f08453d9b16a..e7e9ab71ba9c 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -2,3 +2,4 @@ DIST python-engineio-4.5.1.gh.tar.gz 309858 BLAKE2B 684bb4c32f050d52091c91312fa2
DIST python-engineio-4.6.0.gh.tar.gz 310597 BLAKE2B 7749e65f1f79bd21fb3f89dd541f3c306c780b2a98e8f0a8368b6fa7bf40738a5115f00f976f40914fcef9a94ef618e40b05993e6812630f46524d05c55b0eba SHA512 28efc25ff7eda98fa16e7c52effafc0789f18d947301479e5393e674e97826cd16bffe8554a8016c53587ac66b1f2cac90d2f64dfa9c1e2466f4324ee9880b1d
DIST python-engineio-4.6.1.gh.tar.gz 310625 BLAKE2B 2247e926117ee659f7bd428df673b10c3655534b33d062eb33e7f400890062116f3edc82f66e6bd29817e61b314376b2227fbb513802c11a04c921a610f00063 SHA512 a423a048a09396d7a3c834056118bbd124a1313e8f63b16fa40ec51b6b8f247fbe7d540e1e5f4a8a103c14ff5b5e3f53686723f2cd70e26c3a59b6100bff336f
DIST python-engineio-4.7.0.gh.tar.gz 311878 BLAKE2B 6b33bbf8c386fd6bf02f00d66e98bb11ef7a862d0d7c796094aeeeba8c87dd41e1f5b957a786b6ef181037dd5e6c390abdafc4f91fbacae356a0dbfe736e2775 SHA512 c1a41059024939a2cd11ed235a984b4e25cb622745fd6b46f15304d1470d33214283b7ae7b097edc8312ce1b5dc144eed7a2a505042b150b7bbd4320f026cd9d
+DIST python-engineio-4.7.1.gh.tar.gz 311622 BLAKE2B 101a15515aa80eb56c2285bef3f7967023cd8a2e54360c348d84af81dc4901424446b50a1d7b70ba0d6a073ee2780ccd524e61a30b1475d54b30f32494063386 SHA512 fa71efb885628b9337d3f6d20cc92ac990fadb5fafdb020904e6e2bb452957a437f6467724897729f2f9e30eb713d8ce88f254fbfe49258fa33ba38572206289
diff --git a/dev-python/python-engineio/python-engineio-4.7.1.ebuild b/dev-python/python-engineio/python-engineio-4.7.1.ebuild
new file mode 100644
index 000000000000..d92fbba27b11
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.7.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Engine.IO realtime server"
+HOMEPAGE="
+ https://python-engineio.readthedocs.io/
+ https://github.com/miguelgrinberg/python-engineio/
+ https://pypi.org/project/python-engineio/"
+SRC_URI="
+ https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+"
+# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
+BDEPEND="
+ test? (
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # eventlet is masked for removal
+ tests/common/test_async_eventlet.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # also eventlet
+ tests/common/test_server.py::TestServer::test_async_mode_eventlet
+ tests/common/test_server.py::TestServer::test_connect
+ tests/common/test_server.py::TestServer::test_service_task_started
+ tests/common/test_server.py::TestServer::test_upgrades
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index 3dd5b7b43e38..a806e6c26ae8 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,3 +1,4 @@
DIST rapidfuzz-3.1.1.tar.gz 1279245 BLAKE2B bd3fa008a29fa9d7c2af8708d498e1b6f4497bf23c42d3692a9d5e61ab605b4511fe26213f405cd6b1a9531f106664577fb741eac1da0a8b70c5ef7b2879b3f8 SHA512 d83e07fd3a0b3085e6b93ddf53207110ae329241c23091c561f07fbcabf630a291c4fda3c5bd2baf91d80f5426ac0cdaeda92e87b617214594bfb67b787b85db
DIST rapidfuzz-3.1.2.tar.gz 1280133 BLAKE2B 5f1d3175bc5ded1900f31c73d0e9fdfd6035533abf3cc9a12be3ba41edd424cb816505d4f82ff2bb4f0a825c53259c3cf1af33cd6b6234680ab93fb5232c91a4 SHA512 462b7b029027a2677ff927285cf614a6b2a6690af622f093633eec1390f0399b70f4240461db493aa9b30a2043f91b44fbbfa8e4bfb65af953516168c2b31409
DIST rapidfuzz-3.2.0.tar.gz 1472554 BLAKE2B 7946f6139aec1ca9ccc623750bd09601e04171f3030bb7cfeac5cedf9ec1a639c444e9fd3394efde199e447a6834dce46be20dfb8be33232a324e4dea23b9cf1 SHA512 0ea0ecc62e2493519a302edd090521ed7efeae35e73812aeadaca2e2369362b57b1a095a09296edfa8db07b6bf58de4451dc71e96e6c215ebbe96dc1f8e7e995
+DIST rapidfuzz-3.3.0.tar.gz 1507179 BLAKE2B 59f45a3a2551d4ccc1e3c077abbd2ce2e569be51dd72b0378a2744557d65588d9a98c53048471fe8f1b4600f3b997e26477d65bac983954ae9d8331aea4dc5c3 SHA512 ee3a362f7c9bf4c54cff93a8c3d830541f07ed67628469b1406261fca086bd15eb4a418ece56fa3e4f25e0c6b859080d19582f5eea90547541a39d35ec70ea19
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.3.0.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.3.0.ebuild
new file mode 100644
index 000000000000..b784f0b3629e
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.3.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/maxbachmann/RapidFuzz/
+ https://pypi.org/project/rapidfuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-2.0.0
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+
+ distutils-r1_src_prepare
+
+ # TODO: re-cythonnize when we can reliably dep on Cython >= 3
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest
index 899aaadd68ae..22cf5d7c7a4b 100644
--- a/dev-python/rpds-py/Manifest
+++ b/dev-python/rpds-py/Manifest
@@ -25,8 +25,10 @@ DIST quote-1.0.31.crate 27881 BLAKE2B 47c8ac1051f7fa03d002420ade3cb18bf2aedc6ba9
DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
DIST rpds-0.13.0.crate 67994 BLAKE2B 91b4aec7a25b81566288c5fefe5f89a0f8b9eae83caf05cf7a9796394df70ae79b721b64804f72c582bfc41ff59647a9bc0980ba7dc9438412f6445e4a916b5b SHA512 6567eabae407fb2c5eea49395d6901c540dc0b4dbd585d5f93fed1b4a71885a784fb8652f46cca5148acd35957040c4a61ce1d95e871cf494b41db846fd38698
DIST rpds-1.0.0.crate 68927 BLAKE2B 518fce45866faf3bbdf7b67d53a34f31445bb76e0b35b72e03c8d799ce2a95d710f296b6273882c4a9c9511859f042f1fd3b19f9b0d065da66847d2b57fa16cc SHA512 2fd73bf821c192955217e1aa471372bbdb4abc3c495a65c7495905278e4425afb16534920afbf55e368700456ab323cd2d45235dc04beaa134256a19714c6a49
+DIST rpds-1.0.1.crate 69049 BLAKE2B 2235344d274d4fef171b430e7500a075d383f2409f22908217a6caf6b6924891893835c3427a01a351d5bfbdda661542446a5db1f5c9bccdb2bc505474443794 SHA512 119527d615f359ddf2681dda05e9bf853a2747db4524559601c4cf5114cfdc00ba734fcd727830787e3f1cb978eb28538e5f9424d968deec95ff3826db18f377
DIST rpds_py-0.10.0.tar.gz 17161 BLAKE2B 14dfba630d9f5d4170fe9f826c5e763f7637fe50fbcba88f9dcc643f702d7845571e2780b6f0c72891dc6a828b7ea2f0c6743b4d48d0a09055fb9255d8dbc517 SHA512 a9298a3a28d52ef7617cfcfc9c5fd024bc8d10db78158e544644bbc58ac346c5c776602cdaf56cdd995a5e644452e3f72891964aa039c8685ac966cef8c10653
DIST rpds_py-0.10.2.tar.gz 17208 BLAKE2B 224ce0b36117dac4dcbebfb5f1905195f59b0868d99aecf8407fc5d4a252caaf8cce295e12354e76f0f657a694dacc0f9626da13c77912d1c0a96d95ed361bf4 SHA512 6308ef02a5f8447f43163c13bd3b2a8b46dd3a348398eaa342008d634c38e2a68c8335d8fbbaf8849660c423d4acd7d46dfc4f4c91c6ac95cce7a01434bce5fd
+DIST rpds_py-0.10.3.tar.gz 17164 BLAKE2B 5f51ba86fcbf51c690c8d5d59e690d9b6ab6a8ddf8140bc3c6abb888cac3821eaf0b178700395ac9e1c380890200176f9cb347130e5252fd27d815fef774d83b SHA512 967a087bec689274cae7031095355756938b11deb83f40225cfca145143df9c5cf403aef6436623ac7b91317fa816482e0e12558e6373f6f6cfaf8b76d13cab4
DIST rpds_py-0.9.2.tar.gz 16898 BLAKE2B 0ebb58586c51bb93cd31a166a49fc79054ca624bcccb0501138cc267ddfa152d5d6def49e2927c10bfbb580505d1ad761cafc7ff266ca965a92f6167d811e151 SHA512 5a3d1b4ca27cd9b73edf7c03c8def5350949a56df0a322e317a7d3e6e31933694fe21928218ebeb51074322dcde6e4f807283e0359f8f31b0ca6b69180be3260
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
diff --git a/dev-python/rpds-py/rpds-py-0.10.3.ebuild b/dev-python/rpds-py/rpds-py-0.10.3.ebuild
new file mode 100644
index 000000000000..e6c1c0826e5b
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.10.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{8,9,10,11} pypy3 )
+
+CRATES="
+ archery@1.0.0
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ indoc@1.0.9
+ libc@0.2.147
+ lock_api@0.4.10
+ memoffset@0.9.0
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ proc-macro2@1.0.66
+ pyo3-build-config@0.19.2
+ pyo3-ffi@0.19.2
+ pyo3-macros-backend@0.19.2
+ pyo3-macros@0.19.2
+ pyo3@0.19.2
+ quote@1.0.31
+ redox_syscall@0.3.5
+ rpds@1.0.1
+ scopeguard@1.1.0
+ smallvec@1.11.0
+ static_assertions@1.1.0
+ syn@1.0.109
+ target-lexicon@0.12.9
+ unicode-ident@1.0.11
+ unindent@0.1.11
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index 426c74ff0f59..7b0ad40a7874 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1,2 +1,3 @@
DIST sentry-python-1.29.2.gh.tar.gz 382177 BLAKE2B 1fa42e53ed1115fb50b3a5d4a49ca7f851cc487ecb638b7add2d261ed207c9c8d4ccc1ca20760516e82e5a5cd52b1582271b81e52977b87944b0df55365a9800 SHA512 56fd53f3a43acc1c2fe5bd6f44c7a5a63b4ab944919fa5a4539239230c3c64eb75e75414e26809d12bcb601a779b661d6dec73dededa07e10f120438ea3ad5c7
DIST sentry-python-1.30.0.gh.tar.gz 387394 BLAKE2B 2b3e41e209d162406b3c2d216ca65616b88db137f51bda8b22fb8be730deb07ffa05d75e674e86a94b772e739ec5b8d1c0c96efe20cb49355d8d96271af3169d SHA512 50590b0553b803b0555b9e562eda4d84edc8bfd02a7beaf9e0a17dec76ff5c22b4d618a7dfc4fc05ad9c2c0d14f8e34f9c5a39795aacb9e8872c1a3e3f9a0219
+DIST sentry-python-1.31.0.gh.tar.gz 399341 BLAKE2B e5162a619335bd7e089ed01c938d29233b5a19315f11e414a1e51d4539ea3a371a3dd743ad0dafedaff7bf8ca801855e016ea62d38a02fcab8702c8fbf879e0b SHA512 29504e3f94d994512e52c18df7dc156fcf86a67e68c2f11f0be007577b61e4a3b606cf7b58ef0488c3b764fa9193d8f7672e2c9515c0099a9a44574fd8c5c07e
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.31.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.31.0.ebuild
new file mode 100644
index 000000000000..38aaf0e96a4f
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.31.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ )
+
+ 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
+ # 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/integrations/modules/test_modules.py::test_installed_modules
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 5e6a2f52e5ac..5df55db1430d 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
DIST setuptools-68.0.0.tar.gz 2194111 BLAKE2B 614a1c69f640ce8d0e510c444e058fecd3810421983a03cd345e43e1148799bed7e5d53ac689a4fe3ce3174d16f2bb719236bd5442b5f06ffc7659d0f4c7d15f SHA512 da6d535a0db6eaf477c8c2148efbc2100fd88a14f3adad44d20e22bf52bee3f00fe86547ea650fe653519bd6ff5f9ef033a55bb3a05fed041e88e78cdfb81d7e
DIST setuptools-68.1.2.tar.gz 2198001 BLAKE2B bd21de32246eb7bd17289536a65e87636c39d8d7712dffa61b07b052fa7e9020fc06fe2de294a4e4782738c4385ff31e6552a6d3f403c3b1da98ea07405d57e8 SHA512 a5a84102ce72f38162b190b91286013cb8660b45f383df04fba65e38c658a5c5b93cdf05f789436618fa596b3ca6688a7c54d31d6d10b729124d3b135660c328
DIST setuptools-68.2.1.tar.gz 2203059 BLAKE2B 2db15077041c908e476f115fb1d54abdc6ddef6c1f7b23f2149a0c61c23aa584ada51d73cf5d1ed7e3670cd18077fa1d0001b654e45d9c5882f993e2bf56ffb1 SHA512 f7083c3a38f3f9dc1ea3b87d398db7d483d5692e20f395aead40a310cd329c76243450b7d95b4a797ab1c6d2919cba4ac76fa73d2cb454d3c3b9f3209401611b
+DIST setuptools-68.2.2.tar.gz 2203338 BLAKE2B 3d91bd4b4be1fb7a01b0cca1736187b80f9b07d0e647b49b483d6b8da55f69a678d2c910cde46bd9645dbd10b0b1d14c124d111817cbd7be8d5fab909f787998 SHA512 ed3138a39e8ae47d695e71835024d66d63b8de51aa336bd8524de81a5036aa26cf587caca5d6b46c833f77a6e9c8c1ae6b64e8310f712bd9c4e760196778b2ca
diff --git a/dev-python/setuptools/setuptools-68.2.2.ebuild b/dev-python/setuptools/setuptools-68.2.2.ebuild
new file mode 100644
index 000000000000..efa3073204a4
--- /dev/null
+++ b/dev-python/setuptools/setuptools-68.2.2.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2023 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} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+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-21.3-r2[${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/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-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${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/certifi-2016.9.26[${PYTHON_USEDEP}]
+ 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
+ setuptools/tests/test_editable_install.py::test_editable_with_pyproject
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # fails with importlib-metadata-6.6.0
+ setuptools/tests/test_egg_info.py::TestWriteEntries::test_invalid_entry_point
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ )
+
+ if has_version "<dev-python/packaging-22"; then
+ EPYTEST_DESELECT+=(
+ # old packaging is more lenient
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_raises_accidental_env_marker_misconfig
+ )
+ fi
+
+ epytest -n "$(makeopts_jobs)" setuptools
+}
diff --git a/dev-python/simple-websocket/Manifest b/dev-python/simple-websocket/Manifest
new file mode 100644
index 000000000000..adddcb1fb5d7
--- /dev/null
+++ b/dev-python/simple-websocket/Manifest
@@ -0,0 +1 @@
+DIST simple-websocket-0.10.1.tar.gz 9873 BLAKE2B f22f5b9913c7e06aefe2a7452751acbee5d9da5bdc78c4975eeea6c785089dc6af5e83b3f18c7c03bc6e983a06e2ab567f1fd0d51546b5d32a7c2ccc53885c96 SHA512 05b6ad6ee0c731f12fd973a25789d5a2442b528011ffe6b9b434bdedb30f7c8b9624e52d82e366e6bd7cb4effe9a5555f0adfd7b0818132117aed71caa1323b3
diff --git a/dev-python/simple-websocket/metadata.xml b/dev-python/simple-websocket/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/simple-websocket/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/simple-websocket/simple-websocket-0.10.1.ebuild b/dev-python/simple-websocket/simple-websocket-0.10.1.ebuild
new file mode 100644
index 000000000000..4b29d5a7f1ad
--- /dev/null
+++ b/dev-python/simple-websocket/simple-websocket-0.10.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple WebSocket server and client for Python"
+HOMEPAGE="
+ https://github.com/miguelgrinberg/simple-websocket/
+ https://pypi.org/project/simple-websocket/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/wsproto[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/widgetsnbextension/Manifest b/dev-python/widgetsnbextension/Manifest
index 9548771ac64e..f091f5544916 100644
--- a/dev-python/widgetsnbextension/Manifest
+++ b/dev-python/widgetsnbextension/Manifest
@@ -1 +1,2 @@
DIST widgetsnbextension-4.0.8.tar.gz 1147105 BLAKE2B 295d3bde4197f029c037510eb8579f48fec1d3ccf3a13f54dc900a35fb427dd89324fb65e71b8017770ecb3d9a5b947e06825ee79ed3881bc501fb504b3213e5 SHA512 66d74b213bde9427917c113f6861551f44578e614c3b004b520d765d5d7946f696b719f6383028034164dded2b063f58a0a16aec1152eac125bd7a6ae8dab391
+DIST widgetsnbextension-4.0.9.tar.gz 1146830 BLAKE2B 4c4cb7aca3b8ffe45fbb00d296474ca889cc4124d9f96c618b3cc5212a119335866a0e5a246bc5ab69287b4929ce8b88a01eb176b7361d60655e5a7dc5e16df0 SHA512 0fb0949fa7dcd7846d16175541f674a3f159ae436ce5c0e4bb74dcad89d944681a9d6473a6d3282aa2525f25c5215195bad57de6b7cd9ef04c549b9f3e76c8b4
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild
new file mode 100644
index 000000000000..58c81fdac1d3
--- /dev/null
+++ b/dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 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} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/widgetsnbextension/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/notebook[${PYTHON_USEDEP}]
+"
+
+src_install() {
+ distutils-r1_src_install
+
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}