summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-18 21:13:50 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:56 -0400
commit5fcd6aefe9ff972145401bcc927b597b182a2294 (patch)
tree520f7c80ce8421dca9a4afe3df6a346572056200
parent5f3457ccbb0bf34391f58ec2e96bd482a3dc9b9c (diff)
downloadguix-5fcd6aefe9ff972145401bcc927b597b182a2294.tar.gz
gnu: python-voila: Update to 0.3.5.
* gnu/packages/jupyter.scm (python-voila): Update to 0.3.5.
[source]: Use git.
[arguments]: New field.
[propagated-inputs]: Add python-jupyterlab-server, python-traitlets and
python-websockets.
[native-inputs]: Remove python-jupyter-packaging and python-setuptools.  Add
python-numpy and python-pandas.
-rw-r--r--gnu/packages/jupyter.scm42
1 files changed, 34 insertions, 8 deletions
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index aaf69af5c6..109241771a 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -713,26 +713,52 @@ datasets across widgets.")
 (define-public python-voila
   (package
     (name "python-voila")
-    (version "0.2.10")
+    (version "0.3.5")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "voila" version))
+       (method git-fetch)               ;no tests in pypi archive
+       (uri (git-reference
+             (url "https://github.com/voila-dashboards/voila")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0krfc95yjlhjdmrsladhy6lpf4xs1zw49nmkyl4pkykndglvwa1m"))))
+         "10qn34ddmcwcl9zxa0gwxarxr64k8hx4yysdwrf0iqvmzmkwmbbj"))))
     (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'relax-requirements
+            (lambda _
+              (substitute* "setup.cfg"
+                (("nbclient>=0.4.0,<0.6")
+                 "nbclient"))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (setenv "HOME" "/tmp")
+                (invoke "pytest" "-vv"
+                        ;; Many tests depend on Node JavaScript dependencies
+                        ;; and a running HTTP server; ignore them.
+                        "--ignore" "tests/app"
+                        "--ignore" "tests/server")))))))
     (propagated-inputs
-     (list python-jupyter-client python-jupyter-server python-nbclient
-           python-nbconvert))
+     (list python-jupyter-client
+           python-jupyter-server
+           python-jupyterlab-server
+           python-nbclient
+           python-nbconvert
+           python-traitlets
+           python-websockets))
     (native-inputs
      (list python-ipywidgets
-           python-jupyter-packaging
            python-matplotlib
            python-mock
+           python-numpy
+           python-pandas
            python-pytest
            python-pytest-tornasync
-           python-setuptools
            python-tornado-6))
     (home-page "https://github.com/voila-dashboards/voila")
     (synopsis "Render live Jupyter notebooks with interactive widgets")