summaryrefslogtreecommitdiff
path: root/gnu/packages/jupyter.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/jupyter.scm')
-rw-r--r--gnu/packages/jupyter.scm192
1 files changed, 192 insertions, 0 deletions
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index 2fb0b0375a..0de7ad998a 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -25,16 +25,20 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages monitoring)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages rdf)
#:use-module (gnu packages time)
#:use-module (gnu packages xml)
#:use-module (gnu packages tls)
@@ -247,6 +251,73 @@ Jupyter Python packages that require a pre-build step that may include
JavaScript build steps.")
(license license:bsd-3)))
+(define-public python-jupyter-server
+ (package
+ (name "python-jupyter-server")
+ (version "1.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jupyter_server" version))
+ (sha256
+ (base32
+ "1gvjbsw5nl94hz02rnkr4g4kkvh9fz7i45vz17hzwyvdpj7bd8yk"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (let ((home (string-append (getcwd) "/guix-home")))
+ (setenv "HOME" home))
+ ;; Add jupyter-server executable to PATH.
+ (setenv "PATH"
+ (string-append (assoc-ref outputs "out") "/bin:"
+ (getenv "PATH")))
+ (with-directory-excursion "jupyter_server"
+ ;; The pytest fixtures are only loaded when the file is
+ ;; called conftest.py.
+ (rename-file "pytest_plugin.py" "conftest.py")
+ (invoke "pytest" "-vv"
+ ;; Fails with internal server error
+ "-k" "not test_list_formats"
+ ;; Integration tests require a server.
+ "-m" "not integration_test"))))))))
+ (propagated-inputs
+ `(("python-anyio" ,python-anyio)
+ ("python-argon2-cffi" ,python-argon2-cffi)
+ ("python-ipython-genutils" ,python-ipython-genutils)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jupyter-client" ,python-jupyter-client)
+ ("python-jupyter-core" ,python-jupyter-core)
+ ("python-nbconvert" ,python-nbconvert)
+ ("python-nbformat" ,python-nbformat)
+ ("python-prometheus-client" ,python-prometheus-client)
+ ("python-pyzmq" ,python-pyzmq)
+ ("python-requests-unixsocket" ,python-requests-unixsocket)
+ ("python-send2trash" ,python-send2trash)
+ ("python-terminado" ,python-terminado)
+ ("python-tornado" ,python-tornado-6)
+ ("python-traitlets" ,python-traitlets)
+ ("python-websocket-client" ,python-websocket-client)))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-ipykernel" ,python-ipykernel)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-console-scripts" ,python-pytest-console-scripts)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-mock" ,python-pytest-mock)
+ ("python-pytest-tornasync" ,python-pytest-tornasync)
+ ("python-requests" ,python-requests)))
+ (home-page "https://jupyter.org")
+ (synopsis "Core services, APIs, and REST endpoints for Jupyter web applications")
+ (description
+ "This package provides the backend—i.e. core services, APIs, and REST
+endpoints—to Jupyter web applications.")
+ (license license:expat)))
+
(define-public python-jupyterlab-widgets
(package
(name "python-jupyterlab-widgets")
@@ -382,3 +453,124 @@ used to explore a repository locally by building and executing the constructed
image of the repository, or as a means of building images that are pushed to a
Docker registry.")
(license license:bsd-3)))
+
+(define-public python-bash-kernel
+ (package
+ (name "python-bash-kernel")
+ (version "0.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "bash_kernel" version))
+ (sha256
+ (base32
+ "0w0nbr3iqqsgpk83rgd0f5b02462bkyj2n0h6i9dwyc1vpnq9350"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'bash-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "bash_kernel/kernel.py"
+ (("\"bash\"")
+ (string-append "\"" (assoc-ref inputs "bash") "/bin/bash\""))
+ (("\\['bash', ")
+ (string-append "['" (assoc-ref inputs "bash") "/bin/bash', ")))
+ #t))
+ (add-after 'install 'install-kernelspec
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "HOME" "/tmp")
+ (invoke "python" "-m" "bash_kernel.install" "--prefix" out)
+ #t))))))
+ (inputs
+ `(("bash" ,bash)))
+ (propagated-inputs
+ `(("python-pexpect" ,python-pexpect)
+ ("python-ipykernel" ,python-ipykernel)
+ ("python-jupyter-client" ,python-jupyter-client)))
+ (home-page "https://github.com/takluyver/bash_kernel")
+ (synopsis "Jupyter kernel for Bash")
+ (description "A bash shell kernel for Jupyter.")
+ (license license:expat)))
+
+(define-public python-sparqlkernel
+ (package
+ (name "python-sparqlkernel")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "sparqlkernel" version))
+ (sha256
+ (base32
+ "004v22nyi5cnpxq4fiws89p7i5wcnzv45n3n70axdd6prh6rkapx"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'no-custom-css
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "sparqlkernel/install.py"
+ (("install_custom_css\\( destd, PKGNAME \\)") ""))
+ #t))
+ (add-after 'install 'install-kernelspec
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "HOME" "/tmp")
+ (add-installed-pythonpath inputs outputs)
+ (invoke
+ (string-append out "/bin/jupyter-sparqlkernel")
+ "install"
+ (string-append "--InstallKernelSpec.prefix=" out))
+ #t))))))
+ (native-inputs
+ `(("python-traitlets" ,python-traitlets)
+ ("python-jupyter-client" ,python-jupyter-client)
+ ("python-notebook" ,python-notebook)
+ ("python-ipykernel" ,python-ipykernel)
+ ("python-html5lib" ,python-html5lib-0.9)))
+ (propagated-inputs
+ `(("python-sparqlwrapper" ,python-sparqlwrapper)
+ ("python-pygments" ,python-pygments)))
+ (home-page "https://github.com/paulovn/sparql-kernel")
+ (synopsis "Jupyter kernel for SPARQL")
+ (description "This module installs a Jupyter kernel for SPARQL. It allows
+sending queries to an SPARQL endpoint and fetching & presenting the results in
+a notebook.")
+ (license license:bsd-3)))
+
+(define-public python-voila
+ (package
+ (name "python-voila")
+ (version "0.2.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "voila" version))
+ (sha256
+ (base32
+ "0krfc95yjlhjdmrsladhy6lpf4xs1zw49nmkyl4pkykndglvwa1m"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-jupyter-client" ,python-jupyter-client)
+ ("python-jupyter-server" ,python-jupyter-server)
+ ("python-nbclient" ,python-nbclient)
+ ("python-nbconvert" ,python-nbconvert)))
+ (native-inputs
+ `(("python-ipywidgets" ,python-ipywidgets)
+ ("python-jupyter-packaging" ,python-jupyter-packaging)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-tornasync" ,python-pytest-tornasync)
+ ("python-setuptools" ,python-setuptools)
+ ("python-tornado" ,python-tornado-6)))
+ (home-page "https://github.com/voila-dashboards/voila")
+ (synopsis "Render live Jupyter notebooks with interactive widgets")
+ (description
+ "Voilà turns Jupyter notebooks into standalone web applications. Unlike
+the usual HTML-converted notebooks, each user connecting to the Voilà tornado
+application gets a dedicated Jupyter kernel which can execute the callbacks to
+changes in Jupyter interactive widgets.")
+ (license license:bsd-3)))