summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-10-31 06:20:59 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-10-31 06:20:59 +0000
commit01696829a5013612dad069cd097fb8d2bed5765d (patch)
treeeb8f95f2995352ab430f427b9e77dac5093e8867 /dev-python
parentcf6c341e8ec26f9a0ad0e2022abc4a633d489c35 (diff)
downloadbaldeagleos-repo-01696829a5013612dad069cd097fb8d2bed5765d.tar.gz
baldeagleos-repo-01696829a5013612dad069cd097fb8d2bed5765d.tar.xz
baldeagleos-repo-01696829a5013612dad069cd097fb8d2bed5765d.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Nuitka/Manifest7
-rw-r--r--dev-python/Nuitka/Nuitka-1.7.10.ebuild54
-rw-r--r--dev-python/Nuitka/Nuitka-1.7.9.ebuild54
-rw-r--r--dev-python/Nuitka/Nuitka-1.8.2.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-1.8.3.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-1.8.5.ebuild (renamed from dev-python/Nuitka/Nuitka-1.8.1.ebuild)0
-rw-r--r--dev-python/Nuitka/Nuitka-1.8.ebuild52
-rw-r--r--dev-python/contourpy/contourpy-1.1.1.ebuild4
-rw-r--r--dev-python/contourpy/files/contourpy-1.1.1-no-werror.patch11
-rw-r--r--dev-python/elastic-transport/Manifest1
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.10.0.ebuild64
-rw-r--r--dev-python/elasticsearch/Manifest1
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.10.1.ebuild68
-rw-r--r--dev-python/ensurepip-wheel/Manifest1
-rw-r--r--dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild20
-rw-r--r--dev-python/executing/Manifest1
-rw-r--r--dev-python/executing/executing-2.0.0.ebuild10
-rw-r--r--dev-python/executing/executing-2.0.1.ebuild56
-rw-r--r--dev-python/flask-login/Manifest1
-rw-r--r--dev-python/flask-login/flask-login-0.6.3.ebuild43
-rw-r--r--dev-python/hypercorn/Manifest1
-rw-r--r--dev-python/hypercorn/hypercorn-0.15.0.ebuild49
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-8.14.0-r1.ebuild (renamed from dev-python/ipython/ipython-8.16.0.ebuild)4
-rw-r--r--dev-python/ipython/ipython-8.15.0-r1.ebuild159
-rw-r--r--dev-python/ipython/ipython-8.16.1-r1.ebuild159
-rw-r--r--dev-python/ipython/ipython-8.17.1-r1.ebuild158
-rw-r--r--dev-python/ipython/ipython-8.17.1.ebuild158
-rw-r--r--dev-python/jsonschema/Manifest1
-rw-r--r--dev-python/jsonschema/jsonschema-4.19.2.ebuild57
-rw-r--r--dev-python/jupyter-core/Manifest1
-rw-r--r--dev-python/jupyter-core/jupyter-core-5.5.0.ebuild39
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild32
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.10.0.ebuild82
-rw-r--r--dev-python/nbxmpp/Manifest1
-rw-r--r--dev-python/nbxmpp/nbxmpp-4.5.0.ebuild35
-rw-r--r--dev-python/pgspecial/Manifest1
-rw-r--r--dev-python/pgspecial/pgspecial-2.1.1.ebuild57
-rw-r--r--dev-python/pypdf/Manifest1
-rw-r--r--dev-python/pypdf/pypdf-3.17.0.ebuild59
-rw-r--r--dev-python/pytest-django/Manifest1
-rw-r--r--dev-python/pytest-django/pytest-django-4.6.0.ebuild51
-rw-r--r--dev-python/ruamel-yaml/Manifest1
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.18.3.ebuild58
-rw-r--r--dev-python/setuptools-rust/Manifest1
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild199
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild107
-rw-r--r--dev-python/taskgroup/Manifest1
-rw-r--r--dev-python/taskgroup/metadata.xml10
-rw-r--r--dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild25
-rw-r--r--dev-python/traitlets/Manifest1
-rw-r--r--dev-python/traitlets/traitlets-5.13.0.ebuild40
-rw-r--r--dev-python/wheel/Manifest1
-rw-r--r--dev-python/wheel/wheel-0.41.3.ebuild40
58 files changed, 1870 insertions, 288 deletions
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index a8004ba42097..fdb6f95c8285 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -1,7 +1,2 @@
-DIST Nuitka-1.7.10.tar.gz 4289025 BLAKE2B 594820258860efba8be2316ab8d081e0d5ba4dc8db94959716ca90d57aff4d1407df19f52c88dc78aced4153a1b30dd35c6ab543435cecbff38bf791e2f7e492 SHA512 773c23d0e355fea975fa0636fba0601347618631564eb36fb948e8150b8720e28c227b4f3a50cbe8102160addb982257ab2acaa58d79692cdac60cecea85fa98
-DIST Nuitka-1.7.9.tar.gz 4288768 BLAKE2B 6069598c4eb9bb134a0d5bcfc4f3b423c0cb4f0f600ed13b20080470cde53e0077394eb5660d1abe766ccfa52a0bd3f9203dabd5dae160de20b1b58670ea4bb6 SHA512 a2d2ad1be1fefc97c86af64fa1133bb6ca478021c1cc606be663a1d12bdab3a218c1760b697e426cafb67411a435d5353bf1688b986240036539946fb6ed12f3
-DIST Nuitka-1.8.1.tar.gz 3603553 BLAKE2B eb470569302864ce79a595d15f10ec12786b9a36bcbd5b77eedceacecf9a637bb494292dd0dd8a6177292b6e461da6de446e88812150b4840ceb0640eb27faf0 SHA512 3a5a3d9b616f2b594638541bcbcdcef07440e907ed86f8688700a051096dcfa4df8d19dd1dbc58eddbf10249945ed2281f47c84c6bdc35398f029f645cf52e35
-DIST Nuitka-1.8.2.tar.gz 3603724 BLAKE2B 32ba8e96791b488ec8b65bac6bdb4742dbea1e15f9a4f0620217c165281168c51558e40068e5bdedc31ccb67dc5e8a4805415b343365c099173047c61bfa047a SHA512 bdd14622bf0abe5ea4468672ed9badb28a12cabb7dbb9b1a5fa5da3bf33a1f45e02bd87b0568f10df8523a14bb418d462dea054a77cd462f9ddbea7bf93142d6
-DIST Nuitka-1.8.3.tar.gz 3604342 BLAKE2B eeed2776aff583e6d7a717f72bf13b0902d16de6ba774a35cf770c32887617510effcb1a4e437bcc78b85ef0be2e98cc3214ee1e5f2e07b81343e9d56676fd23 SHA512 9a44e9f7d26996044bd8147f4f6e1b92818a2f79ee813c2121839c8640074ccc1e4b2a32a838181aa9ee5a27e8952a4be6d47c510348c63cda8d717c536bbfee
DIST Nuitka-1.8.4.tar.gz 3604833 BLAKE2B 32a5169e981e1323e0cc30147bbd6327521f496d3a4bcd0e6d3e811b291c596c50a3cf7602221f24b7a6d82936286bab1a045e65abfa4ddb9f366e23edaad9a2 SHA512 632453e937ca6c895646910ca650d83f9610e0aa4a28d2b2fe608c1bf4138ea06496c2bd2fee24fb4e6224a844437242ff9d21af2221ad2eed2edc77262050c2
-DIST Nuitka-1.8.tar.gz 3602951 BLAKE2B 5ae75060b42c494c57fa92e53a8e11c25f0ed243711ad76fab140828c1b835b946201c4d7d19ac24d029d66ddead91f7943527cde5ec823f03735c0fe3a2002e SHA512 1b35405162f64b7ed99f88f223633a8dd643642de052a3ae3a4da25fd310796022394375b13d9f5cc464108791a157618e3c1aa895b0fa3235603a9f2b9b26ec
+DIST Nuitka-1.8.5.tar.gz 3604649 BLAKE2B 146e4f5fafb37fee7c7824fe448db85d3d77d57cadad63c10f237cba969ad81cc7c73eecbf68fcbfb8a1b2e0d8a9439c2435c5c7db16dde04324c3dd0ddb1770 SHA512 660f1480835491473cb4c512ce14109a9d27887e64fdfdfe6c92a59cf59445e7d6068c7859af9942330345b918fe81593c52f8f3b6166d55bad8bbbf362cc05c
diff --git a/dev-python/Nuitka/Nuitka-1.7.10.ebuild b/dev-python/Nuitka/Nuitka-1.7.10.ebuild
deleted file mode 100644
index 78d97836ad65..000000000000
--- a/dev-python/Nuitka/Nuitka-1.7.10.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-util/scons[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf )
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka3.1 doc/nuitka3-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-1.7.9.ebuild b/dev-python/Nuitka/Nuitka-1.7.9.ebuild
deleted file mode 100644
index 78d97836ad65..000000000000
--- a/dev-python/Nuitka/Nuitka-1.7.9.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-util/scons[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf )
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka3.1 doc/nuitka3-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-1.8.2.ebuild b/dev-python/Nuitka/Nuitka-1.8.2.ebuild
deleted file mode 100644
index ac9ead24db5b..000000000000
--- a/dev-python/Nuitka/Nuitka-1.8.2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-util/scons[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka3.1 doc/nuitka3-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-1.8.3.ebuild b/dev-python/Nuitka/Nuitka-1.8.3.ebuild
deleted file mode 100644
index ac9ead24db5b..000000000000
--- a/dev-python/Nuitka/Nuitka-1.8.3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-util/scons[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka3.1 doc/nuitka3-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-1.8.1.ebuild b/dev-python/Nuitka/Nuitka-1.8.5.ebuild
index ac9ead24db5b..ac9ead24db5b 100644
--- a/dev-python/Nuitka/Nuitka-1.8.1.ebuild
+++ b/dev-python/Nuitka/Nuitka-1.8.5.ebuild
diff --git a/dev-python/Nuitka/Nuitka-1.8.ebuild b/dev-python/Nuitka/Nuitka-1.8.ebuild
deleted file mode 100644
index ac9ead24db5b..000000000000
--- a/dev-python/Nuitka/Nuitka-1.8.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~loong ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-util/scons[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? ( dev-util/ccache )
-"
-
-distutils-r1_src_prepare() {
- # remove vendored version of SCons that is Python2 only
- # this should be removed when upstream removes support for Python2
- rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka3.1 doc/nuitka3-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" app-admin/chrpath
-}
diff --git a/dev-python/contourpy/contourpy-1.1.1.ebuild b/dev-python/contourpy/contourpy-1.1.1.ebuild
index b82575aded3a..60ab633e3f36 100644
--- a/dev-python/contourpy/contourpy-1.1.1.ebuild
+++ b/dev-python/contourpy/contourpy-1.1.1.ebuild
@@ -35,8 +35,8 @@ BDEPEND="
)
"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.1-no-werror.patch
+DISTUTILS_ARGS=(
+ -Dwerror=false
)
distutils_enable_tests pytest
diff --git a/dev-python/contourpy/files/contourpy-1.1.1-no-werror.patch b/dev-python/contourpy/files/contourpy-1.1.1-no-werror.patch
deleted file mode 100644
index 4db618369434..000000000000
--- a/dev-python/contourpy/files/contourpy-1.1.1-no-werror.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-XXX: We should really just make meson-python in distutils-r1 always disable werror.
---- a/meson.build
-+++ b/meson.build
-@@ -4,7 +4,6 @@ project(
- default_options: [
- # meson-python options are set in pyproject.toml
- 'cpp_std=c++17',
-- 'werror=true',
- ],
- license: 'BSD-3-Clause',
- meson_version: '>= 1.2.0',
diff --git a/dev-python/elastic-transport/Manifest b/dev-python/elastic-transport/Manifest
index 2075f7be01fb..831337d54efb 100644
--- a/dev-python/elastic-transport/Manifest
+++ b/dev-python/elastic-transport/Manifest
@@ -1,2 +1,3 @@
DIST elastic-transport-8.4.0.gh.tar.gz 70975 BLAKE2B cec717606a55906da9157a0aaa3c656041201c2b62c77d42a67aabaad387c2e9f139dd1bd39e31b15f51fa2ac1b605d9f98b540000ee03d8aecf118cf972048a SHA512 82d0e0af3992335ce17bdc2a74f80fbf98bc9873d798be65f30d59fa55cb3bf50b55821133ea01d2ced9c27bf4019bac19e76e6853c29b87762ae0a9b593c3f5
+DIST elastic-transport-python-8.10.0.gh.tar.gz 71836 BLAKE2B 1be9a93b6b8cb9b7987de721e65ce532fb247fca931179f99dcdee197cec314a8b3626e0db569a494bab45a194530abccbfd8946d66d03c6bedfb17252a8fb3b SHA512 a883509ec8f0000c4a8aeb435d4dee1cbc4563157668c5e1378e16be9d1a5f5a16927de4df9c5244ca6f1c6f2f273ad513c2d29beaa081b11b34416da2883359
DIST elastic-transport-python-8.4.1.gh.tar.gz 71404 BLAKE2B 9d923362a6880685c6280aa9308089157c82ee570c2b608f2ed1398fec1e7946bad159a9bc74c1369a5042a30885948748014b0f5ee2362da83780b1a42d7f22 SHA512 50a3d60c00307659f51468e648a0c2cc7aa9be0b84df8fb2bbfea8c9f2d31fe568cbd9d4040c1aa174acc5d9902f45631a8a55e7950a7cf05fa26e0eef8bbd0e
diff --git a/dev-python/elastic-transport/elastic-transport-8.10.0.ebuild b/dev-python/elastic-transport/elastic-transport-8.10.0.ebuild
new file mode 100644
index 000000000000..82c91f48d325
--- /dev/null
+++ b/dev-python/elastic-transport/elastic-transport-8.10.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 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,12} )
+
+inherit distutils-r1
+
+MY_P=elastic-transport-python-${PV}
+DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
+HOMEPAGE="
+ https://github.com/elastic/elastic-transport-python/
+ https://pypi.org/project/elastic-transport/
+"
+SRC_URI="
+ https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/furo \
+ dev-python/sphinx-autodoc-typehints
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:, *<[0-9.]*::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to random warnings
+ tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
+ tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -o addopts=
+}
diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
index 780b8f87033a..152d85e65714 100644
--- a/dev-python/elasticsearch/Manifest
+++ b/dev-python/elasticsearch/Manifest
@@ -1 +1,2 @@
DIST elasticsearch-py-8.10.0.gh.tar.gz 896444 BLAKE2B 7cadd9d23e31b42ba309345f228193a856ceac0c6b64786ae84668ff361f750d0413609b753b6faa113835eddb6b212b79bee0ee6e25025f2829b92b9109701d SHA512 2e72b726447f4fe139a7b1bb1a95e0eca613f53bb0c6d758b646203676835b56fedff418feca386d1300f8eb6ac2f14a5a99d7d7716bad286641ab43c9abcbc4
+DIST elasticsearch-py-8.10.1.gh.tar.gz 889458 BLAKE2B 4e47a76743c48e8c9e34a8169d99d85139f3c395c643080a039dfe5e64fa0059f485c155a56ebb4769f9632c2dd0db3f7583f3db0a62d7180967f0515caf4092 SHA512 9e212584b86959330c65e1cb00b0eec4afc4a8daed59c7e6a2b918dbfb4c872e025b5ef65c299da5ca74afb53ca9c1a4d628f6fce96c7140b85aff83c6a09ecf
diff --git a/dev-python/elasticsearch/elasticsearch-8.10.1.ebuild b/dev-python/elasticsearch/elasticsearch-8.10.1.ebuild
new file mode 100644
index 000000000000..1430b9770212
--- /dev/null
+++ b/dev-python/elasticsearch/elasticsearch-8.10.1.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,12} )
+
+inherit distutils-r1
+
+MY_P="elasticsearch-py-${PV}"
+DESCRIPTION="Official Elasticsearch client library for Python"
+HOMEPAGE="
+ https://ela.st/es-python
+ https://github.com/elastic/elasticsearch-py/
+ https://pypi.org/project/elasticsearch/
+"
+SRC_URI="https://github.com/elastic/elasticsearch-py/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
+ <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
+ >=dev-python/elastic-transport-8[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests
+ # so its an ever moving target. It also requires effort to blacklist
+ # tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even
+ # if all are fixed in this package. Not worth it.
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+ # Running daemon for tests is finicky and upstream CI fails at it
+ # as well.
+ "test_elasticsearch/test_server/"
+ "test_elasticsearch/test_async/test_server/"
+)
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/ensurepip-wheel/Manifest b/dev-python/ensurepip-wheel/Manifest
index e3f1d2727046..81c2e36fbdf3 100644
--- a/dev-python/ensurepip-wheel/Manifest
+++ b/dev-python/ensurepip-wheel/Manifest
@@ -1 +1,2 @@
DIST wheel-0.41.2-py3-none-any.whl 64848 BLAKE2B 761efd3a97a9bbfbbd7683f12638aa5b0ed83679f3313cb8dce2632d2d2ba33fb9f0801a57e21077e8a232464aa929338983d334d57b4ccdf5f2c78a26202ca5 SHA512 9ecad670c61e4e2e598058cbd405e29401068a93d758c63481df72cff5e0a9f22b3c5ee1ae705140cffa1ea98149a6a8a9b3c80a356b520ea10bee586e615473
+DIST wheel-0.41.3-py3-none-any.whl 65801 BLAKE2B 93582f1ee65ccae9d1915d51ad8bca5fa8b0700f3ccbe1d572299eef2676c6d41162c6a2d6ac79c3c8ab02242235283e86b97a2d24137d0e116e7decd1738e8b SHA512 5be2eabac26432a03d6a81954e80f004617e372bdce1a8d4f562af227964cace6883ee41d9300e7ccc2bd39b5330c4578c33777e8420868bc7a416352aea0623
diff --git a/dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild b/dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild
new file mode 100644
index 000000000000..e3e7fe90c1fa
--- /dev/null
+++ b/dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared wheel wheel for use in pip tests"
+HOMEPAGE="https://pypi.org/project/wheel/"
+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"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index bfb122cb3092..0d20ae828ad6 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1,2 +1,3 @@
DIST executing-1.2.0.gh.tar.gz 663650 BLAKE2B ba9420bfcf3805223e6b7e84d65499f3a73ef3156480586d2c5ffde4e438fcf8474f4f02c123953d04ee253de7a6a3a1b2587e57fcae546f3dae7af70a1aaa98 SHA512 c841958cc499b2d78c94570bf0556933d4a58ca5541f7a59e591be6036926ab79d5ae86bb95bbf649f3c3fb729109fe50cf04fbc72692e0cfe12edaa995ea0a6
DIST executing-2.0.0.gh.tar.gz 837310 BLAKE2B d402a605ce80170e1789e7eec65e89da64fcbb70bbc7fcf9fb86dd6e4575312154fd969d3126ed7d88f7f9d0303304969544ad39c2161524e4157d7d1658a0bf SHA512 5c02ffafaa6993b783d013c1be0c92651af598bf872a10c3f6ea84c5e709cd1b22d9c37a778e5aaccfb05533b3c88395031c50ca722e1f780fc828256e8b201e
+DIST executing-2.0.1.gh.tar.gz 837355 BLAKE2B 7d38890eb322809c2b705f51731fe7537f81a0775d99bebb4b4ae67453930daedd947b249385babbc2373969344b643f288441fc28f3588264e4ebc23e1c389d SHA512 8a753aab42ea2d3b61764ee77de3bb52ea7fcc2818298281180ffc47c7b22ee84974ee98b2137250f722ad559be92e72e8fc01d7b2d38ab6a01512618b65d4f3
diff --git a/dev-python/executing/executing-2.0.0.ebuild b/dev-python/executing/executing-2.0.0.ebuild
index 6f28ec469cb3..f13e526081c0 100644
--- a/dev-python/executing/executing-2.0.0.ebuild
+++ b/dev-python/executing/executing-2.0.0.ebuild
@@ -37,6 +37,16 @@ distutils_enable_tests pytest
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # crashes with infinite recursion (?)
+ "tests/test_main.py::test_small_samples[1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc.py]"
+ )
+ ;;
+ esac
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
diff --git a/dev-python/executing/executing-2.0.1.ebuild b/dev-python/executing/executing-2.0.1.ebuild
new file mode 100644
index 000000000000..f13e526081c0
--- /dev/null
+++ b/dev-python/executing/executing-2.0.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2020-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,12} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Get information about what a Python frame is currently doing"
+HOMEPAGE="
+ https://github.com/alexmojaki/executing/
+ https://pypi.org/project/executing/
+"
+SRC_URI="
+ https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/littleutils[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # crashes with infinite recursion (?)
+ "tests/test_main.py::test_small_samples[1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc.py]"
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "getting node's source code" dev-python/asttokens
+}
diff --git a/dev-python/flask-login/Manifest b/dev-python/flask-login/Manifest
index 36fbb9a682e8..d89b90df9c6b 100644
--- a/dev-python/flask-login/Manifest
+++ b/dev-python/flask-login/Manifest
@@ -1,2 +1,3 @@
DIST flask-login-0.6.2-werkzeug-2.3.patch 7954 BLAKE2B 4f732dbaa6bdbc8827f52eb9c1d046f2128908df316a1ca94b11ce8033fa8fa506ae41255b8f0e32bc91feae8874b995c2f46d2b7f4fbc5f9020748c5be1db23 SHA512 911fb67e96006073af1df6cf39b4be6eac4aaee63bdcab8d7191b097acb441fd984b3929200db6c0f1f329a65df33acaffc08e88409010fa40f0a787dc47c427
DIST flask-login-0.6.2.gh.tar.gz 48195 BLAKE2B 74d980f9900d9c583e03caa704cf637c5c6dac6a26e74bc008f47c18213764bafef16e33d9d28eee588b3c2f7d2a5895eae88e5adf755fe0448f7e74d5c65e74 SHA512 b286272ad5f7de2cfc913bee4a3eac46e4c1ce274bb12467009e1abae422f1a855aa49fd898778b8a2e937eebe9fbb387af11815267a2bc120cde943939111ec
+DIST flask-login-0.6.3.gh.tar.gz 48287 BLAKE2B 4df20a6284965ec1282c0309069b0b83722aa1bf609335371bfb49d8b3c1ea6d140204b500dee6c67e231769b64841cda79f7ad6b71cb307a92c61e49f94ac22 SHA512 c421f85387b9ba0ba2ad98053cae596dd9bf6119c0a366d2b13c483d4fbf45afc0c0e4d46f35368f42fa088398ace9a0a0aab931826d8612d94f55b95afef71b
diff --git a/dev-python/flask-login/flask-login-0.6.3.ebuild b/dev-python/flask-login/flask-login-0.6.3.ebuild
new file mode 100644
index 000000000000..de8186076570
--- /dev/null
+++ b/dev-python/flask-login/flask-login-0.6.3.ebuild
@@ -0,0 +1,43 @@
+# 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,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Login session support for Flask"
+HOMEPAGE="
+ https://github.com/maxcountryman/flask-login/
+ https://pypi.org/project/Flask-Login/
+"
+SRC_URI="
+ https://github.com/maxcountryman/flask-login/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/flask-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-2.3.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/semantic-version[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/hypercorn/Manifest b/dev-python/hypercorn/Manifest
index 0f483ed03933..685dee3ef8ac 100644
--- a/dev-python/hypercorn/Manifest
+++ b/dev-python/hypercorn/Manifest
@@ -1 +1,2 @@
DIST hypercorn-0.14.4.gh.tar.gz 156001 BLAKE2B 262cbaba3df674b07dd5f6c15418cac18b46c2303a8ff616c8d2e968ff233d15bf616f2d3d0dbacda03f819251453be1b00cee4b98fdfaaed49f40cdcfb43119 SHA512 461b6fab72586b3bdea25ded6c0439595a8f84d5fb0b1a264f976926d9d34cb21f52bd10c84b9180d08fb05942f9fdb842343d4c6c476dcd60a26399387a2373
+DIST hypercorn-0.15.0.gh.tar.gz 156271 BLAKE2B 906b1b9c90c8150498ce6b8ac6f5de50373980381cd5ead206dd38be166b7e2ff0a1460aa08b2e4039d70b0412f2e38646836a867c623a2f0ff820f985cd79bc SHA512 a110f7e74eab99924c842715bdd9b32f0b3003eab4a4105968cf6779b69cb6e403dd8fd1b9910400994d25b9bf1a4d0956c99458bfcda70b1b8db2688859bacd
diff --git a/dev-python/hypercorn/hypercorn-0.15.0.ebuild b/dev-python/hypercorn/hypercorn-0.15.0.ebuild
new file mode 100644
index 000000000000..532794556704
--- /dev/null
+++ b/dev-python/hypercorn/hypercorn-0.15.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A ASGI Server based on Hyper libraries and inspired by Gunicorn"
+HOMEPAGE="
+ https://github.com/pgjones/hypercorn/
+ https://pypi.org/project/Hypercorn/
+"
+SRC_URI="
+ https://github.com/pgjones/hypercorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/exceptiongroup-1.1.0[${PYTHON_USEDEP}]
+ dev-python/h11[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.1.0[${PYTHON_USEDEP}]
+ dev-python/priority[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/taskgroup[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/wsproto-0.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--no-cov-on-fail::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 0bfa20c73b8d..cfcc406253dc 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,4 +1,4 @@
DIST ipython-8.14.0.tar.gz 5470735 BLAKE2B 9789b49b771e69439f957ff85d81f40e6511f4440e2372cac881c708503a5ce1c22e9f1fac45828ee723d1bd9b9ee4684c475d08ed96ed98396faf1400b802af SHA512 94fe14fd914fa81fdb8e370cf0fe7bfb4286be1972b4499ed96e9bf7d018e89f586f3386269e1dafc4a2bc279df7980635bd748799639d6020f52c1cc8af6702
DIST ipython-8.15.0.tar.gz 5482758 BLAKE2B 596e87a1952995c1581e377f8306c02d1a37f29e04e7baa040a2ed78da1deea7f4de45b7af84919c47005c70f3e5fe2155a891cb3b5923e0ee76d2ff027036a5 SHA512 881b8d2caf051ee6a44af3c73f342e55eaf588ad096d0d2da08a10ee4699cb31b3550825091833848df9ed75657c9a2a1daf0b9b65ac7a3927c04a8d6e7cb1a9
-DIST ipython-8.16.0.tar.gz 5484881 BLAKE2B e5ceaf994a29edb0ccb53d6b561f0cb4dd64eefe2c57040e94c5984314e456e7752d656ece482b690c66099368906ab02565027bc7b5dc3af0d80be9a4be4c43 SHA512 b8e91137c5bfc559468985403a2fd20a4a42aa6439a1a1667fe050a07529886cee334943a00c09a34e6617a4f4583f7ca9cb840d1661946b5acc0e903c6aeda4
DIST ipython-8.16.1.tar.gz 5485037 BLAKE2B c5429b1df9906681f9792d7bc3005a3a41f7d89f7d6c104f9826902134179f7149de0747a50f31c53d277a135d0fedd0952aa23fce3650f026ac3c1733287ecb SHA512 0feb4c14e8e7f34829cd8b6c43c91c9bb5b6c85ae60173951db4354296474945268fb8d3caedcfae8457783e6d27a6dc33b6291bf2d9a691526fc44199724887
+DIST ipython-8.17.1.tar.gz 5486234 BLAKE2B 33d817713ca635f0c06a6e97f37d33ca9f139cede35bb67bb79491703ab0e71000aa5205d98898ad7e570763cbba84a1b8562bb35d2612f205bc8ed240a4f6a5 SHA512 c5fc3c23d616396861a0f1a7f96fc974d98e33f3dc166e1f714b088c1b617e984e53d654bcb5efb7762d8a2628c0f808a5c0129800e0b441283e8f783943bc69
diff --git a/dev-python/ipython/ipython-8.16.0.ebuild b/dev-python/ipython/ipython-8.14.0-r1.ebuild
index f0c3007c918d..b1676aff3881 100644
--- a/dev-python/ipython/ipython-8.16.0.ebuild
+++ b/dev-python/ipython/ipython-8.14.0-r1.ebuild
@@ -26,14 +26,12 @@ RDEPEND="
dev-python/backcall[${PYTHON_USEDEP}]
dev-python/decorator[${PYTHON_USEDEP}]
>=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/matplotlib-inline[${PYTHON_USEDEP}]
>=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
dev-python/pickleshare[${PYTHON_USEDEP}]
>=dev-python/prompt-toolkit-3.0.38[${PYTHON_USEDEP}]
<dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
>=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/stack-data[${PYTHON_USEDEP}]
>=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
@@ -45,6 +43,7 @@ BDEPEND="
test? (
app-text/dvipng[truetype]
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/matplotlib-inline[${PYTHON_USEDEP}]
dev-python/nbformat[${PYTHON_USEDEP}]
>=dev-python/numpy-1.21[${PYTHON_USEDEP}]
@@ -147,6 +146,7 @@ pkg_postinst() {
optfeature "sympyprinting" dev-python/sympy
optfeature "cythonmagic" dev-python/cython
optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib
optfeature "%mprun magic command" dev-python/memory-profiler
if use nbconvert; then
diff --git a/dev-python/ipython/ipython-8.15.0-r1.ebuild b/dev-python/ipython/ipython-8.15.0-r1.ebuild
new file mode 100644
index 000000000000..b1676aff3881
--- /dev/null
+++ b/dev-python/ipython/ipython-8.15.0-r1.ebuild
@@ -0,0 +1,159 @@
+# 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,12} )
+PYTHON_REQ_USE='readline,sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/backcall[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.38[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib
+ optfeature "%mprun magic command" dev-python/memory-profiler
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/ipython-8.16.1-r1.ebuild b/dev-python/ipython/ipython-8.16.1-r1.ebuild
new file mode 100644
index 000000000000..b1676aff3881
--- /dev/null
+++ b/dev-python/ipython/ipython-8.16.1-r1.ebuild
@@ -0,0 +1,159 @@
+# 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,12} )
+PYTHON_REQ_USE='readline,sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/backcall[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.38[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib
+ optfeature "%mprun magic command" dev-python/memory-profiler
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/ipython-8.17.1-r1.ebuild b/dev-python/ipython/ipython-8.17.1-r1.ebuild
new file mode 100644
index 000000000000..874612fb3029
--- /dev/null
+++ b/dev-python/ipython/ipython-8.17.1-r1.ebuild
@@ -0,0 +1,158 @@
+# 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,12} )
+PYTHON_REQ_USE='readline,sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.38[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+ optfeature "%mprun magic command" dev-python/memory-profiler
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/ipython-8.17.1.ebuild b/dev-python/ipython/ipython-8.17.1.ebuild
new file mode 100644
index 000000000000..837e20b8659c
--- /dev/null
+++ b/dev-python/ipython/ipython-8.17.1.ebuild
@@ -0,0 +1,158 @@
+# 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,12} )
+PYTHON_REQ_USE='readline,sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.38[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%mprun magic command" dev-python/memory-profiler
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/jsonschema/Manifest b/dev-python/jsonschema/Manifest
index b07eac69894b..2d779d1f6d60 100644
--- a/dev-python/jsonschema/Manifest
+++ b/dev-python/jsonschema/Manifest
@@ -1,2 +1,3 @@
DIST jsonschema-4.17.3.tar.gz 297785 BLAKE2B a0383bf5612ae50e94c95dbc1774d796b62c74a7aae3056a40edb7e042ad07fd7885e61d86220120a906a4017afe30d8ee8edbbf0cf01a6dec1f212984ff1c1e SHA512 626fc913c37d2e49e4b47c9e058aab4a96c1dc50c35d8def0b2ea0ca464dc25e3318d4fde4927c11ca38068743cd81779d5189464b821407ac1de1788bad30e2
DIST jsonschema-4.19.1.tar.gz 318089 BLAKE2B 63ddd573ec47bc1c58c2b1bc4a20dd833c4c041de69b8c2e3cfa24c3494d3879fb09914491758ef38e8ae775b347f68d1d9c2e4d3cfc087dbd8c55d381cccd66 SHA512 60fa769faf6e3fc2c14eb9acd189c86e9d366b157230a5681d36552af0c159cb1ad33fd920668a36afdab98bc97253f91501704c5c07b5009fdaf9d29b52060d
+DIST jsonschema-4.19.2.tar.gz 318786 BLAKE2B 2906344281ffa50ac1256c37025aa74ac8267af25187d3e13e6f1be219027e16a8fb4a6cdf778e6d0be4adf727d4393281fd8e5ffceef608fb40cb322361e20c SHA512 0820f0e6417cceb1017efe9b8fed6e386acbb194e786c97c89a94f173c22a8dfa8144f19ae46cbf44cb3d2b78b27d4631344e13e964d82d9810a513d328a95a0
diff --git a/dev-python/jsonschema/jsonschema-4.19.2.ebuild b/dev-python/jsonschema/jsonschema-4.19.2.ebuild
new file mode 100644
index 000000000000..475d1eceb505
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-4.19.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 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="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema/
+ https://github.com/python-jsonschema/jsonschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-specifications-2023.03.6[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.4[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ !!dev-python/shiboken6
+ )
+"
+
+# formatter deps
+RDEPEND+="
+ dev-python/fqdn[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/isoduration[${PYTHON_USEDEP}]
+ >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3986-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3987[${PYTHON_USEDEP}]
+ dev-python/uri-template[${PYTHON_USEDEP}]
+ >=dev-python/webcolors-1.11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires pip, does not make much sense for the users
+ jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
+ # fragile warning tests
+ jsonschema/tests/test_deprecations.py
+ # wtf?
+ jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
+)
diff --git a/dev-python/jupyter-core/Manifest b/dev-python/jupyter-core/Manifest
index 81263ce4d705..35c668c10af4 100644
--- a/dev-python/jupyter-core/Manifest
+++ b/dev-python/jupyter-core/Manifest
@@ -1,3 +1,4 @@
DIST jupyter_core-5.3.1.tar.gz 84448 BLAKE2B 22adc8f7a0b39fa4ffd087a7c7305fa29d05d45200b69a3af6827083183292e58b3b5854b60545eb065808dffec2ae9252feb573b9450bd3014d493cb1784ed3 SHA512 752ce40c0aa71432177100f34596ad98d9907f8e2d26fcabc0bce7b4f5efb9207f1979d2db180f00d2160a84034656952640cde757186e538f7038bb0f626c7b
DIST jupyter_core-5.3.2.tar.gz 84808 BLAKE2B 02442d6c389e88996930e4040dcc0c38040218360831d6768f237fa1bd59e1f06576cab29d7eba960337d491733872a82cf09aed8c147fcc29b3e4909a485d38 SHA512 f202cb16dc5d42d4ae87dd6fd91c3fa38f4b6611b58fd904eb37b647628f6ca5164e4e61d4eb09cc0dee192463ddd7577f64242b1dd7b014fecff5b252f661e1
DIST jupyter_core-5.4.0.tar.gz 85162 BLAKE2B 32d5c50e3b4dbd1a92eb3064d072bd8d70b4a67a7c5828fb249a587f65d200bdce6081252f97276ada625a390f52802c068af8f99f23ae43e69e0fd19697f739 SHA512 2e4d65f07590bd1cad0df7043b6f6542b3fadbdf9a0c4ec699a39725a04c12aeef123917eab445d230d42e779655e797924800fd9d8acd0b9d27060f26b243d2
+DIST jupyter_core-5.5.0.tar.gz 85369 BLAKE2B 41fa2381023c8f2313607d2ac989d1f35dcd362abd4b9573affaf9fc34cd48eb260d2ad68af97be2d47aa4a077f1756e6e291a4f0dd48c9774df2d31dda7e9b4 SHA512 92ca5ddc69d58ecdf1f707104e950ba43c88630991b0a6951fb6ba83260573b9f48c7903b25ae7bc105c08b3179de4bebb5a87b66453b96ceed631cbf555d631
diff --git a/dev-python/jupyter-core/jupyter-core-5.5.0.ebuild b/dev-python/jupyter-core/jupyter-core-5.5.0.ebuild
new file mode 100644
index 000000000000..93306723adf4
--- /dev/null
+++ b/dev-python/jupyter-core/jupyter-core-5.5.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core common functionality of Jupyter projects"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_core/
+ https://pypi.org/project/jupyter-core/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.11.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/sphinxcontrib-spelling \
+ dev-python/traitlets
+distutils_enable_tests pytest
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..e9da2ac43cac 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 736a1167c898..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
-
- <origin>gentoo-guru-overlay</origin>
+ <maintainer type="person">
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild b/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild
new file mode 100644
index 000000000000..740672c1b509
--- /dev/null
+++ b/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.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,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inline Matplotlib backend for Jupyter"
+HOMEPAGE="https://github.com/ipython/matplotlib-inline/"
+SRC_URI="
+ https://github.com/ipython/matplotlib-inline/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+# Although in theory we could depend on matplotlib, upstream does not.
+# This is because the sole purpose of the package is to be loaded by
+# ipython (also not a dependency!) as a response to interactive use of
+# the "%matplotlib" magic.
+#
+# In order to be seamless and straightforward, this backend is always
+# installed and just requires users using matplotlib, to install
+# matplotlib before importing and using it.
+RDEPEND="
+ dev-python/traitlets[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index b44fc24ff720..07d1c2d67183 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,3 +1,4 @@
+DIST nbconvert-7.10.0.tar.gz 850541 BLAKE2B ab0fbe4ab21c123dacfca5780c108b158c09db1046c999ccf07e0f3621e9d50ebf900df5df9b531aae76b53f283179fcb659a37d5a72c7713e37af48b10ed300 SHA512 b04bd5a20b9284fbab66e6bd8aa165d07e2a2dba51c478e421eae67ec9ac139e2bbc5bc1eec15b7ad23757125747016abc8de0de905794af142523f1ee0683c4
DIST nbconvert-7.8.0.tar.gz 850287 BLAKE2B c499f9df8dd7eb4d337f0b7b6f79cb6046361900747fc1cbd84426b2fda35f9e453002341b322b32f04187e0fd3e375dcc4338e3b4bc7455ddc4f2185a69ed1d SHA512 e332f5561050244c79e728c71e51b9ecd66c99c1550bb95bc3cb710b1bb67a3513c0a7c00cb3e333c032e5228f251b7be036162c77cb375900c5eacc923fc197
DIST nbconvert-7.9.1.tar.gz 850278 BLAKE2B 718eb528911c85f7a60285590fdf6d0bea6b9f6a11b9764506cfeb46ace20b32582947a7f63f7c1a8c3d631cc2b032a683cabcad9f52414a260a05acc717d1dc SHA512 d50cec9fdb89d1b6e31fe24aa9146207aea86438b96d8f7a5d9ee4d18f41f0c53ae1855e0701d2ddceb00b5e97bf849c63790a674ac2346546ab7285ee3c9a6e
DIST nbconvert-7.9.2.tar.gz 850333 BLAKE2B d2d2b6f04e879a78151e606c24b03dd4655b37cc13a1302d7d7a8fd880d9728f0a144f25aefbfaa4b63d4a510811ee6af6d92cf9506d2c1718d7b319cb7ef745 SHA512 43ed36aae813f77bfd50aebfed4c650e552fc5a438e607b924aa2907f23c53c61ec3ddff1051d77e8b0ad968fcef17e6b010b1e7876b17b380d2e12cfeecf631
diff --git a/dev-python/nbconvert/nbconvert-7.10.0.ebuild b/dev-python/nbconvert/nbconvert-7.10.0.ebuild
new file mode 100644
index 000000000000..ffb57fcf2745
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.10.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 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 multiprocessing pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ mkdir -p share/templates/classic/static || die
+ # tries to refetch stuff even if it's already present
+ sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
+ -i hatch_build.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # crazy qtweb* stuff, perhaps permissions
+ tests/exporters/test_qtpdf.py::TestQtPDFExporter::test_export
+ tests/exporters/test_qtpng.py::TestQtPNGExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest -n "$(makeopts_jobs)" || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
index 07ce8e4d1504..93fe3485c860 100644
--- a/dev-python/nbxmpp/Manifest
+++ b/dev-python/nbxmpp/Manifest
@@ -1,3 +1,4 @@
DIST python-nbxmpp-3.2.5.tar.bz2 132029 BLAKE2B 846f3b47c3a9a95cf1fa1b557a007fd4901fb4acaa3160ea4b9b1cdff1e9d2c3e64bc5251b739d816f3f1c449c350d1ac44c14cbef87d14fe5a6450418451007 SHA512 577f8c7b0f5a7c69b4d980bff93f0a208ab0a660d731eb95ec63b76583194b94bd9d9f6b10fcac3951a6e6afb5d0c4da2140cbc17ef653f19ec6957b5d2e5f04
DIST python-nbxmpp-4.3.3.tar.bz2 136583 BLAKE2B 2b5a8cf976a44747c9ab245c6744d6b9b797e5634cff689c17f929107b5ed9e01273cf34e96427d26df0397c70d7fdb7a9f4db095d7582b00e464bea4ea9f4b5 SHA512 0c433821b88103418a9326519f8793ae5b430901141333b10a747e60eeec63d576020b3b32b610a5dd52a4a4ec22572eb8728d92460411bdc92b4c54d3764980
DIST python-nbxmpp-4.4.0.tar.bz2 137431 BLAKE2B 5c14d8c8519a862a50d53ff3b7a3f33d8ba4d1e82e9e5b9a9b011f8f36c05ef7c217c95f9410911476c8b24ba2430bda8ad7eafba1ab490b0bc3f55d9cce69ba SHA512 2d6d1ca38345e14785e3a8b85a0f98343daee2e968e5da3e7abd07625fd35318a01d1bb2841fd65c0d05d2a5afccf1226a1d8c273614cedf1a7d3c9543ea83e1
+DIST python-nbxmpp-4.5.0.tar.bz2 137866 BLAKE2B ca1f30e351a67fb7b65871cf9aad7181851a0b3293ca66d65b954573773597703cf91c8e6dd2dba434be5e11b1c4cd416c66aa1cef3461cf3757b480e4f86a21 SHA512 6bf60dabce29e0af1695f7be372a1bc44d001da338f2e3d50c62b9b4fdfafbeb50f05e465635fceeac88a5b98c700a9c0c630dc535e2fc0a6b342c9006cecdde
diff --git a/dev-python/nbxmpp/nbxmpp-4.5.0.ebuild b/dev-python/nbxmpp/nbxmpp-4.5.0.ebuild
new file mode 100644
index 000000000000..f9b45ad3e450
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-4.5.0.ebuild
@@ -0,0 +1,35 @@
+# 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,12} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pgspecial/Manifest b/dev-python/pgspecial/Manifest
index 7da814a98290..986e37142784 100644
--- a/dev-python/pgspecial/Manifest
+++ b/dev-python/pgspecial/Manifest
@@ -1 +1,2 @@
DIST pgspecial-2.1.0.tar.gz 50495 BLAKE2B 981f5a01ef32090eae7d477d23476fd8dd2a5bd3a5f3781e990cdbd28ebb24e5176653b7c8f9a1b7f1f01888a5c8278568257a709a5337f8b0d9838bfba8a21a SHA512 5bbd53d21ad89698b6ca04c989aa1ed59f3b8adc9b876b5b7db35bca03b964f645df2af96d3ddf6e7718c8ee06953fcf8f3ca548e65d722eaf4ea0098fa126ad
+DIST pgspecial-2.1.1.tar.gz 51017 BLAKE2B 170db33ca1629244b2c8c2d23a5768528e474660dcaf73079c516d33624202cc05487a338b21ac5bab28780d127923bf24d86231e85cade2f82714add5bdd789 SHA512 4ab8596536b90837c2ed0a11b6bbfecd6e5dc487b073a58a1406e8e70028ebb7010430784963fe27a08a5cc48292785f6d02affb750f4a1b74cbe33a0e06a5f0
diff --git a/dev-python/pgspecial/pgspecial-2.1.1.ebuild b/dev-python/pgspecial/pgspecial-2.1.1.ebuild
new file mode 100644
index 000000000000..116e8e3b4988
--- /dev/null
+++ b/dev-python/pgspecial/pgspecial-2.1.1.ebuild
@@ -0,0 +1,57 @@
+# 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,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of PostgreSQL meta commands"
+HOMEPAGE="
+ https://github.com/dbcli/pgspecial/
+ https://pypi.org/project/pgspecial/
+"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/click-4.1[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
+ >=dev-python/psycopg-3.0.10:0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.1.19[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( License.txt README.rst changelog.rst )
+
+EPYTEST_DESELECT=(
+ # assumes a very specific locale
+ tests/test_specials.py::test_slash_l
+ tests/test_specials.py::test_slash_l_pattern
+)
+
+src_test() {
+ local db=${T}/pgsql
+
+ initdb --username=postgres -D "${db}" || die
+ # TODO: random port
+ pg_ctl -w -D "${db}" start \
+ -o "-h '127.0.0.1' -p 5432 -k '${T}'" || die
+ psql -h "${T}" -U postgres -d postgres \
+ -c "ALTER ROLE postgres WITH PASSWORD 'postgres';" || die
+ createdb -h "${T}" -U postgres _test_db || die
+
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${db}" stop || die
+}
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index d39dff6e24b4..b472b6e1f8fa 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,2 +1,3 @@
DIST pypdf-3.16.4.gh.tar.gz 7970008 BLAKE2B 86f622cf1ff6632a4645d564336fd8948970579f6bae241437701f333c2f336feab55f7e32a35b4f480577fe609958f492e73c1c9c5f1471af08e34c157f06b0 SHA512 7e7eb9759dfb3984b384a721e7d90ab5c666630bd3c56d936260e5ad93cfdc9a2d6fff8a7354764125923ab8f029ac5366a2750cc1151676fb40be1eba1bb2a4
+DIST pypdf-3.17.0.gh.tar.gz 7974585 BLAKE2B e09840119845cf6b14887081f367b2a7ff9a88e4713cd1a940276ca0f83b6497ee07336ff02e7c43571cb39782e72f4f0b206fb3f692476e98d5c291b0193a25 SHA512 31b0298c26c117764494906ef940cb8f111d5b57b91849fbffb6a63682089e5bc0c59a4c068c90810f5d21ce67c8d71fb0c42d996f441bc287ad73e0c4710d97
DIST pypdf-sample-files-d87c33efc0f98225132dfe9c47980208b8130aa4.gh.tar.gz 11645535 BLAKE2B 3f96adaf4abc50a4390d9432878571a0ef9dd43dd34f307bb4bb6fd110d5ecdde988578860f110a6c8578cef96eac5410ded3204989fd20e6a6f1a84fac2fe83 SHA512 cb68a2eb06ef6738bef979f3b20c66fb925fbcb029cb22dfa5ea9b23b71ba07cb8e364e14eca34ebeb3b11e367c94738e32c9067b56b4da505bf77ab402abd06
diff --git a/dev-python/pypdf/pypdf-3.17.0.ebuild b/dev-python/pypdf/pypdf-3.17.0.ebuild
new file mode 100644
index 000000000000..f3f1f074893f
--- /dev/null
+++ b/dev-python/pypdf/pypdf-3.17.0.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=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=d87c33efc0f98225132dfe9c47980208b8130aa4
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ # TODO: requires fpdf
+ tests/test_page.py::test_compression
+ tests/test_writer.py::test_merging_many_temporary_files
+)
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pytest-django/Manifest b/dev-python/pytest-django/Manifest
index b68b63a733a0..cc6911c4e163 100644
--- a/dev-python/pytest-django/Manifest
+++ b/dev-python/pytest-django/Manifest
@@ -1 +1,2 @@
DIST pytest-django-4.5.2.gh.tar.gz 75429 BLAKE2B 2e8fba037c7618c6dd1c9200c5c44a7b00a13a2d70b4a593a461af3dbc0333b6814ceca16f88a58f1b6aeea2700cac12b589ede702b8eaf023fb3948e0ab8b9a SHA512 09ed5bfe850599e95190d9b15e9383d1249ea575a7b3921744583da6266dd2c8d3eb4f93c8de96d98e1a8e33d1639937470cdc6d11558fcaea57d014dce13500
+DIST pytest-django-4.6.0.gh.tar.gz 77499 BLAKE2B 057eb0f3593aed92285d96edbcff94cab5ec1574c394793199df4b93bfb3256b723ae74689a6413f7a2303b8c5564e40805f4e9ee6ed2dead1030d8da3a4f7ed SHA512 e2dc2a1993b795cc15f6d63757a9c01b2f466812f69f07aa43deff8260edcd881da554a200b0d793173a2fa9efd826f020e2ba1c26931fa2f59503d25ce7c240
diff --git a/dev-python/pytest-django/pytest-django-4.6.0.ebuild b/dev-python/pytest-django/pytest-django-4.6.0.ebuild
new file mode 100644
index 000000000000..2088f27489e7
--- /dev/null
+++ b/dev-python/pytest-django/pytest-django-4.6.0.ebuild
@@ -0,0 +1,51 @@
+# 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,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django plugin for pytest"
+HOMEPAGE="
+ https://pypi.org/project/pytest-django/
+ https://pytest-django.readthedocs.io/
+ https://github.com/pytest-dev/pytest-django/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE
+ local -x PYTHONPATH=${PWD}
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
+ for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
+ einfo "Testing ${DJANGO_SETTINGS_MODULE}"
+ epytest tests
+ done
+}
diff --git a/dev-python/ruamel-yaml/Manifest b/dev-python/ruamel-yaml/Manifest
index c4b01e16a8c5..cae801aa1003 100644
--- a/dev-python/ruamel-yaml/Manifest
+++ b/dev-python/ruamel-yaml/Manifest
@@ -7,3 +7,4 @@ DIST ruamel.yaml-0.17.39.tar.xz 192916 BLAKE2B 23553af89c3083837a54805097c2c59eb
DIST ruamel.yaml-0.17.40.tar.xz 193424 BLAKE2B 80405ef0c85af476ef0e996b1da5aba1a116e8c181d18f40fb4fd86093a512c09cf0da30d52d85946c524e86e10379cb11154cb08a7ea7b054ba9379996de4f4 SHA512 848af49430b9c028a6676a159915c66e29f4290374ba0863e4fd87527f3178bb303a80f4ba97139fc8cbcd01f7f7782a4b3112325237a39659e227afda61fcb8
DIST ruamel.yaml-0.18.0.tar.xz 194448 BLAKE2B 5a8c0e1a8cdfcec743d7e9084d7a2df54b79fbca174a7d46629d64a4cea33bc15ec320813b6f4206fb04de8383e34b73a2c615f3e10afebe600f3c0bc02f5639 SHA512 99c84d7c8b66cd3db5a030b81449b0790df54912af1c01dfbae575f495b22c662f4a7187ba41554802bd760782a70554c6359fcc640a12b2f85b37755d4af32d
DIST ruamel.yaml-0.18.2.tar.xz 194700 BLAKE2B 90eab45df1ae69b5089d953829350a2e580220dfe01cd5ef1bde3c13892bbf7998daab9326810dbe41645beca808c1557a8a35be52e4db600ecd9cc8372086e1 SHA512 9718a0a17f9a57ad4d99f9079dbd6257c647ba07a24d368507ea8c66ef35fbec5db97fc2944672cc94217b610508c210f5fe926e80d47b40f2b4270aa6b81fde
+DIST ruamel.yaml-0.18.3.tar.xz 195928 BLAKE2B e0986dfdf45b67baab83a49f5380f43a87c388a5b6ebe06ee0518013630e9577cbf06dc9457b53a10a74af13b3e976593fae08d19fb2ff242e35ca6238aaecc9 SHA512 80d9032cb67a434633b61fb321b82dd39403058c8bcab4480ddca7053801722d5763765de426f68fcd5a2ef923f98ca29c4efdd4f749a52872ef10ddf7a8cd6e
diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.18.3.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.18.3.ebuild
new file mode 100644
index 000000000000..36154d7811ad
--- /dev/null
+++ b/dev-python/ruamel-yaml/ruamel-yaml-0.18.3.ebuild
@@ -0,0 +1,58 @@
+# 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,12} pypy3 )
+
+inherit distutils-r1
+
+MY_P="${P/-/.}"
+DESCRIPTION="YAML parser/emitter that supports roundtrip comment preservation"
+HOMEPAGE="
+ https://pypi.org/project/ruamel.yaml/
+ https://sourceforge.net/projects/ruamel-yaml/
+"
+# PyPI tarballs do not include tests
+SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]
+ !dev-python/namespace-ruamel
+"
+BDEPEND="
+ test? (
+ dev-python/ruamel-std-pathlib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ _test/test_deprecation.py::test_collections_deprecation
+ )
+ local EPYTEST_IGNORE=(
+ # Old PyYAML tests from lib/ require special set-up and are
+ # invoked indirectly via test_z_olddata, tell pytest itself
+ # to leave the subdir alone.
+ _test/lib/
+ )
+
+ # this is needed to keep the tests working while
+ # dev-python/namespace-ruamel is still installed
+ distutils_write_namespace ruamel
+ epytest
+}
diff --git a/dev-python/setuptools-rust/Manifest b/dev-python/setuptools-rust/Manifest
index 0ab7e96617ae..736c2737b801 100644
--- a/dev-python/setuptools-rust/Manifest
+++ b/dev-python/setuptools-rust/Manifest
@@ -85,6 +85,7 @@ DIST servo_arc-0.1.1.crate 9817 BLAKE2B 88586ca0c969df8bfb3a04ba4a68960699587643
DIST setuptools-rust-1.6.0.gh.tar.gz 294915 BLAKE2B 1b59e917a951a0a60f7e2bb723c136bc8f7a2c92dcdf816dcf52c55bf2075e323766c3c0f6c61e9e9d519236f496a5462396ff35ae760afc1680664c0c0a9da0 SHA512 93945d06e8cb38c5764fa8ec12b039111b3ee677dfe66350a4f554f1c1622885a0dcef34a1b429172859bca1081df8b82c05ce81b6714c6d43cfa073ade75785
DIST setuptools-rust-1.7.0.gh.tar.gz 301019 BLAKE2B 8186e12c916019861d32ae2c1987d5a1266ab925972f2e248cc8d40926f7e7cd507976ccd9b3e1a4a6b8961dbcdcb43287ebb42ecb5c602b4518e8013d0c315a SHA512 08e24de0962591f98abc72d3acfe76f66784e7dd491618ae33682138cdbc714af0d030c6880d907f2be7fd56bb550a599e684374b9fa40d70766d8435f92c508
DIST setuptools-rust-1.8.0.gh.tar.gz 305788 BLAKE2B 77343da330e1f105e511d6cc640b50e7cf343462e179bddd9db525424d921c715e8cba80e4c2f57070b827efe2fe5522d57d71617868b79500f016f936272b91 SHA512 3e98724d03f8a3c21151d2f30fd99cfcd981b46f5b76c4ba468b82090bf1331abcfe5697a4ebfc98106f02d042707e81078cad50b4ff415741569cfeda11f288
+DIST setuptools-rust-1.8.1.gh.tar.gz 305821 BLAKE2B b5c7b4fe5475d9725ea4bb2e186604ba54ea8662c1ba244d7db8c22935fa190f54083545dc0e4fb58e6e37675172a6104812fc3833eb14d24687af8dfcc7ccd7 SHA512 153dea2d1a73cef6a171454844a61caab07f38ce0902b0b3972afe5051eddf33a1869b822bd9b7c6e288855e31c47ef2037e398a7aea66f0fb5b6ece3dec9f48
DIST siphasher-0.3.10.crate 9889 BLAKE2B e5dd6d265340b4c9e4266ab1ff3a20f1fb87fd493b2d7b5fba32d26421cc858b38929e4ab96941d0c055375b8acebbd04236d994cadca324500ed05064b9bfc9 SHA512 f90425a2cccc9575d377bb92a765d34653ddef1ac12b7c63dc6d700aaa74b525787e11609061c2d3e44ea56fe0e4b8f93f7b13f0279b5de2e0f710c5caffd4ce
DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
DIST smallvec-1.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild
new file mode 100644
index 000000000000..56c7ec93d7ee
--- /dev/null
+++ b/dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=yes
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ byteorder@1.4.3
+ cfg-if@1.0.0
+ convert_case@0.4.0
+ cssparser-macros@0.6.0
+ cssparser@0.27.2
+ derive_more@0.99.17
+ dtoa-short@0.3.3
+ dtoa@0.4.8
+ futf@0.1.5
+ fxhash@0.2.1
+ getrandom@0.1.16
+ heck@0.4.1
+ html5ever@0.25.1
+ indoc@1.0.9
+ indoc@2.0.4
+ instant@0.1.12
+ itoa@0.4.8
+ kuchiki@0.8.1
+ lazy_static@1.4.0
+ libc@0.2.121
+ libc@0.2.147
+ lock_api@0.4.10
+ lock_api@0.4.6
+ log@0.4.14
+ mac@0.1.1
+ markup5ever@0.10.1
+ matches@0.1.9
+ memoffset@0.9.0
+ new_debug_unreachable@1.0.4
+ nodrop@0.1.14
+ once_cell@1.10.0
+ once_cell@1.18.0
+ parking_lot@0.11.2
+ parking_lot@0.12.1
+ parking_lot_core@0.8.5
+ parking_lot_core@0.9.8
+ phf@0.8.0
+ phf_codegen@0.8.0
+ phf_generator@0.8.0
+ phf_macros@0.8.0
+ phf_shared@0.10.0
+ phf_shared@0.8.0
+ ppv-lite86@0.2.16
+ precomputed-hash@0.1.1
+ proc-macro-hack@0.5.19
+ proc-macro2@1.0.66
+ proc-macro2@1.0.69
+ pyo3-build-config@0.19.2
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.19.2
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.19.2
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.19.2
+ pyo3-macros@0.20.0
+ pyo3@0.19.2
+ pyo3@0.20.0
+ quote@1.0.32
+ quote@1.0.33
+ rand@0.7.3
+ rand_chacha@0.2.2
+ rand_core@0.5.1
+ rand_hc@0.2.0
+ rand_pcg@0.2.1
+ redox_syscall@0.2.11
+ redox_syscall@0.3.5
+ rustc_version@0.4.0
+ scopeguard@1.1.0
+ scopeguard@1.2.0
+ selectors@0.22.0
+ semver@1.0.6
+ serde@1.0.136
+ servo_arc@0.1.1
+ siphasher@0.3.10
+ smallvec@1.11.0
+ smallvec@1.8.0
+ stable_deref_trait@1.2.0
+ string_cache@0.8.3
+ string_cache_codegen@0.5.1
+ syn@1.0.109
+ syn@1.0.89
+ syn@2.0.32
+ syn@2.0.38
+ target-lexicon@0.12.11
+ target-lexicon@0.12.3
+ tendril@0.4.3
+ thin-slice@0.1.1
+ unicode-ident@1.0.11
+ unicode-ident@1.0.12
+ unicode-xid@0.2.2
+ unindent@0.1.11
+ unindent@0.2.3
+ utf-8@0.7.6
+ wasi@0.9.0+wasi-snapshot-preview1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-targets@0.48.1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.0
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.0
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.0
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.0
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit distutils-r1 cargo
+
+DESCRIPTION="A plugin for setuptools to build Rust Python extensions"
+HOMEPAGE="
+ https://github.com/PyO3/setuptools-rust/
+ https://pypi.org/project/setuptools-rust/
+"
+SRC_URI="
+ https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? ( ${CARGO_CRATE_URIS} )
+"
+
+# crates are used at test time only, update via pycargoebuild -L -i ...
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ virtual/rust
+ <dev-python/semantic-version-3[${PYTHON_USEDEP}]
+ >=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_test() {
+ local examples=(
+ html-py-ever
+ namespace_package
+ rust_with_cffi
+ )
+ for example_dir in ${examples[@]}; do
+ pushd examples/${example_dir} >/dev/null || die
+ einfo "Running ${example_dir} test"
+ esetup.py build --build-lib=build/lib
+
+ case ${example_dir} in
+ html-py-ever)
+ pushd tests >/dev/null || die
+ local -x PYTHONPATH=../build/lib
+ ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}"
+ popd >/dev/null || die
+ ;;
+ *)
+ pushd build/lib >/dev/null || die
+ epytest ../../tests
+ popd >/dev/null || die
+ ;;
+ esac
+
+ rm -rf build || die
+ popd >/dev/null || die
+ done
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 008d28128097..b22ad1041204 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,2 +1,3 @@
DIST SQLAlchemy-1.4.49.tar.gz 8536601 BLAKE2B 2133723380b157a76f4af6103a2c68099f78d7a49ad90793d682bd6015d61a06a72ba6f02922111b60716e311ddc2f6067153f7b4b1f80329775e0d6f27a0d92 SHA512 268751b09aebd9da10fd57b4b987fa57f3c61d18d5104bb308e405aa034c74e7d5441abd94368857fbe11b8d15bb5315634f64f3b1252e7318d24107ba1fe3ff
+DIST SQLAlchemy-1.4.50.tar.gz 8517526 BLAKE2B 835ed762b2b399167c9eb52400689619db33d30431241bfb0410a79d0e34104aec972e883c4159f9a69a754a60e1daffc6256ba74f02bc7dabf994c6752c8ae1 SHA512 d484c2673e67b0c45f05d2af20f930f274ea8e83ca41e2bd1c08723f564af58424b78be2ee507612fec6fc095dc215f75f52dfad68a98bcbf1774e150d956a29
DIST SQLAlchemy-2.0.22.tar.gz 9456107 BLAKE2B c4c5efd096c03550ce8f2adb944b97861a1f383f2c73dd096f4698428f88f80dba66bc22d209488c9ae3b0438ee6190377a36cc828ff411f99165cc41becc949 SHA512 76db680d80939235c17f2fbfe8f7dbc822a9299d52ab261ec76481e76de7bed80dbd4b5f9c7ed1d7c2d1b0651d035a47a8990691a128fd999a6a29c7c45b5459
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild
new file mode 100644
index 000000000000..834f78eb31b8
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild
@@ -0,0 +1,107 @@
+# 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,12} pypy3 )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+)
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+
+ # TODO
+ 'test/orm/test_cache_key.py::EmbeddedSubqTest::test_cache_key_gen[memory-_exclusions1]'
+
+ # deprecations
+ test/engine/test_parseconnect.py::TestRegNewDBAPI::test_wrapper_hooks
+ test/engine/test_parseconnect.py::URLTest::test_component_set
+ test/engine/test_parseconnect.py::URLTest::test_password_custom_obj
+ test/engine/test_parseconnect.py::URLTest::test_update_query_dict
+ test/engine/test_parseconnect.py::URLTest::test_update_query_string
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ # https://github.com/sqlalchemy/sqlalchemy/issues/8762
+ test/orm/test_query.py::YieldTest_sqlite+pysqlite_${sqlite_version//./_}::test_yield_per_close_on_interrupted_iteration_legacy
+ )
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=
+ # upstream automagically depends on xdist when it is importable
+ # note that we can't use xdist because it causes nodes to randomly
+ # crash on init
+ if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
+ PYTEST_PLUGINS+=xdist.plugin
+ fi
+ epytest
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/taskgroup/Manifest b/dev-python/taskgroup/Manifest
new file mode 100644
index 000000000000..91e081575398
--- /dev/null
+++ b/dev-python/taskgroup/Manifest
@@ -0,0 +1 @@
+DIST taskgroup-0.0.0a4.tar.gz 8553 BLAKE2B b9fe9e2442ef8ea5972599a150ad8d2e41004a0aee2112e455d0b850c3833fb266fe2a6b730a4d8371eb3fff0d7101f2803d8708f3f9ea1159338495ca9255be SHA512 fc5a78de3d20fecd82a2c9a142ecf1df8f33f185a792f50b86558d7bb38d49307977a4db0709dbb806cca2a1d3aba46c86833c24973e155c3295437038581ab7
diff --git a/dev-python/taskgroup/metadata.xml b/dev-python/taskgroup/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/taskgroup/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/taskgroup/taskgroup-0.0.0_alpha4.ebuild b/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
new file mode 100644
index 000000000000..1d27ac4a0ef4
--- /dev/null
+++ b/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout"
+HOMEPAGE="
+ https://github.com/graingert/taskgroup/
+ https://pypi.org/project/taskgroup/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/traitlets/Manifest b/dev-python/traitlets/Manifest
index ac2a751d7a9a..ed1a9dcf9629 100644
--- a/dev-python/traitlets/Manifest
+++ b/dev-python/traitlets/Manifest
@@ -1,2 +1,3 @@
DIST traitlets-5.11.2.tar.gz 157726 BLAKE2B 80354e3375ca50242222e3074a2e8ea9f836f4a828224b234bc6ecdd648bd3c8d3a526c2a4d1c003991e30bb229cd0e01ac0c0889f789788705cc78fb76a7303 SHA512 2194599110bef3f63f24a31331c4f823c5a31664f670198398519fbed0801904b8353aa1ff9458b2cc097fd0725bcba41135b72a001df2419dc5ab6c39b9685a
DIST traitlets-5.12.0.tar.gz 158618 BLAKE2B f32a75222cdd0d69944f582c9d64833146905a2e8757651cdd17732463b39733f3639e23685f6d98120fef9d0c0b9f83d478da225772cb20565df5c00a82e05c SHA512 944b509d39246123e76d87b50c43421bed7d293ce3da15d46eb9c9bdd93fecc8b57ec457c11397f346839a79d6434dc381183926975e105a1f657f9e414d3ef0
+DIST traitlets-5.13.0.tar.gz 159818 BLAKE2B d681d293783044a8523512fc82994402ab7892f0adbc9d483ab4548e9b7f3491ace911a74529533a1ae7bcb3639fb50370b48647c96085da6a31a34e46777dbf SHA512 5fc084862e2d99593fadd69711f1bb9403ef92bc1d0e0f944eb1546f107e30763e7164d7be5f83c22e846bae51129376b5d14cb52251d782c50be571f29451b5
diff --git a/dev-python/traitlets/traitlets-5.13.0.ebuild b/dev-python/traitlets/traitlets-5.13.0.ebuild
new file mode 100644
index 000000000000..92724ed213d0
--- /dev/null
+++ b/dev-python/traitlets/traitlets-5.13.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A configuration system for Python applications"
+HOMEPAGE="
+ https://github.com/ipython/traitlets/
+ https://pypi.org/project/traitlets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ >=dev-python/argcomplete-2.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_typing.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/wheel/Manifest b/dev-python/wheel/Manifest
index 0de60b397db9..07095c15add6 100644
--- a/dev-python/wheel/Manifest
+++ b/dev-python/wheel/Manifest
@@ -1 +1,2 @@
DIST wheel-0.41.2.tar.gz 98050 BLAKE2B 211c3021179e2f80036f57d59583ac449e91558e64fb10cc5b925d93f7288c6db444ca2ac35a20b13a2646641885c094faa458b591554f3bd926c53a3d099ec2 SHA512 46632c2e61f286d33609bc7f954da86c537e4c70b30cb57e79ae8fd5e4422f4fb46dcf2434361d3c6b45b9e5adc6cbf33daa1cd2fc40f31a393162c97ed38356
+DIST wheel-0.41.3.tar.gz 98880 BLAKE2B 3d07d03fabb3c339aecca772fa2229d92893c0fcdffaba726e2be2255f24e728d7d77dc33a03755f01f03e66e8ce098ec6e6d354776c1ee7fe58fa8a02a1e593 SHA512 53fde824b563167825d8f8b5f802bf419f5b1ae823665d27ac8cfe05eee372ea339f8203d1565044c2cae901fe539a2353559351a6a5dafd26c65dde4e2e5eda
diff --git a/dev-python/wheel/wheel-0.41.3.ebuild b/dev-python/wheel/wheel-0.41.3.ebuild
new file mode 100644
index 000000000000..8a9e778a4edc
--- /dev/null
+++ b/dev-python/wheel/wheel-0.41.3.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A built-package format for Python"
+HOMEPAGE="
+ https://github.com/pypa/wheel/
+ https://pypi.org/project/wheel/
+"
+
+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"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unbundle packaging
+ rm -r src/wheel/vendored || die
+ sed -i -e 's:\.vendored\.::' src/wheel/*.py || die
+ sed -i -e 's:wheel\.vendored\.::' tests/*.py || die
+
+ distutils-r1_src_prepare
+}