dev-python/ipyparallel: Bump to 9.0.1

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2025-03-04 15:41:37 +01:00
parent 5daa7f65dc
commit 235f9c9b74
3 changed files with 140 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST ipyparallel-9.0.0.tar.gz 4403287 BLAKE2B 18248d6ee1eda409ff5de54ec7dbcdb75ac4a6dbd7af4fee23ec826d4c179e67454c980c6db00d180ddf078bd802a4b6f2e0245c63cf9bd55c99ead1bf1ba044 SHA512 4c89edba0bbad9ce75deaaa1e2486b1c50ca3f7a1a8f3c22b6dadc72f5b1f86958fe8c559e4548c69518494fd51c4ebe65f6019b154c8ffd3ef51eebb9bf1f03
DIST ipyparallel-9.0.1.tar.gz 4407324 BLAKE2B 9302e0aa6ed790a687fd5d7f3842684d11e73868d9f2f299634d8813735e4d09f0faa873cca45c619f43e6413f269928be3af68bf9c733fd05853918b361e66a SHA512 6359f932a249197610016b3ccc5f86b6e0565e1e2070f5dde72c0e75877f0bc4e038a0cc5cea05c9a068d1e82e923d983470e6db465169527bcb9499cc550d52

View File

@@ -0,0 +1,43 @@
From 1f3299cc4c8f8281ce48222e711393a0cadcb9fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Mon, 3 Mar 2025 21:27:08 +0100
Subject: [PATCH 1/2] Use new serialization code for PyPy3.10+ 7.3.19+
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Enable the new `inspect.signature(types.CodeType)` code path for
PyPy3.10 7.3.19 and newer, notably including PyPy3.11 that does not work
with the fallback code anymore. Add a workaround to skip the `magic`
parameter that does not seem to be exposed (or needed).
With these changes, the serialization tests pass on PyPy3.11 7.3.19,
as well as most of the test suite.
Fixes #933
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
ipyparallel/serialize/codeutil.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/ipyparallel/serialize/codeutil.py b/ipyparallel/serialize/codeutil.py
index ca0828a4..66dccc1f 100644
--- a/ipyparallel/serialize/codeutil.py
+++ b/ipyparallel/serialize/codeutil.py
@@ -29,11 +29,12 @@ def code_ctor(*args):
# pass every supported arg to the code constructor
# this should be more forward-compatible
# (broken on pypy: https://github.com/ipython/ipyparallel/issues/845)
-if sys.version_info >= (3, 10) and not hasattr(sys, "pypy_version_info"):
+if sys.version_info >= (3, 10) and getattr(sys, "pypy_version_info", (7, 3, 19)) >= (7, 3, 19):
_code_attr_names = tuple(
_code_attr_map.get(name, name)
for name, param in inspect.signature(types.CodeType).parameters.items()
- if param.POSITIONAL_ONLY or param.POSITIONAL_OR_KEYWORD
+ if (param.POSITIONAL_ONLY or param.POSITIONAL_OR_KEYWORD)
+ and not (hasattr(sys, "pypy_version_info") and name == "magic")
)
else:
# can't inspect types.CodeType on Python < 3.10

View File

@@ -0,0 +1,96 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( pypy3 python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 optfeature pypi
DESCRIPTION="Interactive Parallel Computing with IPython"
HOMEPAGE="
https://ipyparallel.readthedocs.io/
https://github.com/ipython/ipyparallel/
https://pypi.org/project/ipyparallel/
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
dev-python/decorator[${PYTHON_USEDEP}]
>=dev-python/pyzmq-25[${PYTHON_USEDEP}]
>=dev-python/traitlets-5[${PYTHON_USEDEP}]
>=dev-python/ipython-5[${PYTHON_USEDEP}]
>=dev-python/jupyter-client-7[${PYTHON_USEDEP}]
dev-python/jupyter-server[${PYTHON_USEDEP}]
<dev-python/ipykernel-7[${PYTHON_USEDEP}]
>=dev-python/ipykernel-6.9.1[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
>=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
dev-python/tqdm[${PYTHON_USEDEP}]
>=dev-python/tornado-6.1[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/flit-core[${PYTHON_USEDEP}]
test? (
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-tornado[${PYTHON_USEDEP}]
dev-python/testpath[${PYTHON_USEDEP}]
)
"
# TODO: package myst_parser
# distutils_enable_sphinx docs/source
distutils_enable_tests pytest
PATCHES=(
# https://github.com/ipython/ipyparallel/pull/934
"${FILESDIR}/${P}-pypy3_11.patch"
)
src_configure() {
export IPP_DISABLE_JS=1
}
python_test() {
local EPYTEST_DESELECT=(
# we don't run a mongo instance for tests
ipyparallel/tests/test_mongodb.py::TestMongoBackend
# TODO
ipyparallel/tests/test_util.py::test_disambiguate_ip
# Gets upset that a timeout _doesn't_ occur, presumably because
# we're cranking up too many test timeouts. Oh well.
# bug #823458#c3
ipyparallel/tests/test_asyncresult.py::AsyncResultTest::test_wait_for_send
# We could patch the timeout for these too but they're going to be inherently
# fragile anyway based on what they do.
ipyparallel/tests/test_client.py::TestClient::test_activate
ipyparallel/tests/test_client.py::TestClient::test_lazy_all_targets
ipyparallel/tests/test_client.py::TestClient::test_wait_for_engines
)
case ${EPYTHON} in
pypy3)
EPYTEST_DESELECT+=(
# pure Python datetime incompatibility? TODO
ipyparallel/tests/test_asyncresult.py::TestAsyncResult::test_elapsed_multi
)
;;
esac
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p asyncio -p tornado
}
python_install_all() {
distutils-r1_python_install_all
# move /usr/etc stuff to /etc
mv "${ED}/usr/etc" "${ED}/etc" || die
}
pkg_postinst() {
optfeature "Jupyter Notebook integration" dev-python/notebook
}