diff options
Diffstat (limited to 'dev-python')
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 +} |
