summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-09 06:54:11 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-03-09 06:54:11 +0000
commit84cef54806c1868cf7860931175b2633d20647cf (patch)
treefe41e3650fd0b262c70415e1393e36345a4c7426 /dev-python
parent1b4c3ac22e46909a186accaedf796a2cb5a95bce (diff)
downloadbaldeagleos-repo-84cef54806c1868cf7860931175b2633d20647cf.tar.gz
baldeagleos-repo-84cef54806c1868cf7860931175b2633d20647cf.tar.xz
baldeagleos-repo-84cef54806c1868cf7860931175b2633d20647cf.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/anyioutils/anyioutils-0.7.1.ebuild2
-rw-r--r--dev-python/aws-sam-translator/metadata.xml4
-rw-r--r--dev-python/dbus-fast/dbus-fast-2.24.4.ebuild2
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-75.9.0.ebuild20
-rw-r--r--dev-python/flask-cors/flask-cors-5.0.1.ebuild5
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-8.34.0.ebuild161
-rw-r--r--dev-python/ipython/ipython-9.0.2.ebuild148
-rw-r--r--dev-python/mkdocs-autorefs/Manifest2
-rw-r--r--dev-python/mkdocs-autorefs/mkdocs-autorefs-1.4.1.ebuild (renamed from dev-python/mkdocs-autorefs/mkdocs-autorefs-1.3.1.ebuild)1
-rw-r--r--dev-python/mkdocstrings-python/Manifest2
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.16.3.ebuild (renamed from dev-python/mkdocstrings-python/mkdocstrings-python-1.16.1.ebuild)6
-rw-r--r--dev-python/mkdocstrings/Manifest2
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.28.3.ebuild (renamed from dev-python/mkdocstrings/mkdocstrings-0.28.1.ebuild)6
-rw-r--r--dev-python/pyarrow/Manifest1
-rw-r--r--dev-python/pyarrow/pyarrow-19.0.0.ebuild116
-rw-r--r--dev-python/pyarrow/pyarrow-19.0.1.ebuild2
-rw-r--r--dev-python/recurring-ical-events/Manifest3
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-3.5.0.ebuild45
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-3.6.0.ebuild (renamed from dev-python/recurring-ical-events/recurring-ical-events-3.5.1.ebuild)0
-rw-r--r--dev-python/scripttest/Manifest1
-rw-r--r--dev-python/scripttest/scripttest-2.0.ebuild25
-rw-r--r--dev-python/selenium/selenium-4.29.0.ebuild2
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-75.9.0.ebuild133
-rw-r--r--dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild2
-rw-r--r--dev-python/starlette/Manifest1
-rw-r--r--dev-python/starlette/starlette-0.46.1.ebuild57
-rw-r--r--dev-python/symengine/symengine-0.14.0.ebuild2
-rw-r--r--dev-python/tavern/Manifest2
-rw-r--r--dev-python/tavern/tavern-2.13.0.ebuild68
-rw-r--r--dev-python/tavern/tavern-2.14.0.ebuild68
-rw-r--r--dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild2
34 files changed, 707 insertions, 188 deletions
diff --git a/dev-python/anyioutils/anyioutils-0.7.1.ebuild b/dev-python/anyioutils/anyioutils-0.7.1.ebuild
index b4dedeefe70b..dde429a0922e 100644
--- a/dev-python/anyioutils/anyioutils-0.7.1.ebuild
+++ b/dev-python/anyioutils/anyioutils-0.7.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/aws-sam-translator/metadata.xml b/dev-python/aws-sam-translator/metadata.xml
index 6e3c90c76f77..4687faf465fa 100644
--- a/dev-python/aws-sam-translator/metadata.xml
+++ b/dev-python/aws-sam-translator/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/dbus-fast/dbus-fast-2.24.4.ebuild b/dev-python/dbus-fast/dbus-fast-2.24.4.ebuild
index fccea2ea64c3..935b6e3d09d9 100644
--- a/dev-python/dbus-fast/dbus-fast-2.24.4.ebuild
+++ b/dev-python/dbus-fast/dbus-fast-2.24.4.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~riscv"
BDEPEND="
>=dev-python/cython-3[${PYTHON_USEDEP}]
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 22b5aebb8400..393622d8de57 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,3 +1,4 @@
DIST setuptools-75.8.0-py3-none-any.whl 1228782 BLAKE2B 0e53d2e2d3666bce8072b23556c77a013a6db704eaa1b582a37defcd5691bb6cc66533bc9edc164911e5e5839c0c418571052a696c5c9a98b289ea232d045a38 SHA512 02760ed1215eefe7ad4beae24243fa6372d47b975a060dd69d5c521c6c53fe9ba1a6e73f39448ed9471b89371d19273824becbc8471da40cf43d3c799f0b50cf
DIST setuptools-75.8.1-py3-none-any.whl 1228867 BLAKE2B ec0fada24a666a0a32dc4bae456e40b35c0d6f87cc389a6ad917ae330e7e509a4f1a21a5c0a38cd4a5e74890c3e8e6c6be23450cd7658803f6f037b900e11b17 SHA512 ca68002ae0fabceae31d46f5e9453582bc60fc137b6e1c58d30f834a5233eeb58c60385be4a71b0feb2f3059cec5197bf4cb50f2bb94a728ebfb80f08ece8dd3
DIST setuptools-75.8.2-py3-none-any.whl 1229385 BLAKE2B e2890604e9acbf23aefc94ee99927bafdc189e45c84b0e4e0b48737d120ba60590438603195e180988b26e3e8fb378812507e2a0b513bf886c3b1eb673853da5 SHA512 083447a6bd375ca99e017ec4c5e3083ee4eee32b65d911b4d5ccadfa587ec213d43562d21d0f238753cc5c54354027b8425880d7248fbbd170b0c006613f4327
+DIST setuptools-75.9.0-py3-none-any.whl 1231623 BLAKE2B a482f534ed3209db392bec33a39ba56ce0dd213cdd704ba903999b318cdb3c025e3d62fe697a9d6565667f87e3442b9a2a0edf4d57ae793b93c5fc6993c77a49 SHA512 8b67de3aecf4f37582d460d5aad6f8d140c877b1f7163375b027ce6e47f8a1afcc78327f02723f9afb2b30c1f03f5cfe9df9333ea07a263926e4d57475175b7a
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-75.9.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-75.9.0.ebuild
new file mode 100644
index 000000000000..b76c3f6972d8
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-75.9.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/flask-cors/flask-cors-5.0.1.ebuild b/dev-python/flask-cors/flask-cors-5.0.1.ebuild
index c8b8c478b0dc..1cd6e87f32e9 100644
--- a/dev-python/flask-cors/flask-cors-5.0.1.ebuild
+++ b/dev-python/flask-cors/flask-cors-5.0.1.ebuild
@@ -22,7 +22,7 @@ fi
DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
HOMEPAGE="
https://github.com/corydolphin/flask-cors/
- https://pypi.org/project/Flask-Cors/
+ https://pypi.org/project/flask-cors/
"
LICENSE="MIT"
@@ -39,6 +39,3 @@ BDEPEND="
"
distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinxcontrib-httpdomain
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index ee39c1ccb9de..f99714944ec5 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,4 +1,6 @@
DIST ipython-8.32.0.tar.gz 5507441 BLAKE2B 73ae25982653d484e47d15e16f6d689860186edac57809f4efaa5a2b7a0c20c6c21bc3e759f562d5fb0cddd5dc88c8db4422f66cb03e78c701fe234e8cff9e6b SHA512 920e5aa4be023713c05d9c6b7a1ce0e81abd8829a7fad19adef050d013b9937fcc49ddbf44200ae62f4968b3ea197a0afe87d712873845230f4e0b5858eefdaf
DIST ipython-8.33.0.tar.gz 5508284 BLAKE2B feb808f159a6fe51e86030c0150fce6c428391dfbbd205974c89cfe8af127c22efe3fd3f3ce404a11f5f69c59defa40742f3414168f35e5b6cb7ab6840665fdd SHA512 32777a8993748e559875ed4f522dfeafcace9883bf47596b48a845974ef8d72b3c1070907a3eba72ede8cc7c6be6c9b78a6fc1b27ab0f2a642a0e1f0b9fd35a2
+DIST ipython-8.34.0.tar.gz 5508477 BLAKE2B 15c34a086ff4ec48ca97624e904cc4ebf55fe180ac3a222cafeab738c6b77676417e64b560fc73f3ae32cc22875fe4e3df13f5a5f170a8104fff00629aa0100e SHA512 1ff033b5d87ce21006d90469ac06f247cdf087ddd0b74e711b957d61428ffb64a42b459b879cfed60a312edcdd710e49cd76925bd0e3b8c89d18c8c79d8686d4
DIST ipython-9.0.0.tar.gz 4364165 BLAKE2B 3835b9e0e6f1d6f64888a9e1d6499137d0316f871f2c330c73226338ffa064e1bff6163eddb5741d1b80a2e858bc08cfb64fb9f7ac59dd22c7d9cf990048ebb3 SHA512 9563e8c6a136e35fc87037662ea3b1d7caeff1fdff2c58ea446b7ac89aa777f900c4a3336a6a6a74d2f95d85ed080c1ea61fa4a9374560d1f0df8f73a2260a14
DIST ipython-9.0.1.tar.gz 4365847 BLAKE2B 384bf9dfc5dc4a371acb6d52366d0dabada738bed26b6e37f8a4a19f26d885af97dbecfa6a7df638a8c35b9352afda7f6b785d927887a4707ff7bc6318ab009c SHA512 4c50e755516fc7077d2c25a4c53d3bc60af639d25854aed5e2f083975b0cc71d3873cff9d487ad99f3dc0b3d4ad6b4b9a751d99264a6ed6e32bc51d5cff3a792
+DIST ipython-9.0.2.tar.gz 4366102 BLAKE2B 68dbe8f0decbf7637522ef3e763562a31d678b350c58fd4eee3799409f5a67b85b289b1591f01e0e509765e8cffca60717b65f62e358e7af3b60b57b0185de4a SHA512 fb3e48a3f8ffc9e4a147cb8739b2458dd280f59798b24a001f3feb177ea372284b1aabd87ce57bc9647b578a2c81a476728efcf376ce3e735cc409c40dd32eed
diff --git a/dev-python/ipython/ipython-8.34.0.ebuild b/dev-python/ipython/ipython-8.34.0.ebuild
new file mode 100644
index 000000000000..773c2cef31af
--- /dev/null
+++ b/dev-python/ipython/ipython-8.34.0.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+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="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="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.41[${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.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ ' 3.{10..12})
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ # 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
+}
+
+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
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/14244
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # docstring mismatch?
+ IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${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
+
+ 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-9.0.2.ebuild b/dev-python/ipython/ipython-9.0.2.ebuild
new file mode 100644
index 000000000000..21775e8cb04a
--- /dev/null
+++ b/dev-python/ipython/ipython-9.0.2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+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 ~loong ~riscv"
+IUSE="examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/ipython-pygments-lexers[${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.41[${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.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ ' 3.{10..12})
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ # 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
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/14244
+ tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${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
+
+ 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/mkdocs-autorefs/Manifest b/dev-python/mkdocs-autorefs/Manifest
index 580894e871be..70e36c6b0833 100644
--- a/dev-python/mkdocs-autorefs/Manifest
+++ b/dev-python/mkdocs-autorefs/Manifest
@@ -1,2 +1,2 @@
-DIST mkdocs_autorefs-1.3.1.tar.gz 2056416 BLAKE2B d66e83103b7380c5f3d3496e418b8f42c85c1f4d02f65f0c2bb0a8808cdf3ead3470fa627175c82fb097de3cd059c27be082e5fe9ae7e808843c1622d0f894e5 SHA512 a21b98d8ce4b5e5157bf8cd5416ac19ebcca5234342b3d0b9d3983a95de3e14c347670654cccc81d8971d06bdebafb3536aeef1ea156d3c73235dc917d841b20
DIST mkdocs_autorefs-1.4.0.tar.gz 3128903 BLAKE2B c2d0140a31226db023ec46919c77ce9fd92c628f99d92a182db6dd849d3ffdb07b82aafe4c12e222a423f23c35eb64bfe81f1af8756b61fc6be91ec877e45562 SHA512 95cc6360f382bb7c188dd9f8a6163ea4b6d3dbe022bf7648cfbfafb522bc5f7eada1a4ec50d99b098344747ba3e9e0ca590df70e68d004a00b9849c28a6a73da
+DIST mkdocs_autorefs-1.4.1.tar.gz 4131355 BLAKE2B d156771f226ca152919613e82120c08156fc488b651cbf61ba7f37a91c28db8c73799316d44d7379ed127383cce28e2abc7c17d5e6a73f36b14a651788041185 SHA512 09e857dac3b943695ea3a402ea22fd16641413602484944b9bd9bb1222e8c88d59aabc078be8606775ab2b7fdfcc98c5cb97db190e56ecfcd4554a6930a45f5e
diff --git a/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.3.1.ebuild b/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.4.1.ebuild
index b24bc4ea692c..cb52c10b256c 100644
--- a/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.3.1.ebuild
+++ b/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.4.1.ebuild
@@ -26,6 +26,7 @@ RDEPEND="
"
BDEPEND="
test? (
+ dev-python/griffe[${PYTHON_USEDEP}]
>=dev-python/pygments-2.16[${PYTHON_USEDEP}]
>=dev-python/pymdown-extensions-10.14[${PYTHON_USEDEP}]
)
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index 13fc73859943..38d404d61b4b 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,2 +1,2 @@
-DIST mkdocstrings_python-1.16.1.tar.gz 423399 BLAKE2B b7bbf5ada8de1a70896fbd760a053712f16e55442028195579efb71b3cc9d7f17be10349cff146bf02991a9156fef62b853e4c2a4af2c3e551bfea8a44451dae SHA512 e4594e1051eeea1b9ada4c8919787a36145a5e6d7d2d7951c46c699c82ff7c6899efa8b94be9dc3d9476b6031e5ae6937b6517b00085bde04d837b4b2bbf5552
DIST mkdocstrings_python-1.16.2.tar.gz 423492 BLAKE2B 2f5c7d8c3f5b6b1256b6f15334bc131cf0281883bf8072400ab195d724eddf2c8367c081abe571e0f4fd889c97181effc1764bd1e701da00fe44593007c12919 SHA512 52c78484139df79a1a9d0924a03c08e6902e91ebb3dc1db129c3bf372d670578206d00335d0a3ef34af0c33cebe592f829023ba645102839da76be07c72be739
+DIST mkdocstrings_python-1.16.3.tar.gz 424073 BLAKE2B 7ad6114c3424dcd4b9f2da916eaf69a67bb5d6d53286d5e60c95af8cab333a9c56f106df3057107fddfd83e1f0f0875b5a4d6c6ff097b0416cd8bdb84fc81599 SHA512 7778ff0e8c2677ea84b61b5ddd623ccd0db2c6eeef3a6beb988d2a85ac0d8f4fb5f5ffeabc823ef0d9e486217efababc8d647b6e7b1873d00f26d6785f051cd3
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.1.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.3.ebuild
index e898c0c421e0..f1b21b66ce1a 100644
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.1.ebuild
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1 pypi
@@ -21,8 +21,8 @@ KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=dev-python/griffe-0.49[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-0.28[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-1.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.28.3[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
' 3.10)
diff --git a/dev-python/mkdocstrings/Manifest b/dev-python/mkdocstrings/Manifest
index e3e14bfc68a7..8fd2eb31177f 100644
--- a/dev-python/mkdocstrings/Manifest
+++ b/dev-python/mkdocstrings/Manifest
@@ -1,2 +1,2 @@
-DIST mkdocstrings-0.28.1.tar.gz 4551690 BLAKE2B ae30723c0f7a55e4d4950e1b07b95bbfc7c1ad0a6d9a93c1c0537b8f536fff7a928c8ae1c858c49e434050d2f9357aeb333e10a78e1f51e06dca371aa7066e9c SHA512 11b8190d744ec7926057f100010d926b60a013e6919aba1c89e9eacb33ee31734b1f9cf1b676631b1dc490a66cc063ff7a6cb1810d2ce0cadb2e9e02ccf16d5a
DIST mkdocstrings-0.28.2.tar.gz 5691916 BLAKE2B c1593205307285760f1d58db99e022b6ba43db1ab69ee024b109e98918407c1f256fedcddbab7778540cacb94764cdd7d5c042f39651554635fc68aa5727ebfc SHA512 946056f9ad179b58792756caf18f5881c2d24d05fc3adb24efe7fb8af7b44d68c648002098d4ff8b766ee6c9099bd918319df325fc5cb9854d47278c571f52ff
+DIST mkdocstrings-0.28.3.tar.gz 104109 BLAKE2B bbeba5319fd0912a214f0e8f7759abb7948ee1da6890472037f68a79f658bbdd29e32988e885e379cec05f61a616315f5baf1c575e460e0a774876929dc26bb8 SHA512 6d9e280aef8d8c35eb583a739b7f47b75fdc97ad093c91309ebfda3b6a1d9dcf31da7872d17eb00de3d731247f1f0396524f90d8db85519632dcdebae2f38bac
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.28.1.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.28.3.ebuild
index bbce2a55fe6a..ddf4f8689bdc 100644
--- a/dev-python/mkdocstrings/mkdocstrings-0.28.1.ebuild
+++ b/dev-python/mkdocstrings/mkdocstrings-0.28.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
inherit distutils-r1 pypi
@@ -24,7 +24,7 @@ RDEPEND="
>=dev-python/markdown-3.6[${PYTHON_USEDEP}]
>=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
>=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-1.3[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}]
>=dev-python/mkdocs-get-deps-0.2[${PYTHON_USEDEP}]
>=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
"
@@ -32,7 +32,7 @@ BDEPEND="
test? (
dev-python/markdown-exec[${PYTHON_USEDEP}]
dev-python/mkdocs-material[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-python-1.14.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-python-1.16.2[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest
index 30e736ff4bcf..30053d221929 100644
--- a/dev-python/pyarrow/Manifest
+++ b/dev-python/pyarrow/Manifest
@@ -1,4 +1,3 @@
-DIST apache-arrow-19.0.0.tar.gz 17830405 BLAKE2B cf611106b0ee5f92a4cbf341e9f5b6771f377710bb11c6eab555706a52b5c72fcf4590ba55c36100a97c6219ec421813f51ef6337530d84eb8394735ef2787b5 SHA512 6820de33a5d5b0922ea64dd8ff55d186ef02596ad0415578067aaf3e5cf7d3eead473bc3a5f92d6d3f19b97d153fe1c901359008d922d1ffb0fc2a65dc860c79
DIST apache-arrow-19.0.1.tar.gz 17849505 BLAKE2B ba49c79ea2e1ef1ab03aca3cbfdce47a3942eb20c443845a93ab3b5be5dead5b1ad650296e98fbf344dffd895c6147a1fca2724ae853ae7f089b342ffc89987b SHA512 524187c6f12bbb677b5d4a53e1608c69b56c83a5c8667bfe82d5a10232c33f151a8a7b5e6e26af48d1e0ca25a5d3dc885b27d9b5e798c7e07f115df8f0779516
DIST arrow-testing-4d209492d514c2d3cb2d392681b9aa00e6d8da1c.tar.gz 3572558 BLAKE2B fe5b6a46babbde8e2becefea09fecf090201a49faa7d4ee2f44b0bb4da42c344b37564999d32fdbd54a81a56c33fbde9b2d9d2fa664bf127cb5661e845fb6229 SHA512 6758ad936e1eeb2c5dd2b4b40fe90822a48a4ce67ee4d36657c168e1db5d9a17c092f4cf571b13d56b568a773515385441874d1ea36a1f6e5b15a99f67176fa3
DIST parquet-testing-cb7a9674142c137367bf75a01b79c6e214a73199.tar.gz 1068025 BLAKE2B 0fdd12d04108b27b17564c60ca36e751453f5d74cfbbe3a076e8befa1696aa0f093e2d1a5eacb99e69a98deda502930ba79b8329403af1e8b9d696e6617c6075 SHA512 dd221d9d59442cebb7158d7cf769d6e5323416bfcde2852eee37a26ff089bc04ea10b9ae7158a37d8694c10469d77c7d251d0dd2549596a7b3899d9c39b45997
diff --git a/dev-python/pyarrow/pyarrow-19.0.0.ebuild b/dev-python/pyarrow/pyarrow-19.0.0.ebuild
deleted file mode 100644
index 61d3068d1bcf..000000000000
--- a/dev-python/pyarrow/pyarrow-19.0.0.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 2023-2025 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_{9,10,11,12,13} )
-
-inherit distutils-r1 multiprocessing
-
-# arrow.git: testing
-ARROW_DATA_GIT_HASH=4d209492d514c2d3cb2d392681b9aa00e6d8da1c
-# arrow.git: cpp/submodules/parquet-testing
-PARQUET_DATA_GIT_HASH=cb7a9674142c137367bf75a01b79c6e214a73199
-
-DESCRIPTION="Python library for Apache Arrow"
-HOMEPAGE="
- https://arrow.apache.org/
- https://github.com/apache/arrow/
- https://pypi.org/project/pyarrow/
-"
-SRC_URI="
- mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz
- test? (
- https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
- -> parquet-testing-${PARQUET_DATA_GIT_HASH}.tar.gz
- https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
- -> arrow-testing-${ARROW_DATA_GIT_HASH}.tar.gz
- )
-"
-S="${WORKDIR}/apache-arrow-${PV}/python"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-IUSE="+parquet +snappy ssl"
-
-RDEPEND="
- ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
- >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-libs/apache-arrow[lz4,zlib]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # cython's -Werror
- sed -i -e '/--warning-errors/d' CMakeLists.txt || die
-}
-
-src_compile() {
- export PYARROW_PARALLEL="$(makeopts_jobs)"
- export PYARROW_BUILD_VERBOSE=1
- export PYARROW_CXXFLAGS="${CXXFLAGS}"
- export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
- export PYARROW_CMAKE_GENERATOR=Ninja
- export PYARROW_WITH_HDFS=1
- if use parquet; then
- export PYARROW_WITH_DATASET=1
- export PYARROW_WITH_PARQUET=1
- use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
- fi
- if use snappy; then
- export PYARROW_WITH_SNAPPY=1
- fi
-
- distutils-r1_src_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # wtf?
- tests/test_fs.py::test_localfs_errors
- # these require apache-arrow with jemalloc that doesn't seem
- # to be supported by the Gentoo package
- tests/test_memory.py::test_env_var
- tests/test_memory.py::test_specific_memory_pools
- tests/test_memory.py::test_supported_memory_backends
- # require mimalloc
- tests/test_memory.py::test_memory_pool_factories
- # hypothesis health check failures
- # https://github.com/apache/arrow/issues/41318
- tests/interchange/test_interchange_spec.py::test_dtypes
- tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
- tests/test_feather.py::test_roundtrip
- tests/test_pandas.py::test_array_to_pandas_roundtrip
- tests/test_strategies.py::test_types
- tests/test_types.py::test_hashing
- # fragile memory tests
- tests/test_csv.py::TestSerialStreamingCSVRead::test_batch_lifetime
- tests/test_csv.py::TestThreadedStreamingCSVRead::test_batch_lifetime
- # takes forever, and manages to generate timedeltas over 64 bits
- tests/test_strategies.py
- "tests/test_array.py::test_pickling[builtin_pickle]"
- # scipy.sparse does not support dtype float16
- "tests/test_sparse_tensor.py::test_sparse_coo_tensor_scipy_roundtrip[f2-arrow_type8]"
- )
-
- cd "${T}" || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
- local -x ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
- epytest --pyargs pyarrow
-}
diff --git a/dev-python/pyarrow/pyarrow-19.0.1.ebuild b/dev-python/pyarrow/pyarrow-19.0.1.ebuild
index 018f71459c2d..61d3068d1bcf 100644
--- a/dev-python/pyarrow/pyarrow-19.0.1.ebuild
+++ b/dev-python/pyarrow/pyarrow-19.0.1.ebuild
@@ -33,7 +33,7 @@ S="${WORKDIR}/apache-arrow-${PV}/python"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
IUSE="+parquet +snappy ssl"
RDEPEND="
diff --git a/dev-python/recurring-ical-events/Manifest b/dev-python/recurring-ical-events/Manifest
index c9fd20a67a22..1d9a1afd23b4 100644
--- a/dev-python/recurring-ical-events/Manifest
+++ b/dev-python/recurring-ical-events/Manifest
@@ -1,3 +1,2 @@
-DIST python-recurring-ical-events-3.5.0.gh.tar.gz 519274 BLAKE2B 153c65210a4bcbc3fad9140c9f8c19c0391a2da8e3e4bf712ea341d822486f9d56704966cdbcdfa432dc01edac730dd97c1bf55b2338c4d28925f63a5ce98f6f SHA512 7f3e96ddb23c677d947608610955bef9f1eec91372b5dca66b6e085b304f17252f31458e5c0c62dd20e2a3f654e0ffcbf7473359901223a82695e506ba0bd0c7
-DIST recurring_ical_events-3.5.1.tar.gz 602738 BLAKE2B 9bb39037f10dc5dcf58c4e38b102cdaf9860108a5c48f7d9d2a80a061e95a3f2295a13319b9a5ada372383ecd1ee37af93846822411b9451de87ed7a9c736761 SHA512 b0bb79a1549dec28396fc80b307021ca74cb9d09ff55980215e376e93f3743be242e57427dcaf996f83363f9806a235bcb1ab3f8077e5e9a899e8c1daefe1e5a
DIST recurring_ical_events-3.5.2.tar.gz 604333 BLAKE2B 380373cea7fe8b854373b3834f966b81ca613d4d4d0aee2968bf7fb80174e00affcd9cc1a59c8dcf0297447426c51d7d7ede50672bf80519df61b81ae2f6f917 SHA512 11e713d2a1fbbcdfd6e2185581e9c8a1f108f01cbb05389d735ad82233eea9e23cfa28fb3b28f17eecafe012b6ae090adf31ae475c0aa0bcf28c2199525c5ef6
+DIST recurring_ical_events-3.6.0.tar.gz 606489 BLAKE2B ee2f24c86bb39ec661389da98a9d126fe5f24891d7ec08d90d625ce9d491b9ea8cfba47b0a03c0a80951e0c4941e30bf774855e1048892b855a92995f6471dca SHA512 fa13e7a5c396ccd468f3d505efe1075dbfe789b4defd5f47fb38cf20895269852a4663cf1fef78004958b040217ea1cc29068f88fb4970f5f15ba8ff59f0caea
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-3.5.0.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-3.5.0.ebuild
deleted file mode 100644
index 3f3dac58e50d..000000000000
--- a/dev-python/recurring-ical-events/recurring-ical-events-3.5.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
-HOMEPAGE="
- https://github.com/niccokunzmann/python-recurring-ical-events/
- https://pypi.org/project/recurring-ical-events/
-"
-SRC_URI="
- https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- <dev-python/icalendar-7[${PYTHON_USEDEP}]
- >=dev-python/icalendar-6.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- <dev-python/x-wr-timezone-3[${PYTHON_USEDEP}]
- >=dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/icalendar-6[${PYTHON_USEDEP}]
- >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- test/test_readme.py
-)
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-3.5.1.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-3.6.0.ebuild
index 2a915b110f67..2a915b110f67 100644
--- a/dev-python/recurring-ical-events/recurring-ical-events-3.5.1.ebuild
+++ b/dev-python/recurring-ical-events/recurring-ical-events-3.6.0.ebuild
diff --git a/dev-python/scripttest/Manifest b/dev-python/scripttest/Manifest
index 40eddd508040..8d7d0becb22d 100644
--- a/dev-python/scripttest/Manifest
+++ b/dev-python/scripttest/Manifest
@@ -1 +1,2 @@
DIST scripttest-1.3.0.gh.tar.gz 14885 BLAKE2B 1984bb175b49248bd369d2d2ed6f70051113285b6870bce67e0c2203d29b4c5b2735fa96dfef7ee11aa38db74e9beb026bbc946c8549b2810f6b90e896bcae0e SHA512 038bfb1726bff85b6e3675be51db829d3519b47665266f6ae1d3c5c6f4f06e7b16742262ca1ba240544e9bd39ae96c1be0bd5e8583736f72bb04241a1bb8acf6
+DIST scripttest-2.0.gh.tar.gz 14676 BLAKE2B 12515127e02d2ad8d4a60517571066ed3f381e21d7c64424f436a97d331e1a0d1b7ab7f6898b1a97dc2d379a59184a409b1ad35c472d7bf794953fbd5eeed150 SHA512 c3a2ccb1856c11a377287829683e63f3c8b4653ee778596a606195712bb8c01dcfb6e98408ac1012bfb3d0b45853f3076301f6a42e1f03bebf1df8a06e9d15f9
diff --git a/dev-python/scripttest/scripttest-2.0.ebuild b/dev-python/scripttest/scripttest-2.0.ebuild
new file mode 100644
index 000000000000..da2b2467fc2c
--- /dev/null
+++ b/dev-python/scripttest/scripttest-2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A very small text templating language"
+HOMEPAGE="
+ https://pypi.org/project/scripttest/
+ https://github.com/pypa/scripttest/
+"
+SRC_URI="
+ https://github.com/pypa/scripttest/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+distutils_enable_tests pytest
diff --git a/dev-python/selenium/selenium-4.29.0.ebuild b/dev-python/selenium/selenium-4.29.0.ebuild
index 09d4a45d7344..146eea278e87 100644
--- a/dev-python/selenium/selenium-4.29.0.ebuild
+++ b/dev-python/selenium/selenium-4.29.0.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index f7aae64dee3c..a56f7ab32954 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
DIST setuptools-75.8.0.tar.gz 1343222 BLAKE2B a71cba4c11ede52aae24e8a8045f2733f93001b896ea4dd46ebdfa0dd639fccfcc24b038cf4f9b6363b768e98d66cbeac2331cbcd4bb38767ea73f1811a11837 SHA512 4afa657c5259f9f405c39d82d8c264236749861ba2b104e8b26dd49da8ffb27ad3089ea894f2bb65208f480d7a4042114b93228f1cf2b224dc248774d7681a3d
DIST setuptools-75.8.1.tar.gz 1343534 BLAKE2B c68a054bbb9367416b9c801d330699f96016e5e22459dfd833a8d1f62d908473f3909083261e8fe41c2ac0cbbdd571800321ad133c4821837be618cb46c8b5cb SHA512 6177074601f10b4d1eff52aa9be80eb52f4f2fc74f0e54d10d556a0812b2de9568ab9d7bc3692fc286b54070728fe41c41d2271403403d0d757733fe2ac74a8f
DIST setuptools-75.8.2.tar.gz 1344083 BLAKE2B 7d4dff2c0948bb411ef5f70e5f5f91bc0e230b155a97419d263f88e54a94390fd7dcadad14105f4d886a25024bf4c95e776ae7b25e4b1d6f17e45e6060b99da2 SHA512 adf7f5d2eab7621b03c86e3f96857b176631108dc8a0eba2b16b87e394bff0b607998bc24cc074cd3f7b0ed6dbe0bd753cce5af2f108fce2473fb50b22f32913
+DIST setuptools-75.9.0.tar.gz 1345084 BLAKE2B 6c8f6aafa89f8c1098132941e9f8d46571e9c9a9dc53de11cba0c9731420e65016fdd5d1ded6d66aaee3b6d0fff10f49ecf1d8ba82aaa560e864967dc73e79cd SHA512 e5c633e0684e1d2b4e030b91da25515ee696ad1d971d907498a0b5ccba940b69d27488f62eac08ea1c54fade1e96578e4dce9b7a9213ab202bfd5e1c46bbdbaf
diff --git a/dev-python/setuptools/setuptools-75.9.0.ebuild b/dev-python/setuptools/setuptools-75.9.0.ebuild
new file mode 100644
index 000000000000..85474085b864
--- /dev/null
+++ b/dev-python/setuptools/setuptools-75.9.0.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<dev-python/setuptools-rust-1.8.0
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !<=dev-libs/gobject-introspection-1.76.1-r0
+ !=dev-libs/gobject-introspection-1.78.1-r0
+ !=dev-libs/gobject-introspection-1.80.1-r1
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ # https://github.com/abravalheri/validate-pyproject/pull/221
+ "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ # fails on normalized metadata, perhaps different dep version?
+ setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
+ # TODO
+ setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist
+ # relies on -Werror
+ setuptools/_static.py::setuptools._static.Dict
+ setuptools/_static.py::setuptools._static.List
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
index 92182383512d..4afddd7fcc1f 100644
--- a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
+++ b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2024 Gentoo Authors
+# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 26131b94db55..485799ae7d76 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1,3 @@
DIST starlette-0.45.3.gh.tar.gz 2574214 BLAKE2B e3a1c44288ba8d2da558417d14a2787a7c00c689298074b4ac9ce330d90e17181d98ad2ed85795bcea408ee2a64d287dec14ce5c7f9dfc79507562697b83511a SHA512 45d3726ce794a7572e4c816fa3eb1a8a9ad2c110757200b4f6e1aed0d502d2cc293e29c5b282d3451c9770ea067cfb684176755bf2d261fdb22de111ef8a1542
DIST starlette-0.46.0.gh.tar.gz 2575846 BLAKE2B f71379bc9157a9ca6bf9b058a625c97219d8334967fc7f21d0d4efb13feea0088946e6802264aa9a042bf7e26414188c3560b6642f7b22d923381218fe326a05 SHA512 24d35d50bbdc1433b7203a3f74b43d2c303bdf4ed3b4a9ca5f0635c22a03ef35b34569fb99376ba3244520af2045209480152851c9d48172b1b1537424ae16fe
+DIST starlette-0.46.1.gh.tar.gz 2580186 BLAKE2B 8877f6733937a30463f573cfc8ed34a5950e3123bba5d332cbe0881f7fb5532d865a2d3c852238cc5a29ceb598154a1cac64031eb1cbaa0955b3f423b40c034e SHA512 c21fd87e48b206b1fa1d4eabab3838eccc49e73f5d8d2841860fa5e81e4da972c7952e7ae214ae8e5574aa069b508642db38c24fa24b35bf5c47329cb6a2c2e6
diff --git a/dev-python/starlette/starlette-0.46.1.ebuild b/dev-python/starlette/starlette-0.46.1.ebuild
new file mode 100644
index 000000000000..ff51d180c843
--- /dev/null
+++ b/dev-python/starlette/starlette-0.46.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
+ <dev-python/httpx-0.29[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja2[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+: ${EPYTEST_TIMEOUT:-180}
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/symengine/symengine-0.14.0.ebuild b/dev-python/symengine/symengine-0.14.0.ebuild
index 9f227be7d57d..d83c25676291 100644
--- a/dev-python/symengine/symengine-0.14.0.ebuild
+++ b/dev-python/symengine/symengine-0.14.0.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
BDEPEND="
dev-build/cmake
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 53d911ff583f..66eef070ece6 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,2 +1,4 @@
DIST tavern-2.11.0.gh.tar.gz 233387 BLAKE2B b1b26e7d9fc4069c7056072ab01c9937245304982f78df236e9bcaa795feec6a1db7192532dba6d17d362af874bffce601bb9652b5f1ecda99c59387f717bb15 SHA512 456fa6ebfc6f47ff9a473e3f416aff9f88b1f9b25c898786d15472072859e1659c089a9c668e6ddc4ecfc0cc8c233417d4768e0f7228800995509a5a34294faf
DIST tavern-2.12.0.gh.tar.gz 239452 BLAKE2B a9bef9dbebbdf25f09f158a3bf908769bb56280ff7939557fce454f4169093e362abf1d1cf36f220cd398bcde1c19f7f545d2f4d4ff2318bebd91da69f88c155 SHA512 1b1d997372330b14dc7b106762538ca16646fdf84b344c9db81ab1896678dea2d96c4c801c941c33ae856c670ec405962b76b5c044d1b8e94938effe675cef5c
+DIST tavern-2.13.0.gh.tar.gz 239326 BLAKE2B 97b774725e7e8c7df523f6886dd6ff3f2acb4da6bc446f11af3d83a8d646578ad556e02c4b5cd2387dd1e143e05edf5bc4ee037cbfbeafb5f4a0a860a30a0d22 SHA512 8c5fbb45ee7e7465c36b655fa9ddf3d3329bee09187e5255e788ff69701a9a97d4e067659eadaf0822bd51fe56cf90232708b3c5b82696f41c0818f483ff13e7
+DIST tavern-2.14.0.gh.tar.gz 239905 BLAKE2B f16a9e328933ae46df4238bfd79908171852ac2ebf2b1f6b2348870e9c6bd1aeb4330368237de4143cab709d43102215f2e4713b38aa0b50cdf5b98a357bca42 SHA512 c88a6045bf0e660f63fd709ced3592a4afd3f2fa2f9e1f925b6e8e99383524a8b69fb19089f59ca360b44373254e668e5994d08351a18e7589924759720298d7
diff --git a/dev-python/tavern/tavern-2.13.0.ebuild b/dev-python/tavern/tavern-2.13.0.ebuild
new file mode 100644
index 000000000000..e9909c270d57
--- /dev/null
+++ b/dev-python/tavern/tavern-2.13.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+ )
+ local EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p tavern
+}
diff --git a/dev-python/tavern/tavern-2.14.0.ebuild b/dev-python/tavern/tavern-2.14.0.ebuild
new file mode 100644
index 000000000000..e9909c270d57
--- /dev/null
+++ b/dev-python/tavern/tavern-2.14.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+ )
+ local EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p tavern
+}
diff --git a/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild b/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild
index e1f90e9f7a70..cb5dfeba8ba8 100644
--- a/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild
+++ b/dev-python/zmq-anyio/zmq-anyio-0.3.6.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~sparc"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
IUSE="test-rust"
RDEPEND="