From 543fa8b359160591243eb363328e25a517d9a9bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Wed, 20 Dec 2023 11:00:01 +0100 Subject: [PATCH] Loosen Jupyter pinning (#3288) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * More flexible pinning of Jupyter optional dependencies See #2276. Signed-off-by: Juan Luis Cano Rodríguez * Add Jupyter changes to release notes Signed-off-by: Juan Luis Cano Rodríguez * Add future note about problematic test code Signed-off-by: Juan Luis Cano Rodríguez * Restore notebook dependency Signed-off-by: Juan Luis Cano Rodríguez * Restore ipython lower bound Signed-off-by: Juan Luis Cano Rodríguez * Update Jupyter liveness test Signed-off-by: Juan Luis Cano Rodríguez * Add small pause after server aliveness check Signed-off-by: Juan Luis Cano Rodríguez --------- Signed-off-by: Juan Luis Cano Rodríguez --- RELEASE.md | 1 + features/steps/cli_steps.py | 7 +++++-- .../{{ cookiecutter.repo_name }}/requirements.txt | 8 +++----- .../{{ cookiecutter.repo_name }}/requirements.txt | 9 +++------ 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index bbcbd98836..901100e061 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -4,6 +4,7 @@ ## Bug fixes and other changes * Removed example pipeline requirements when examples are not selected in `tools`. +* Allowed modern versions of JupyterLab and Jupyter Notebooks. ## Breaking changes to the API * Added logging about not using async mode in `SequentiallRunner` and `ParallelRunner`. diff --git a/features/steps/cli_steps.py b/features/steps/cli_steps.py index 123f52def6..d3d4f9afd1 100644 --- a/features/steps/cli_steps.py +++ b/features/steps/cli_steps.py @@ -4,7 +4,7 @@ import shutil import textwrap from pathlib import Path -from time import time +from time import sleep, time import behave import requests @@ -391,9 +391,12 @@ def exec_notebook(context, command): @then('I wait for the jupyter webserver to run for up to "{timeout:d}" seconds') def wait_for_notebook_to_run(context, timeout): timeout_start = time() + # FIXME: Will continue iterating after the process has returned while time() < timeout_start + timeout: stdout = context.result.stdout.readline() if "http://127.0.0.1:" in stdout: + # Take a breath, and declare success + sleep(1) break if time() >= timeout_start + timeout: @@ -661,7 +664,7 @@ def check_jupyter_nb_proc_on_port(context: behave.runner.Context, port: int): """ url = f"http://localhost:{port}" try: - _check_service_up(context, url, "Jupyter Notebook") + _check_service_up(context, url, "Jupyter Server") finally: context.result.terminate() diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/requirements.txt b/features/steps/test_starter/{{ cookiecutter.repo_name }}/requirements.txt index baa2f190d4..7904db0fe8 100644 --- a/features/steps/test_starter/{{ cookiecutter.repo_name }}/requirements.txt +++ b/features/steps/test_starter/{{ cookiecutter.repo_name }}/requirements.txt @@ -1,9 +1,7 @@ black~=22.0 -ipython>=7.31.1, <8.0; python_version < '3.8' -ipython~=8.10; python_version >= '3.8' -jupyter~=1.0 -jupyterlab_server>=2.11.1, <2.16.0 -jupyterlab~=3.0, <3.6.0 +ipython>=8.10 +jupyterlab>=3.0 +notebook kedro~={{ cookiecutter.kedro_version}} kedro-datasets[pandas.CSVDataset] kedro-telemetry>=0.3.1 diff --git a/kedro/templates/project/{{ cookiecutter.repo_name }}/requirements.txt b/kedro/templates/project/{{ cookiecutter.repo_name }}/requirements.txt index 842ebd8abd..ce407f7b6d 100644 --- a/kedro/templates/project/{{ cookiecutter.repo_name }}/requirements.txt +++ b/kedro/templates/project/{{ cookiecutter.repo_name }}/requirements.txt @@ -1,13 +1,10 @@ black~=22.0 -ipython~=8.10; python_version >= '3.8' -jupyter~=1.0 -jupyterlab_server>=2.11.1, <2.16.0 -jupyterlab~=3.0, <3.6.0 +ipython>=8.10 +jupyterlab>=3.0 +notebook kedro~={{ cookiecutter.kedro_version }} kedro-telemetry>=0.3.1 pytest-cov~=3.0 pytest-mock>=1.7.1, <2.0 pytest~=7.2 ruff~=0.0.290 -# Pin problematic traitlets release - https://github.com/jupyter/notebook/issues/7048 -traitlets<5.10.0