sharlatan pushed a commit to branch master in repository guix. commit 6704f7134e1342b1f47983fb98e58d58ff4c509b Author: Sharlatan Hellseher <sharlata...@gmail.com> AuthorDate: Thu May 8 11:28:40 2025 +0100
gnu: python-notebook: Move to jupyter. * gnu/packages/python-xyz.scm (python-notebook): Move from here ... * gnu/packages/jupyter.scm: ... to here. * gnu/packages/sagemath.scm: Add jupyter module. Change-Id: I44aca3a14573b7700cdedeaae5e05b11ad48371c --- gnu/packages/jupyter.scm | 92 ++++++++++++++++++++++++++++++++++++++++++++- gnu/packages/python-xyz.scm | 85 ----------------------------------------- gnu/packages/sagemath.scm | 1 + 3 files changed, 91 insertions(+), 87 deletions(-) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index 9564d6ef6b..ada5afaeec 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -1,10 +1,13 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016, 2019, 2021-2025 Ricardo Wurmus <rek...@elephly.net> +;;; Copyright © 2019, 2021, 2022 Ludovic Courtès <l...@gnu.org> ;;; Copyright © 2019, 2022 Andreas Enge <andr...@enge.fr> -;;; Copyright © 2019, 2022 Ludovic Courtès <l...@gnu.org> ;;; Copyright © 2021 Hugo Lecomte <hugo.leco...@inria.fr> -;;; Copyright © 2021-2025 Ricardo Wurmus <rek...@elephly.net> +;;; Copyright © 2021 Lars-Dominik Braun <l...@6xq.net> +;;; Copyright © 2021 Nicolas Goaziou <m...@nicolasgoaziou.fr> ;;; Copyright © 2022 Marius Bakke <mar...@gnu.org> ;;; Copyright © 2022 Maxim Cournoyer <maxim.courno...@gmail.com> +;;; Copyright © 2024 Nicolas Graves <ngra...@ngraves.fr> ;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlata...@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -108,6 +111,91 @@ the custom classic notebook experience under a new set of URL endpoints, under the namespace @code{/nbclassic/}.") (license license:bsd-3))) +(define-public python-notebook + (package + (name "python-notebook") + (version "6.5.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "notebook" version)) + (sha256 + (base32 + "1r38fwr0r4xgkz8y27w3xyz2dk97ih5azba28jylyqxcvw8r1sq4")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-k" (string-append + ;; TODO: This tests fails because nbconvert does not + ;; list "python" as a format. + "not test_list_formats" + ;; AssertionError: Lists differ: + " and not test_disable" + " and not test_enable" + " and not test_merge_config" + " and not test_load_ordered" + " and not test_list_running_sock_servers" + " and not test_run") + ;; These tests require a browser. + "--ignore=notebook/tests/selenium") + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'use-our-home-for-tests + (lambda _ + ;; The 'get_patch_env' function in this file reads: + ;; 'HOME': cls.home_dir + ;; but for some reason, that definition of HOME is not what the + ;; GLib/GIO trash mechanism honors, which would cause test + ;; failures. Instead, set 'HOME' here to an existing directory + ;; and let the tests honor it. + (substitute* "notebook/tests/launchnotebook.py" + (("'HOME': .*," all) + (string-append "# " all "\n"))) + (setenv "HOME" (getcwd)))) + ;; Because python-jsonschema has an old python-webcolor. Remove this + ;; when python-team branch is merged. + (delete 'sanity-check) + (add-before 'check 'pre-check + (lambda _ + ;; Interferes with test expectations. + (unsetenv "JUPYTER_CONFIG_PATH") + ;; Some tests do not expect all files to be installed in the + ;; same directory, but JUPYTER_PATH contains multiple entries. + (unsetenv "JUPYTER_PATH")))))) + (propagated-inputs + (list python-argon2-cffi + python-ipykernel + python-ipython-genutils + python-jinja2 + python-jupyter-client + python-jupyter-core + python-nest-asyncio + python-nbclassic + python-nbconvert + python-nbformat + python-prometheus-client + python-pyzmq + python-send2trash + python-terminado + python-tornado-6 + python-traitlets)) + (native-inputs + (list python-coverage + python-jupyter-server + python-nbval + python-pytest + python-pytest-cov + python-requests + python-requests-unixsocket2 + python-setuptools + python-wheel)) + (home-page "https://jupyter.org/") + (synopsis "Web-based notebook environment for interactive computing") + (description + "The Jupyter HTML notebook is a web-based notebook environment for +interactive computing.") + (license license:bsd-3))) + (define-public python-notebook-shim (package (name "python-notebook-shim") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 666de1bcd7..a2aa6fb7b5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19328,91 +19328,6 @@ convert an @code{.ipynb} notebook file into various static formats including: @end enumerate\n") (license license:bsd-3))) -(define-public python-notebook - (package - (name "python-notebook") - (version "6.5.7") - (source (origin - (method url-fetch) - (uri (pypi-uri "notebook" version)) - (sha256 - (base32 - "1r38fwr0r4xgkz8y27w3xyz2dk97ih5azba28jylyqxcvw8r1sq4")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-flags - '(list "-k" (string-append - ;; TODO: This tests fails because nbconvert does not - ;; list "python" as a format. - "not test_list_formats" - ;; AssertionError: Lists differ: - " and not test_disable" - " and not test_enable" - " and not test_merge_config" - " and not test_load_ordered" - " and not test_list_running_sock_servers" - " and not test_run") - ;; These tests require a browser. - "--ignore=notebook/tests/selenium") - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'use-our-home-for-tests - (lambda _ - ;; The 'get_patch_env' function in this file reads: - ;; 'HOME': cls.home_dir - ;; but for some reason, that definition of HOME is not what the - ;; GLib/GIO trash mechanism honors, which would cause test - ;; failures. Instead, set 'HOME' here to an existing directory - ;; and let the tests honor it. - (substitute* "notebook/tests/launchnotebook.py" - (("'HOME': .*," all) - (string-append "# " all "\n"))) - (setenv "HOME" (getcwd)))) - ;; Because python-jsonschema has an old python-webcolor. Remove this - ;; when python-team branch is merged. - (delete 'sanity-check) - (add-before 'check 'pre-check - (lambda _ - ;; Interferes with test expectations. - (unsetenv "JUPYTER_CONFIG_PATH") - ;; Some tests do not expect all files to be installed in the - ;; same directory, but JUPYTER_PATH contains multiple entries. - (unsetenv "JUPYTER_PATH")))))) - (propagated-inputs - (list python-argon2-cffi - python-ipykernel - python-ipython-genutils - python-jinja2 - python-jupyter-client - python-jupyter-core - python-nest-asyncio - python-nbclassic - python-nbconvert - python-nbformat - python-prometheus-client - python-pyzmq - python-send2trash - python-terminado - python-tornado-6 - python-traitlets)) - (native-inputs - (list python-coverage - python-jupyter-server - python-nbval - python-pytest - python-pytest-cov - python-requests - python-requests-unixsocket2 - python-setuptools - python-wheel)) - (home-page "https://jupyter.org/") - (synopsis "Web-based notebook environment for interactive computing") - (description - "The Jupyter HTML notebook is a web-based notebook environment for -interactive computing.") - (license license:bsd-3))) - (define-public python-widgetsnbextension (package (name "python-widgetsnbextension") diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 6fc453c8d5..ee8fea3357 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages gd) #:use-module (gnu packages graph) #:use-module (gnu packages image) + #:use-module (gnu packages jupyter) #:use-module (gnu packages lisp) #:use-module (gnu packages m4) #:use-module (gnu packages maths)