summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/jupyter-server/Manifest1
-rw-r--r--dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch113
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.17.0.ebuild74
3 files changed, 188 insertions, 0 deletions
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index 855a2271c260..a943f795a7e0 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -1 +1,2 @@
DIST jupyter_server-2.16.0.tar.gz 728177 BLAKE2B 4a508114057b2e54cc62e794ab8dee8934caea0bf4335928c0586190dc9cf46c9825cd006d5ae35ac82207b00e93f3edd11e45dbeaeba1baadacf472e6e6ec6b SHA512 75cce8d69a57ba5792184d16b53a75e3b83f67222ce8a3f9a7091aa0f452621d9914d639731b8497f5baf92176c405736cac6b5bf7a383e8e3523a67f738fb3c
+DIST jupyter_server-2.17.0.tar.gz 731949 BLAKE2B e15b8e385f620549ce965a553a49f4606180fc782cd1617b4cc723a5a6443c2a0a7e3c19c9f00577afd125ea9f8e8a68e60eb42d2e73c09b69e0181f6fc8b790 SHA512 9eb386bee25e2fa28ef30a2d00178fcbe3a6ab0b3033c461863cfabb78433701fe7c856af27084e57d312d092610c7d50890637114c90c126e39b9f78bc15355
diff --git a/dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch b/dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch
new file mode 100644
index 000000000000..b88aacc515b2
--- /dev/null
+++ b/dev-python/jupyter-server/files/jupyter-server-2.17.0-pytest-rerunfailures.patch
@@ -0,0 +1,113 @@
+From 336adff91dfc7e592fc60e49b15a31ee67014832 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 24 Jul 2025 11:41:20 +0200
+Subject: [PATCH] Replace `@flaky.flaky` decorate with pytest marker
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use the `@pytest.mark.flaky` marker in place of the `@flaky.flaky`
+decorator, to modernize the code and improve compatibility with other
+plugins providing the feature such as `pytest-rerunfailures`.
+
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+ tests/services/kernels/test_api.py | 3 +--
+ tests/services/kernels/test_execution_state.py | 3 +--
+ tests/services/sessions/test_api.py | 3 +--
+ tests/test_terminal.py | 5 ++---
+ 4 files changed, 5 insertions(+), 9 deletions(-)
+
+diff --git a/tests/services/kernels/test_api.py b/tests/services/kernels/test_api.py
+index 60009e8978..8bea6acae1 100644
+--- a/tests/services/kernels/test_api.py
++++ b/tests/services/kernels/test_api.py
+@@ -7,7 +7,6 @@
+ import jupyter_client
+ import pytest
+ import tornado
+-from flaky import flaky
+ from jupyter_client.kernelspec import NATIVE_KERNEL_NAME
+ from tornado.httpclient import HTTPClientError
+
+@@ -257,7 +256,7 @@ async def test_kernel_handler_startup_error_pending(
+ await jp_ws_fetch("api", "kernels", kid, "channels")
+
+
+-@flaky
++@pytest.mark.flaky
+ @pytest.mark.timeout(TEST_TIMEOUT)
+ async def test_connection(jp_fetch, jp_ws_fetch, jp_http_port, jp_auth_header):
+ # Create kernel
+diff --git a/tests/services/kernels/test_execution_state.py b/tests/services/kernels/test_execution_state.py
+index 50155ec76f..7625a16608 100644
+--- a/tests/services/kernels/test_execution_state.py
++++ b/tests/services/kernels/test_execution_state.py
+@@ -9,7 +9,6 @@
+
+ import jupyter_client
+ import pytest
+-from flaky import flaky
+ from tornado.httpclient import HTTPClientError
+ from traitlets.config import Config
+
+@@ -18,7 +17,7 @@
+ MINIMUM_CONSISTENT_COUNT = 4
+
+
+-@flaky
++@pytest.mark.flaky
+ async def test_execution_state(jp_fetch, jp_ws_fetch):
+ r = await jp_fetch("api", "kernels", method="POST", allow_nonstandard_methods=True)
+ kernel = json.loads(r.body.decode())
+diff --git a/tests/services/sessions/test_api.py b/tests/services/sessions/test_api.py
+index a0502b544e..3a8ad5437b 100644
+--- a/tests/services/sessions/test_api.py
++++ b/tests/services/sessions/test_api.py
+@@ -9,7 +9,6 @@
+ import jupyter_client
+ import pytest
+ import tornado
+-from flaky import flaky
+ from jupyter_client.ioloop import AsyncIOLoopKernelManager
+ from nbformat import writes
+ from nbformat.v4 import new_notebook
+@@ -505,7 +504,7 @@ async def test_modify_kernel_id(session_client, jp_fetch, jp_serverapp, session_
+ assert kernel_list == [kernel]
+
+
+-@flaky
++@pytest.mark.flaky
+ @pytest.mark.timeout(TEST_TIMEOUT)
+ async def test_restart_kernel(session_client, jp_base_url, jp_fetch, jp_ws_fetch, session_is_ready):
+ # Create a session.
+diff --git a/tests/test_terminal.py b/tests/test_terminal.py
+index 8f35c7df60..d4e9464dd6 100644
+--- a/tests/test_terminal.py
++++ b/tests/test_terminal.py
+@@ -7,7 +7,6 @@
+ import warnings
+
+ import pytest
+-from flaky import flaky # type:ignore[import-untyped]
+ from tornado.httpclient import HTTPClientError
+ from traitlets.config import Config
+
+@@ -230,7 +229,7 @@ async def test_terminal_create_with_bad_cwd(jp_fetch, jp_ws_fetch):
+ assert non_existing_path not in message_stdout
+
+
+-@flaky
++@pytest.mark.flaky
+ def test_culling_config(jp_server_config, jp_configurable_serverapp):
+ app = jp_configurable_serverapp()
+ terminal_mgr_config = app.config.ServerApp.TerminalManager
+@@ -242,7 +241,7 @@ def test_culling_config(jp_server_config, jp_configurable_serverapp):
+ assert terminal_mgr_settings.cull_interval == CULL_INTERVAL
+
+
+-@flaky
++@pytest.mark.flaky
+ async def test_culling(jp_server_config, jp_fetch):
+ # POST request
+ resp = await jp_fetch(
diff --git a/dev-python/jupyter-server/jupyter-server-2.17.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.17.0.ebuild
new file mode 100644
index 000000000000..1435c5cc0f59
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.17.0.ebuild
@@ -0,0 +1,74 @@
+# 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_11 python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/argon2-cffi-21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-terminals-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-events-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/overrides-5.0[${PYTHON_USEDEP}]
+ ' 3.11)
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.9[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{console-scripts,jupyter,timeout,tornasync} )
+EPYTEST_RERUNS=5
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/jupyter-server/jupyter_server/pull/1544
+ "${FILESDIR}/${P}-pytest-rerunfailures.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # This fails if your terminal is zsh (and maybe other non-bash as well?)
+ tests/test_terminal.py
+ # Fails because above is ignored
+ tests/auth/test_authorizer.py
+ # Fails with additional extensions installed
+ tests/extension/test_app.py::test_stop_extension
+ )
+
+ # FIXME: tests seem to be affected by previously installed version
+ epytest \
+ -o tmp_path_retention_policy=all
+}