From 6e8d2d28e9dbcaeca73c39d45c8db3cef6dfa39f Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 16 Dec 2025 13:07:49 +0000 Subject: [PATCH] gnu: python-jupyter-client: Move to jupyter. * gnu/packages/python-xyz.scm (python-jupyter-client, python-jupyter-client-bootstrap): Move from here ... * gnu/packages/jupyter.scm: ... to here. Change-Id: I036632e68c808877de14da7f91863be50cdafd61 Signed-off-by: Rutherther --- gnu/packages/jupyter.scm | 77 ++++++++++++++++++++++++++++++++++++- gnu/packages/python-xyz.scm | 73 ----------------------------------- 2 files changed, 76 insertions(+), 74 deletions(-) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index 580d2152950448231f6433094350efdf6e67f453..a80cb77324e215a96ef313a741445f63ffd995de 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Danny Milosavljevic +;;; Copyright © 2014, 2024 Danny Milosavljevic ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2019, 2021-2025 Ricardo Wurmus @@ -13,6 +13,7 @@ ;;; Copyright © 2021, 2022 Marius Bakke ;;; Copyright © 2022 Mădălin Ionel Patrașcu ;;; Copyright © 2022, 2024 Maxim Cournoyer +;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2023 Antero Mejr ;;; Copyright © 2023 Greg Hogan ;;; Copyright © 2024 Danny Milosavljevic @@ -44,6 +45,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) + #:use-module (guix utils) #:use-module (gnu packages algebra) #:use-module (gnu packages bash) #:use-module (gnu packages check) @@ -430,6 +432,79 @@ interactive computing.") to Jupyter Server for their Python Web application backend.") (license license:bsd-3))) +(define-public python-jupyter-client + (package + (name "python-jupyter-client") + (version "7.4.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jupyter_client" version)) + (sha256 + (base32 "0ck8fb0d582r8izkcn7087zmbmmqf9jkv2abd8p44867k9hdn5jn")))) + (build-system pyproject-build-system) + (arguments + (list + ;; tests: 176 passed, 4 skipped, 2 warnings + #:tests? (not (%current-target-system)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-pytest-config + (lambda _ + (substitute* "pyproject.toml" + ;; Do not fail on warnings. + (("\"error\",") "")))) + (add-before 'check 'pre-check + (lambda _ + ;; Some tests try to write to $HOME. + (setenv "HOME" "/tmp") + ;; jupyter-core demands this be set. + (setenv "JUPYTER_PLATFORM_DIRS" "1"))) + (add-after 'check 'fix-syntax-error + ;; Hatchling seems to generate entry scripts with invalid imports. + (lambda _ + (substitute* (string-append #$output "/bin/.jupyter-kernelspec-real") + (("import KernelSpecApp.launch_instance") "import KernelSpecApp"))))))) + (native-inputs + (list python-hatchling + python-pytest + python-pytest-asyncio + python-pytest-timeout + python-async-generator + python-ipython + python-ipykernel-bootstrap)) + (inputs + (list iproute)) + (propagated-inputs + (list python-dateutil + python-entrypoints + python-jupyter-core + python-nest-asyncio + python-pyzmq + python-tornado-6 + python-traitlets)) + (home-page "https://jupyter.org/") + (synopsis "Jupyter protocol implementation and client libraries") + (description + "The @code{jupyter_client} package contains the reference implementation +of the Jupyter protocol. It also provides client and kernel management APIs +for working with kernels, and the @code{jupyter kernelspec} entrypoint for +installing @code{kernelspec}s for use with Jupyter frontends.") + (license license:bsd-3))) + +;; Bootstrap variant of jupyter-client, which breaks the loop between ipykernel +;; and jupyter-client by removing the former from its native-inputs and +;; disabling tests. +(define-public python-jupyter-client-bootstrap + (hidden-package + (package/inherit python-jupyter-client + (name "python-jupyter-client-bootstrap") + (arguments + (substitute-keyword-arguments (package-arguments python-jupyter-client) + ((#:tests? _) #f))) + (native-inputs + (list python-hatchling))))) + (define-public python-jupyter-core (package (name "python-jupyter-core") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 83ccc8de918d52c8a2dded1dc27e562653d6a0c9..d53b56b94abcfc8675944d0d09cb1a3e9a85968f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14812,79 +14812,6 @@ connect strings, then issue SQL commands within IPython or IPython Notebook.") container data structures in Python).") (license license:asl2.0))) -(define-public python-jupyter-client - (package - (name "python-jupyter-client") - (version "7.4.4") - (source - (origin - (method url-fetch) - (uri (pypi-uri "jupyter_client" version)) - (sha256 - (base32 "0ck8fb0d582r8izkcn7087zmbmmqf9jkv2abd8p44867k9hdn5jn")))) - (build-system pyproject-build-system) - (arguments - (list - ;; tests: 176 passed, 4 skipped, 2 warnings - #:tests? (not (%current-target-system)) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-pytest-config - (lambda _ - (substitute* "pyproject.toml" - ;; Do not fail on warnings. - (("\"error\",") "")))) - (add-before 'check 'pre-check - (lambda _ - ;; Some tests try to write to $HOME. - (setenv "HOME" "/tmp") - ;; jupyter-core demands this be set. - (setenv "JUPYTER_PLATFORM_DIRS" "1"))) - (add-after 'check 'fix-syntax-error - ;; Hatchling seems to generate entry scripts with invalid imports. - (lambda _ - (substitute* (string-append #$output "/bin/.jupyter-kernelspec-real") - (("import KernelSpecApp.launch_instance") "import KernelSpecApp"))))))) - (native-inputs - (list python-hatchling - python-pytest - python-pytest-asyncio - python-pytest-timeout - python-async-generator - python-ipython - python-ipykernel-bootstrap)) - (inputs - (list iproute)) - (propagated-inputs - (list python-dateutil - python-entrypoints - python-jupyter-core - python-nest-asyncio - python-pyzmq - python-tornado-6 - python-traitlets)) - (home-page "https://jupyter.org/") - (synopsis "Jupyter protocol implementation and client libraries") - (description - "The @code{jupyter_client} package contains the reference implementation -of the Jupyter protocol. It also provides client and kernel management APIs -for working with kernels, and the @code{jupyter kernelspec} entrypoint for -installing @code{kernelspec}s for use with Jupyter frontends.") - (license license:bsd-3))) - -;; Bootstrap variant of jupyter-client, which breaks the loop between ipykernel -;; and jupyter-client by removing the former from its native-inputs and -;; disabling tests. -(define-public python-jupyter-client-bootstrap - (hidden-package - (package/inherit python-jupyter-client - (name "python-jupyter-client-bootstrap") - (arguments - (substitute-keyword-arguments (package-arguments python-jupyter-client) - ((#:tests? _) #f))) - (native-inputs - (list python-hatchling))))) - (define-public python-backcall (package (name "python-backcall")