unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 00/16] Add Jupyter.
@ 2016-11-01 12:20 Ricardo Wurmus
  2016-11-01 12:20 ` [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0 Ricardo Wurmus
                   ` (16 more replies)
  0 siblings, 17 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

Hi Guix,

this patch set updates ipython (not to the latest version) and adds a working
version of jupyter.  Updating ipython was hard and the patch to update ipython
is already about a year old.  I wanted to get jupyter into Guix first and then
upgrade ipython once more when I find some more time.  Otherwise this patch
set would continue to rot for another year (really, I revived a 1 year old
patch set).

~~ Ricardo

Ricardo Wurmus (16):
  gnu: python-traitlets: Update to 4.2.0.
  gnu: Add python-jupyter-core.
  gnu: Add python-jupyter-client.
  gnu: Add python-ipykernel.
  gnu: Add python-testpath.
  gnu: Add python-html5lib-0.9.
  gnu: Add python-nbformat.
  gnu: Add python-bleach.
  gnu: Add python-entrypoints.
  gnu: Add python-nbconvert.
  gnu: Add python-notebook.
  gnu: Add python-widgetsnbextension.
  gnu: Add python-ipywidgets.
  gnu: Add python-jupyter-console.
  gnu: python-ipython: Update to 4.0.0.
  gnu: Add jupyter.

 gnu/packages/python.scm | 489 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 471 insertions(+), 18 deletions(-)

-- 
2.10.1

^ permalink raw reply	[flat|nested] 55+ messages in thread

* [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:19   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 02/16] gnu: Add python-jupyter-core Ricardo Wurmus
                   ` (15 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-traitlets): Update to 4.2.0.
---
 gnu/packages/python.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b7c9e11..c612846 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4467,14 +4467,14 @@ standard library.")
 (define-public python-traitlets
   (package
     (name "python-traitlets")
-    (version "4.1.0")
+    (version "4.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "traitlets" version))
        (sha256
         (base32
-         "0nxgj8jxlm1kqf8cx2x7vjid05zdgbxpqhjbdl46r8njlpgkh3j4"))))
+         "1afy08sa5n9gnkvh3da49c16zkyv598vchv0p1hp7zzjy8895hz4"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 02/16] gnu: Add python-jupyter-core.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
  2016-11-01 12:20 ` [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0 Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:22   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 03/16] gnu: Add python-jupyter-client Ricardo Wurmus
                   ` (14 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-jupyter-core, python2-jupyter-core):
New variables.
---
 gnu/packages/python.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c612846..da16647 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4500,6 +4500,31 @@ without using the configuration machinery.")
 (define-public python2-traitlets
   (package-with-python2 python-traitlets))
 
+(define-public python-jupyter-core
+  (package
+    (name "python-jupyter-core")
+    (version "4.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append (pypi-uri "jupyter_core" version)))
+       (sha256
+        (base32
+         "177d9csqldzhsh6xs1p4nf6lzvhzyg6gklqjf69lxgxyadx87v24"))))
+    (build-system python-build-system)
+    ;; FIXME: not sure how to run the tests
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-traitlets" ,python-traitlets)))
+    (home-page "http://jupyter.org/")
+    (synopsis "Jupyter base package")
+    (description
+     "Jupyter core is the base package on which Jupyter projects rely.")
+    (license license:bsd-3)))
+
+(define-public python2-jupyter-core
+  (package-with-python2 python-jupyter-core))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 03/16] gnu: Add python-jupyter-client.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
  2016-11-01 12:20 ` [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0 Ricardo Wurmus
  2016-11-01 12:20 ` [PATCH 02/16] gnu: Add python-jupyter-core Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:27   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 04/16] gnu: Add python-ipykernel Ricardo Wurmus
                   ` (13 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-jupyter-client,
python2-jupyter-client): New variables.
---
 gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index da16647..09ce599 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4525,6 +4525,38 @@ without using the configuration machinery.")
 (define-public python2-jupyter-core
   (package-with-python2 python-jupyter-core))
 
+(define-public python-jupyter-client
+  (package
+    (name "python-jupyter-client")
+    (version "4.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jupyter_client" version))
+       (sha256
+        (base32
+         "1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"))))
+    (build-system python-build-system)
+    ;; Tests fail because of missing native python kernel which I assume is
+    ;; provided by the ipython package, which we cannot use because it would
+    ;; cause a dependency cycle.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-pyzmq" ,python-pyzmq)
+       ("python-traitlets" ,python-traitlets)
+       ("python-jupyter-core" ,python-jupyter-core)))
+    (home-page "http://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 kernelspecs for use with Jupyter frontends.")
+    (license license:bsd-3)))
+
+(define-public python2-jupyter-client
+  (package-with-python2 python-jupyter-client))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 04/16] gnu: Add python-ipykernel.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (2 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 03/16] gnu: Add python-jupyter-client Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:32   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 05/16] gnu: Add python-testpath Ricardo Wurmus
                   ` (12 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-ipykernel, python2-ipykernel): New
variables.
---
 gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 09ce599..9785b5e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4557,6 +4557,32 @@ installing kernelspecs for use with Jupyter frontends.")
 (define-public python2-jupyter-client
   (package-with-python2 python-jupyter-client))
 
+(define-public python-ipykernel
+  (package
+    (name "python-ipykernel")
+    (version "4.5.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (pypi-uri "ipykernel" version))
+      (sha256
+       (base32 "15c2bp1x3i6s4xb7vz7742h3kmvdfdfn9n2haywm3mwgvf77jni4"))))
+    (build-system python-build-system)
+    ;; The tests load a submodule of IPython.  However, IPython itself depends
+    ;; on ipykernel.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     ;; imported at runtime during connect
+     `(("python-jupyter-client" ,python-jupyter-client)))
+    (home-page "http://ipython.org")
+    (synopsis "IPython Kernel for Jupyter")
+    (description
+     "This package provides the IPython kernel for Jupyter.")
+    (license license:bsd-3)))
+
+(define-public python2-ipykernel
+  (package-with-python2 python-ipykernel))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 05/16] gnu: Add python-testpath.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (3 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 04/16] gnu: Add python-ipykernel Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:36   ` Roel Janssen
  2016-11-02  8:23   ` Hartmut Goebel
  2016-11-01 12:20 ` [PATCH 06/16] gnu: Add python-html5lib-0.9 Ricardo Wurmus
                   ` (11 subsequent siblings)
  16 siblings, 2 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-testpath, python2-testpath): New
variables.
---
 gnu/packages/python.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9785b5e..e6f537e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4583,6 +4583,48 @@ installing kernelspecs for use with Jupyter frontends.")
 (define-public python2-ipykernel
   (package-with-python2 python-ipykernel))
 
+
+(define-public python-testpath
+  (package
+    (name "python-testpath")
+    (version "0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jupyter/testpath/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04kh3fgvmqz6cfcw79q70qwjz7ib7lxm27cc548iy2rpr33qqf55"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; this package does not even have a setup.py
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'install)
+         (replace 'build
+                  (lambda* (#:key inputs outputs #:allow-other-keys)
+                    (let ((dir (string-append
+                                (assoc-ref outputs "out")
+                                "/lib/python"
+                                (string-take (string-take-right
+                                              (assoc-ref inputs "python") 5) 3)
+                                "/site-packages/testpath")))
+                      (mkdir-p dir)
+                      (copy-recursively "testpath" dir))
+                    #t)))))
+    (home-page "https://github.com/takluyver/testpath")
+    (synopsis "Test utilities for code working with files and commands")
+    (description
+     "Testpath is a collection of utilities for Python code working with files
+and commands.  It contains functions to check things on the filesystem, and
+tools for mocking system commands and recording calls to those.")
+    (license license:expat)))
+
+(define-public python2-testpath
+  (package-with-python2 python-testpath))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 06/16] gnu: Add python-html5lib-0.9.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (4 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 05/16] gnu: Add python-testpath Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:40   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 07/16] gnu: Add python-nbformat Ricardo Wurmus
                   ` (10 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-html5lib-0.9, python2-html5lib-0.9):
New variables.
---
 gnu/packages/python.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e6f537e..ed736ff 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4789,6 +4789,22 @@ and written in Python.")
 (define-public python2-html5lib
   (package-with-python2 python-html5lib))
 
+;; Needed for python-bleach, a dependency of python-notebook
+(define-public python-html5lib-0.9
+  (package
+    (inherit python-html5lib)
+    (version "0.999")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "html5lib" version))
+       (sha256
+        (base32
+         "17n4zfsj6ynmbwdwviywmj8r6nzr3xvfx2zs0xhndmvm51z7z263"))))))
+
+(define-public python2-html5lib-0.9
+  (package-with-python2 python-html5lib-0.9))
+
 (define-public python-urwid
   (package
     (name "python-urwid")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 07/16] gnu: Add python-nbformat.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (5 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 06/16] gnu: Add python-html5lib-0.9 Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 14:27   ` Roel Janssen
  2016-11-02  8:23   ` Hartmut Goebel
  2016-11-01 12:20 ` [PATCH 08/16] gnu: Add python-bleach Ricardo Wurmus
                   ` (9 subsequent siblings)
  16 siblings, 2 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-nbformat, python2-nbformat): New
variables.
---
 gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ed736ff..590ba43 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6665,6 +6665,34 @@ Debian-related files, such as:
 (define-public python2-debian
   (package-with-python2 python-debian))
 
+(define-public python-nbformat
+  (package
+    (name "python-nbformat")
+    (version "4.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "nbformat" version))
+       (sha256
+        (base32
+         "0mq8iki3d4mnx7wy05phss7x98mds4fqydin8lcagidp1knw1xnv"))))
+    (build-system python-build-system)
+    (arguments `(#:tests? #f)) ; no test target
+    (propagated-inputs
+     `(("python-ipython-genutils" ,python-ipython-genutils)
+       ("python-jsonschema" ,python-jsonschema)
+       ("python-jupyter-core" ,python-jupyter-core)
+       ("python-setuptools" ,python-setuptools)
+       ("python-traitlets" ,python-traitlets)))
+    (home-page "http://jupyter.org")
+    (synopsis "Jupyter Notebook format")
+    (description "This package provides the reference implementation of the
+Jupyter Notebook format and Python APIs for working with notebooks.")
+    (license license:bsd-3)))
+
+(define-public python2-nbformat
+  (package-with-python2 python-nbformat))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 08/16] gnu: Add python-bleach.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (6 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 07/16] gnu: Add python-nbformat Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 13:59   ` Roel Janssen
  2016-11-01 14:00   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 09/16] gnu: Add python-entrypoints Ricardo Wurmus
                   ` (8 subsequent siblings)
  16 siblings, 2 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-bleach, python2-bleach): New
variables.
---
 gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 590ba43..a2d3d3c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
 (define-public python2-nbformat
   (package-with-python2 python-nbformat))
 
+(define-public python-bleach
+  (package
+    (name "python-bleach")
+    (version "1.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "bleach" version))
+       (sha256
+        (base32
+         "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-html5lib" ,python-html5lib-0.9)
+       ("python-setuptools" ,python-setuptools)
+       ("python-six" ,python-six)))
+    (native-inputs
+     `(("python-nose" ,python-nose)))
+    (home-page "http://github.com/jsocol/bleach")
+    (synopsis "Whitelist-based HTML-sanitizing tool")
+    (description "Bleach is an easy whitelist-based HTML-sanitizing tool.")
+    (license license:asl2.0)))
+
+(define-public python2-bleach
+  (package-with-python2 python-bleach))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 09/16] gnu: Add python-entrypoints.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (7 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 08/16] gnu: Add python-bleach Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 16:18   ` Roel Janssen
  2016-11-02  8:23   ` Hartmut Goebel
  2016-11-01 12:20 ` [PATCH 10/16] gnu: Add python-nbconvert Ricardo Wurmus
                   ` (7 subsequent siblings)
  16 siblings, 2 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-entrypoints, python2-entrypoints): New
variables.
---
 gnu/packages/python.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a2d3d3c..621c4d0 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6719,6 +6719,61 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
 (define-public python2-bleach
   (package-with-python2 python-bleach))
 
+(define-public python-entrypoints
+  (package
+    (name "python-entrypoints")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/takluyver/entrypoints/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0azqlkh3j0za080lsf5crnhaxx3c93k9dpv5ihkhf5cppgw5sjz5"))))
+    (build-system python-build-system)
+    ;; The package does not come with a setup.py file, so we have to install
+    ;; the file along with a custom egg-info file.
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build)
+         (replace 'install
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (python-version ((@@ (guix build python-build-system)
+                                         get-python-version)
+                                     (assoc-ref inputs "python")))
+                    (target (string-append out "/lib/python" python-version
+                                           "/site-packages/")))
+               (mkdir-p target)
+               (call-with-output-file (string-append target "entrypoints.egg-info")
+                 (lambda (port)
+                   (format port "\
+Metadata-Version: 1.1
+Name: entrypoints
+Version: ~a
+Summary: Discover and load entry points from installed packages
+Author: Thomas Kluyver
+Author-email: thomas@kluyver.me.uk
+Classifier: License :: OSI Approved :: MIT License
+" ,version)))
+               (install-file "entrypoints.py" target)
+               #t))))))
+    (home-page "https://github.com/takluyver/entrypoints")
+    (synopsis "Discover and load entry points from installed Python packages")
+    (description "Entry points are a way for Python packages to advertise
+objects with some common interface.  The most common examples are
+@code{console_scripts} entry points, which define shell commands by
+identifying a Python function to run.  The @code{entrypoints} module contains
+functions to find and load entry points.")
+    (license license:expat)))
+
+(define-public python2-entrypoints
+  (package-with-python2 python-entrypoints))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 10/16] gnu: Add python-nbconvert.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (8 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 09/16] gnu: Add python-entrypoints Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 16:23   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 11/16] gnu: Add python-notebook Ricardo Wurmus
                   ` (6 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-nbconvert, python2-nbconvert): New
variables.
---
 gnu/packages/python.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 621c4d0..4463f50 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6774,6 +6774,51 @@ functions to find and load entry points.")
 (define-public python2-entrypoints
   (package-with-python2 python-entrypoints))
 
+(define-public python-nbconvert
+  (package
+    (name "python-nbconvert")
+    (version "5.0.0b1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "nbconvert" version))
+       (sha256
+        (base32
+         "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
+    (build-system python-build-system)
+    ;; The "bdist_egg" target is disabled by default, causing the installation
+    ;; to fail.
+    (arguments `(#:configure-flags (list "bdist_egg")))
+    (propagated-inputs
+     `(("python-bleach" ,python-bleach)
+       ("python-entrypoints" ,python-entrypoints)
+       ("python-jinja2" ,python-jinja2)
+       ("python-jupyter-core" ,python-jupyter-core)
+       ("python-mistune" ,python-mistune)
+       ("python-nbformat" ,python-nbformat)
+       ("python-pygments" ,python-pygments)
+       ("python-setuptools" ,python-setuptools)
+       ("python-traitlets" ,python-traitlets)))
+    (home-page "http://jupyter.org")
+    (synopsis "Converting Jupyter Notebooks")
+    (description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
+notebooks to various other formats via Jinja templates.  It allows you to
+convert an @code{.ipynb} notebook file into various static formats including:
+
+@enumerate
+@item HTML
+@item LaTeX
+@item PDF
+@item Reveal JS
+@item Markdown (md)
+@item ReStructured Text (rst)
+@item executable script
+@end enumerate\n")
+    (license license:bsd-3)))
+
+(define-public python2-nbconvert
+  (package-with-python2 python-nbconvert))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 11/16] gnu: Add python-notebook.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (9 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 10/16] gnu: Add python-nbconvert Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 18:10   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 12/16] gnu: Add python-widgetsnbextension Ricardo Wurmus
                   ` (5 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-notebook, python2-notebook): New
variables.
---
 gnu/packages/python.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4463f50..bd04c80 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6819,6 +6819,44 @@ convert an @code{.ipynb} notebook file into various static formats including:
 (define-public python2-nbconvert
   (package-with-python2 python-nbconvert))
 
+(define-public python-notebook
+  (package
+    (name "python-notebook")
+    (version "4.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "notebook" version))
+              (sha256
+               (base32
+                "0laq5c2f21frq6xcdckgq7raqhznbjb0qs0357g612z87wyn1a9r"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             ;; HOME must be set for tests
+             (setenv "HOME" "/tmp")
+             (zero? (system* "nosetests")))))))
+    (propagated-inputs
+     `(("python-jupyter-core" ,python-jupyter-core)
+       ("python-nbformat" ,python-nbformat)
+       ("python-nbconvert" ,python-nbconvert)
+       ("python-ipython" ,python-ipython)))
+    (native-inputs
+     `(("python-nose" ,python-nose)
+       ("python-sphinx" ,python-sphinx)
+       ("python-requests" ,python-requests)))
+    (home-page "http://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 python2-notebook
+  (package-with-python2 python-notebook))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 12/16] gnu: Add python-widgetsnbextension.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (10 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 11/16] gnu: Add python-notebook Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 18:11   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 13/16] gnu: Add python-ipywidgets Ricardo Wurmus
                   ` (4 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-widgetsnbextension,
python2-widgetsnbextension): New variables.
---
 gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index bd04c80..2611154 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6857,6 +6857,32 @@ interactive computing.")
 (define-public python2-notebook
   (package-with-python2 python-notebook))
 
+(define-public python-widgetsnbextension
+  (package
+    (name "python-widgetsnbextension")
+    (version "1.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "widgetsnbextension" version))
+       (sha256
+        (base32
+         "0lff2mrwrgsa1mxmwx3phl9xvy0jqfpg6khbmxy53jbq56rwy666"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-notebook" ,python-notebook)))
+    (native-inputs
+     `(("python-nose" ,python-nose)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "http://ipython.org")
+    (synopsis "IPython HTML widgets for Jupyter")
+    (description "This package provides interactive HTML widgets for Jupyter
+notebooks.")
+    (license license:bsd-3)))
+
+(define-public python2-widgetsnbextension
+  (package-with-python2 python-widgetsnbextension))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 13/16] gnu: Add python-ipywidgets.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (11 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 12/16] gnu: Add python-widgetsnbextension Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 18:12   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 14/16] gnu: Add python-jupyter-console Ricardo Wurmus
                   ` (3 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-ipywidgets, python2-ipywidgets): New
variables.
---
 gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2611154..50a0edd 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6883,6 +6883,37 @@ notebooks.")
 (define-public python2-widgetsnbextension
   (package-with-python2 python-widgetsnbextension))
 
+(define-public python-ipywidgets
+  (package
+    (name "python-ipywidgets")
+    (version "5.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ipywidgets" version))
+       (sha256
+        (base32
+         "1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms"))))
+    (build-system python-build-system)
+    ;; FIXME: it's not clear how to run the tests.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-ipykernel" ,python-ipykernel)
+       ("python-ipython" ,python-ipython)
+       ("python-setuptools" ,python-setuptools)
+       ("python-traitlets" ,python-traitlets)
+       ("python-widgetsnbextension" ,python-widgetsnbextension)))
+    (home-page "http://ipython.org")
+    (synopsis "IPython HTML widgets for Jupyter")
+    (description "Ipywidgets are interactive HTML widgets for Jupyter
+notebooks and the IPython kernel.  Notebooks come alive when interactive
+widgets are used.  Users gain control of their data and can visualize changes
+in the data.")
+    (license license:bsd-3)))
+
+(define-public python2-ipywidgets
+  (package-with-python2 python-ipywidgets))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 14/16] gnu: Add python-jupyter-console.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (12 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 13/16] gnu: Add python-ipywidgets Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 18:15   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 15/16] gnu: python-ipython: Update to 4.0.0 Ricardo Wurmus
                   ` (2 subsequent siblings)
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-jupyter-console,
python2-jupyter-console): New variable.
---
 gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 50a0edd..519b93d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6914,6 +6914,35 @@ in the data.")
 (define-public python2-ipywidgets
   (package-with-python2 python-ipywidgets))
 
+(define-public python-jupyter-console
+  (package
+    (name "python-jupyter-console")
+    (version "5.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jupyter_console" version))
+       (sha256
+        (base32
+         "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"))))
+    (build-system python-build-system)
+    ;; FIXME: it's not clear how to run the tests.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-ipykernel" ,python-ipykernel)
+       ("python-ipython" ,python-ipython)
+       ("python-jupyter-client" ,python-jupyter-client)
+       ("python-prompt-toolkit" ,python-prompt-toolkit)
+       ("python-pygments" ,python-pygments)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "https://jupyter.org")
+    (synopsis "Jupyter terminal console")
+    (description "Jupyter terminal console")
+    (license license:bsd-3)))
+
+(define-public python2-jupyter-console
+  (package-with-python2 python-jupyter-console))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 15/16] gnu: python-ipython: Update to 4.0.0.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (13 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 14/16] gnu: Add python-jupyter-console Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 18:18   ` Roel Janssen
  2016-11-01 12:20 ` [PATCH 16/16] gnu: Add jupyter Ricardo Wurmus
  2016-11-01 13:16 ` [PATCH 00/16] Add Jupyter Roel Janssen
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-ipython): Update to 4.0.0.
  [inputs]: Keep only "readline" and "which"; move the remaining inputs
  to propagated-inputs, except for "python-requests" and "python-nose"
  which are moved to native-inputs.
  [propagated-inputs]: Add python-pexpect, python-pickleshare,
  python-simplegeneric, python-traitlets, python-ipykernel.
  [native-inputs]: Add "python-testpath".
  [arguments]: Enable building of HTML documentation.
---
 gnu/packages/python.scm | 36 ++++++++++++++++++++----------------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 519b93d..12d38f1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4628,34 +4628,38 @@ tools for mocking system commands and recording calls to those.")
 (define-public python-ipython
   (package
     (name "python-ipython")
-    (version "3.2.1")
+    (version "4.0.0")
     (source
      (origin
        (method url-fetch)
-       (patches (search-patches "python-ipython-inputhook-ctype.patch"))
-       (uri (string-append "https://pypi.python.org/packages/source/i/"
-                           "ipython/ipython-" version ".tar.gz"))
+       (uri (pypi-uri "ipython" version ".tar.gz"))
        (sha256
-        (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"))))
+        (base32 "1npl8g6bfsff9j938ypx0q5fyzy2l8lp0jl8skjjj2zv0z27dlig"))))
     (build-system python-build-system)
     (outputs '("out" "doc"))
     (propagated-inputs
      `(("python-pyzmq" ,python-pyzmq)
-       ("python-terminado" ,python-terminado)))
-    (inputs
-     `(("readline" ,readline)
-       ("which" ,which)
+       ("python-terminado" ,python-terminado)
        ("python-matplotlib" ,python-matplotlib)
        ("python-numpy" ,python-numpy)
        ("python-numpydoc" ,python-numpydoc)
        ("python-jinja2" ,python-jinja2)
        ("python-mistune" ,python-mistune)
+       ("python-pexpect" ,python-pexpect)
+       ("python-pickleshare" ,python-pickleshare)
+       ("python-simplegeneric" ,python-simplegeneric)
        ("python-jsonschema" ,python-jsonschema)
-       ("python-pygments" ,python-pygments)
-       ("python-requests" ,python-requests) ;; for tests
-       ("python-nose" ,python-nose)))
+       ("python-traitlets" ,python-traitlets)
+       ("python-ipykernel" ,python-ipykernel)
+       ("python-pygments" ,python-pygments)))
+    (inputs
+     `(("readline" ,readline)
+       ("which" ,which)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("python-requests" ,python-requests) ;; for tests
+       ("python-testpath" ,python-testpath)
+       ("python-nose" ,python-nose)
        ("python-sphinx" ,python-sphinx)
        ("texlive" ,texlive)
        ("texinfo" ,texinfo)
@@ -4674,13 +4678,13 @@ tools for mocking system commands and recording calls to those.")
                    (examples (string-append doc "/examples")))
               (setenv "LANG" "en_US.utf8")
               (with-directory-excursion "docs"
-                ;; FIXME: html and pdf fail to build
-                ;; (system* "make" "html")
-                ;; (system* "make" "pdf" "PAPER=a4")
+                ;; FIXME: pdf fails to build
+                ;;(system* "make" "pdf" "PAPER=a4")
+                (system* "make" "html")
                 (system* "make" "info"))
               (copy-recursively "docs/man" man1)
               (copy-recursively "examples" examples)
-              ;; (copy-recursively "docs/build/html" html)
+              (copy-recursively "docs/build/html" html)
               ;; (copy-file "docs/build/latex/ipython.pdf"
               ;;            (string-append doc "/ipython.pdf"))
               (mkdir-p info)
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* [PATCH 16/16] gnu: Add jupyter.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (14 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 15/16] gnu: python-ipython: Update to 4.0.0 Ricardo Wurmus
@ 2016-11-01 12:20 ` Ricardo Wurmus
  2016-11-01 18:20   ` Roel Janssen
  2016-11-01 13:16 ` [PATCH 00/16] Add Jupyter Roel Janssen
  16 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 12:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (jupyter): New variable.
---
 gnu/packages/python.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 12d38f1..a26a129 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6947,6 +6947,36 @@ in the data.")
 (define-public python2-jupyter-console
   (package-with-python2 python-jupyter-console))
 
+(define-public jupyter
+  (package
+    (name "jupyter")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jupyter" version))
+       (sha256
+        (base32
+         "0pwf3pminkzyzgx5kcplvvbvwrrzd3baa7lmh96f647k30rlpp6r"))))
+    (build-system python-build-system)
+    ;; FIXME: it's not clear how to run the tests.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-ipykernel" ,python-ipykernel)
+       ("python-ipywidgets" ,python-ipywidgets)
+       ("python-jupyter-console" ,python-jupyter-console)
+       ("python-nbconvert" ,python-nbconvert)
+       ("python-notebook" ,python-notebook)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "http://jupyter.org")
+    (synopsis "Web application for interactive documents")
+    (description
+     "The Jupyter Notebook is a web application that allows you to create and
+share documents that contain live code, equations, visualizations and
+explanatory text.  Uses include: data cleaning and transformation, numerical
+simulation, statistical modeling, machine learning and much more.")
+    (license license:bsd-3)))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 55+ messages in thread

* Re: [PATCH 00/16] Add Jupyter.
  2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
                   ` (15 preceding siblings ...)
  2016-11-01 12:20 ` [PATCH 16/16] gnu: Add jupyter Ricardo Wurmus
@ 2016-11-01 13:16 ` Roel Janssen
  16 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:16 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> Hi Guix,
>
> this patch set updates ipython (not to the latest version) and adds a working
> version of jupyter.  Updating ipython was hard and the patch to update ipython
> is already about a year old.  I wanted to get jupyter into Guix first and then
> upgrade ipython once more when I find some more time.  Otherwise this patch
> set would continue to rot for another year (really, I revived a 1 year old
> patch set).
>
> ~~ Ricardo
>
> Ricardo Wurmus (16):
>   gnu: python-traitlets: Update to 4.2.0.
>   gnu: Add python-jupyter-core.
>   gnu: Add python-jupyter-client.
>   gnu: Add python-ipykernel.
>   gnu: Add python-testpath.
>   gnu: Add python-html5lib-0.9.
>   gnu: Add python-nbformat.
>   gnu: Add python-bleach.
>   gnu: Add python-entrypoints.
>   gnu: Add python-nbconvert.
>   gnu: Add python-notebook.
>   gnu: Add python-widgetsnbextension.
>   gnu: Add python-ipywidgets.
>   gnu: Add python-jupyter-console.
>   gnu: python-ipython: Update to 4.0.0.
>   gnu: Add jupyter.
>
>  gnu/packages/python.scm | 489 ++++++++++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 471 insertions(+), 18 deletions(-)

Funny, I looked into adding Jupyter last week, but got stuck.  So, great
to see you managed to get this done!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0.
  2016-11-01 12:20 ` [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0 Ricardo Wurmus
@ 2016-11-01 13:19   ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:19 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-traitlets): Update to 4.2.0.
> ---
>  gnu/packages/python.scm | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index b7c9e11..c612846 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4467,14 +4467,14 @@ standard library.")
>  (define-public python-traitlets
>    (package
>      (name "python-traitlets")
> -    (version "4.1.0")
> +    (version "4.2.0")
>      (source
>       (origin
>         (method url-fetch)
>         (uri (pypi-uri "traitlets" version))
>         (sha256
>          (base32
> -         "0nxgj8jxlm1kqf8cx2x7vjid05zdgbxpqhjbdl46r8njlpgkh3j4"))))
> +         "1afy08sa5n9gnkvh3da49c16zkyv598vchv0p1hp7zzjy8895hz4"))))
>      (build-system python-build-system)
>      (arguments
>       `(#:phases

Looks fine to me.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 02/16] gnu: Add python-jupyter-core.
  2016-11-01 12:20 ` [PATCH 02/16] gnu: Add python-jupyter-core Ricardo Wurmus
@ 2016-11-01 13:22   ` Roel Janssen
  2016-11-04 10:21     ` Ricardo Wurmus
  0 siblings, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:22 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-jupyter-core, python2-jupyter-core):
> New variables.
> ---
>  gnu/packages/python.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index c612846..da16647 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4500,6 +4500,31 @@ without using the configuration machinery.")
>  (define-public python2-traitlets
>    (package-with-python2 python-traitlets))
>  
> +(define-public python-jupyter-core
> +  (package
> +    (name "python-jupyter-core")
> +    (version "4.2.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append (pypi-uri "jupyter_core" version)))
> +       (sha256
> +        (base32
> +         "177d9csqldzhsh6xs1p4nf6lzvhzyg6gklqjf69lxgxyadx87v24"))))
> +    (build-system python-build-system)
> +    ;; FIXME: not sure how to run the tests
> +    (arguments `(#:tests? #f))

Any idea?

> +    (propagated-inputs
> +     `(("python-traitlets" ,python-traitlets)))
> +    (home-page "http://jupyter.org/")
> +    (synopsis "Jupyter base package")
> +    (description
> +     "Jupyter core is the base package on which Jupyter projects rely.")
> +    (license license:bsd-3)))
> +
> +(define-public python2-jupyter-core
> +  (package-with-python2 python-jupyter-core))
> +
>  (define-public python-ipython
>    (package
>      (name "python-ipython")

Otherwise, looks good to me.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 03/16] gnu: Add python-jupyter-client.
  2016-11-01 12:20 ` [PATCH 03/16] gnu: Add python-jupyter-client Ricardo Wurmus
@ 2016-11-01 13:27   ` Roel Janssen
  2016-11-04 10:22     ` Ricardo Wurmus
  0 siblings, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:27 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-jupyter-client,
> python2-jupyter-client): New variables.
> ---
>  gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index da16647..09ce599 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4525,6 +4525,38 @@ without using the configuration machinery.")
>  (define-public python2-jupyter-core
>    (package-with-python2 python-jupyter-core))
>  
> +(define-public python-jupyter-client
> +  (package
> +    (name "python-jupyter-client")
> +    (version "4.4.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "jupyter_client" version))
> +       (sha256
> +        (base32
> +         "1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"))))
> +    (build-system python-build-system)
> +    ;; Tests fail because of missing native python kernel which I assume is
> +    ;; provided by the ipython package, which we cannot use because it would
> +    ;; cause a dependency cycle.
> +    (arguments `(#:tests? #f))
> +    (propagated-inputs
> +     `(("python-pyzmq" ,python-pyzmq)
> +       ("python-traitlets" ,python-traitlets)
> +       ("python-jupyter-core" ,python-jupyter-core)))
> +    (home-page "http://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 kernelspecs for use with Jupyter frontends.")
> +    (license license:bsd-3)))

Is "kernelspec" one word?  And should "kernelspecs" be "@code{kernelspec}s"?

> +
> +(define-public python2-jupyter-client
> +  (package-with-python2 python-jupyter-client))
> +
>  (define-public python-ipython
>    (package
>      (name "python-ipython")


Otherwise, LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 04/16] gnu: Add python-ipykernel.
  2016-11-01 12:20 ` [PATCH 04/16] gnu: Add python-ipykernel Ricardo Wurmus
@ 2016-11-01 13:32   ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:32 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-ipykernel, python2-ipykernel): New
> variables.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 09ce599..9785b5e 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4557,6 +4557,32 @@ installing kernelspecs for use with Jupyter frontends.")
>  (define-public python2-jupyter-client
>    (package-with-python2 python-jupyter-client))
>  
> +(define-public python-ipykernel
> +  (package
> +    (name "python-ipykernel")
> +    (version "4.5.0")
> +    (source
> +     (origin
> +      (method url-fetch)
> +      (uri (pypi-uri "ipykernel" version))
> +      (sha256
> +       (base32 "15c2bp1x3i6s4xb7vz7742h3kmvdfdfn9n2haywm3mwgvf77jni4"))))
> +    (build-system python-build-system)
> +    ;; The tests load a submodule of IPython.  However, IPython itself depends
> +    ;; on ipykernel.
> +    (arguments `(#:tests? #f))

Sounds like fun!

> +    (propagated-inputs
> +     ;; imported at runtime during connect
> +     `(("python-jupyter-client" ,python-jupyter-client)))
> +    (home-page "http://ipython.org")
> +    (synopsis "IPython Kernel for Jupyter")
> +    (description
> +     "This package provides the IPython kernel for Jupyter.")
> +    (license license:bsd-3)))
> +
> +(define-public python2-ipykernel
> +  (package-with-python2 python-ipykernel))
> +
>  (define-public python-ipython
>    (package
>      (name "python-ipython")

LGTM.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 05/16] gnu: Add python-testpath.
  2016-11-01 12:20 ` [PATCH 05/16] gnu: Add python-testpath Ricardo Wurmus
@ 2016-11-01 13:36   ` Roel Janssen
  2016-11-04 10:25     ` Ricardo Wurmus
  2016-11-02  8:23   ` Hartmut Goebel
  1 sibling, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:36 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-testpath, python2-testpath): New
> variables.
> ---
>  gnu/packages/python.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 9785b5e..e6f537e 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4583,6 +4583,48 @@ installing kernelspecs for use with Jupyter frontends.")
>  (define-public python2-ipykernel
>    (package-with-python2 python-ipykernel))
>  
> +

I don't think two blank lines are needed here.

> +(define-public python-testpath
> +  (package
> +    (name "python-testpath")
> +    (version "0.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://github.com/jupyter/testpath/archive/"
> +                           version ".tar.gz"))
> +       (file-name (string-append name "-" version ".tar.gz"))
> +       (sha256
> +        (base32
> +         "04kh3fgvmqz6cfcw79q70qwjz7ib7lxm27cc548iy2rpr33qqf55"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f ; this package does not even have a setup.py
> +       #:phases
> +       (modify-phases %standard-phases
> +         (delete 'install)
> +         (replace 'build
> +                  (lambda* (#:key inputs outputs #:allow-other-keys)
> +                    (let ((dir (string-append
> +                                (assoc-ref outputs "out")
> +                                "/lib/python"
> +                                (string-take (string-take-right
> +                                              (assoc-ref inputs "python") 5) 3)
> +                                "/site-packages/testpath")))
> +                      (mkdir-p dir)
> +                      (copy-recursively "testpath" dir))
> +                    #t)))))
> +    (home-page "https://github.com/takluyver/testpath")
> +    (synopsis "Test utilities for code working with files and commands")
> +    (description
> +     "Testpath is a collection of utilities for Python code working with files
> +and commands.  It contains functions to check things on the filesystem, and
> +tools for mocking system commands and recording calls to those.")
> +    (license license:expat)))
> +
> +(define-public python2-testpath
> +  (package-with-python2 python-testpath))
> +
>  (define-public python-ipython
>    (package
>      (name "python-ipython")

Otherwise LGTM.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 06/16] gnu: Add python-html5lib-0.9.
  2016-11-01 12:20 ` [PATCH 06/16] gnu: Add python-html5lib-0.9 Ricardo Wurmus
@ 2016-11-01 13:40   ` Roel Janssen
  2016-11-01 14:31     ` Ricardo Wurmus
  0 siblings, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:40 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-html5lib-0.9, python2-html5lib-0.9):
> New variables.
> ---
>  gnu/packages/python.scm | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index e6f537e..ed736ff 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4789,6 +4789,22 @@ and written in Python.")
>  (define-public python2-html5lib
>    (package-with-python2 python-html5lib))
>  
> +;; Needed for python-bleach, a dependency of python-notebook
> +(define-public python-html5lib-0.9
> +  (package
> +    (inherit python-html5lib)
> +    (version "0.999")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "html5lib" version))
> +       (sha256
> +        (base32
> +         "17n4zfsj6ynmbwdwviywmj8r6nzr3xvfx2zs0xhndmvm51z7z263"))))))
> +
> +(define-public python2-html5lib-0.9
> +  (package-with-python2 python-html5lib-0.9))
> +
>  (define-public python-urwid
>    (package
>      (name "python-urwid")

Doesn't python-bleach work with the newer version of python-html5lib?

The patch looks good to me.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 08/16] gnu: Add python-bleach.
  2016-11-01 12:20 ` [PATCH 08/16] gnu: Add python-bleach Ricardo Wurmus
@ 2016-11-01 13:59   ` Roel Janssen
  2016-11-04 10:32     ` Ricardo Wurmus
  2016-11-01 14:00   ` Roel Janssen
  1 sibling, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 13:59 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-bleach, python2-bleach): New
> variables.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 590ba43..a2d3d3c 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
>  (define-public python2-nbformat
>    (package-with-python2 python-nbformat))
>  
> +(define-public python-bleach
> +  (package
> +    (name "python-bleach")
> +    (version "1.4.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "bleach" version))
> +       (sha256
> +        (base32
> +         "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-html5lib" ,python-html5lib-0.9)

If you add the following snippet, it does not need this older version of
html5lib to build.

(arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'fix-html5lib-version
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "setup.py"
               (("'html5lib>=0.999,<0.99999999',") "'html5lib',")))))))

I don't know whether this modification is problematic later on when
running Jupyter (I'm not there yet).

> +       ("python-setuptools" ,python-setuptools)
> +       ("python-six" ,python-six)))
> +    (native-inputs
> +     `(("python-nose" ,python-nose)))
> +    (home-page "http://github.com/jsocol/bleach")
> +    (synopsis "Whitelist-based HTML-sanitizing tool")
> +    (description "Bleach is an easy whitelist-based HTML-sanitizing tool.")
> +    (license license:asl2.0)))
> +
> +(define-public python2-bleach
> +  (package-with-python2 python-bleach))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

Otherwise LGTM.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 08/16] gnu: Add python-bleach.
  2016-11-01 12:20 ` [PATCH 08/16] gnu: Add python-bleach Ricardo Wurmus
  2016-11-01 13:59   ` Roel Janssen
@ 2016-11-01 14:00   ` Roel Janssen
  1 sibling, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 14:00 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-bleach, python2-bleach): New
> variables.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 590ba43..a2d3d3c 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
>  (define-public python2-nbformat
>    (package-with-python2 python-nbformat))
>  
> +(define-public python-bleach
> +  (package
> +    (name "python-bleach")
> +    (version "1.4.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "bleach" version))
> +       (sha256
> +        (base32
> +         "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-html5lib" ,python-html5lib-0.9)
> +       ("python-setuptools" ,python-setuptools)
> +       ("python-six" ,python-six)))
> +    (native-inputs
> +     `(("python-nose" ,python-nose)))
> +    (home-page "http://github.com/jsocol/bleach")
> +    (synopsis "Whitelist-based HTML-sanitizing tool")
> +    (description "Bleach is an easy whitelist-based HTML-sanitizing tool.")
> +    (license license:asl2.0)))
> +
> +(define-public python2-bleach
> +  (package-with-python2 python-bleach))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

Oh.. and the patch did not apply automatically for me.  That could be a
glitch on my side though.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 07/16] gnu: Add python-nbformat.
  2016-11-01 12:20 ` [PATCH 07/16] gnu: Add python-nbformat Ricardo Wurmus
@ 2016-11-01 14:27   ` Roel Janssen
  2016-11-04 10:27     ` Ricardo Wurmus
  2016-11-02  8:23   ` Hartmut Goebel
  1 sibling, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 14:27 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-nbformat, python2-nbformat): New
> variables.
> ---
>  gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index ed736ff..590ba43 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6665,6 +6665,34 @@ Debian-related files, such as:
>  (define-public python2-debian
>    (package-with-python2 python-debian))
>  
> +(define-public python-nbformat
> +  (package
> +    (name "python-nbformat")
> +    (version "4.1.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "nbformat" version))
> +       (sha256
> +        (base32
> +         "0mq8iki3d4mnx7wy05phss7x98mds4fqydin8lcagidp1knw1xnv"))))
> +    (build-system python-build-system)
> +    (arguments `(#:tests? #f)) ; no test target
> +    (propagated-inputs
> +     `(("python-ipython-genutils" ,python-ipython-genutils)
> +       ("python-jsonschema" ,python-jsonschema)
> +       ("python-jupyter-core" ,python-jupyter-core)
> +       ("python-setuptools" ,python-setuptools)
> +       ("python-traitlets" ,python-traitlets)))
> +    (home-page "http://jupyter.org")
> +    (synopsis "Jupyter Notebook format")

Notebook or notebook?

> +    (description "This package provides the reference implementation of the
> +Jupyter Notebook format and Python APIs for working with notebooks.")
> +    (license license:bsd-3)))
> +
> +(define-public python2-nbformat
> +  (package-with-python2 python-nbformat))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

Otherwise LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 06/16] gnu: Add python-html5lib-0.9.
  2016-11-01 13:40   ` Roel Janssen
@ 2016-11-01 14:31     ` Ricardo Wurmus
  2016-11-01 18:24       ` Roel Janssen
  0 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-01 14:31 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-html5lib-0.9, python2-html5lib-0.9):
>> New variables.
>> ---
>>  gnu/packages/python.scm | 16 ++++++++++++++++
>>  1 file changed, 16 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index e6f537e..ed736ff 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4789,6 +4789,22 @@ and written in Python.")
>>  (define-public python2-html5lib
>>    (package-with-python2 python-html5lib))
>>  
>> +;; Needed for python-bleach, a dependency of python-notebook
>> +(define-public python-html5lib-0.9
>> +  (package
>> +    (inherit python-html5lib)
>> +    (version "0.999")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "html5lib" version))
>> +       (sha256
>> +        (base32
>> +         "17n4zfsj6ynmbwdwviywmj8r6nzr3xvfx2zs0xhndmvm51z7z263"))))))
>> +
>> +(define-public python2-html5lib-0.9
>> +  (package-with-python2 python-html5lib-0.9))
>> +
>>  (define-public python-urwid
>>    (package
>>      (name "python-urwid")
>
> Doesn't python-bleach work with the newer version of python-html5lib?

Bleach has a recent commit that restricts the dependency version of
html5lib (it used to be >=0.9, not it’s >=0.9 && <=0.999), so I assume
that newer versions do not work.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 09/16] gnu: Add python-entrypoints.
  2016-11-01 12:20 ` [PATCH 09/16] gnu: Add python-entrypoints Ricardo Wurmus
@ 2016-11-01 16:18   ` Roel Janssen
  2016-11-02  8:23   ` Hartmut Goebel
  1 sibling, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 16:18 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-entrypoints, python2-entrypoints): New
> variables.
> ---
>  gnu/packages/python.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index a2d3d3c..621c4d0 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6719,6 +6719,61 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
>  (define-public python2-bleach
>    (package-with-python2 python-bleach))
>  
> +(define-public python-entrypoints
> +  (package
> +    (name "python-entrypoints")
> +    (version "0.2.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://github.com/takluyver/entrypoints/archive/"
> +                           version ".tar.gz"))
> +       (file-name (string-append name "-" version ".tar.gz"))
> +       (sha256
> +        (base32
> +         "0azqlkh3j0za080lsf5crnhaxx3c93k9dpv5ihkhf5cppgw5sjz5"))))
> +    (build-system python-build-system)
> +    ;; The package does not come with a setup.py file, so we have to install
> +    ;; the file along with a custom egg-info file.
> +    (arguments
> +     `(#:tests? #f
> +       #:phases
> +       (modify-phases %standard-phases
> +         (delete 'build)
> +         (replace 'install
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (python-version ((@@ (guix build python-build-system)
> +                                         get-python-version)
> +                                     (assoc-ref inputs "python")))
> +                    (target (string-append out "/lib/python" python-version
> +                                           "/site-packages/")))
> +               (mkdir-p target)
> +               (call-with-output-file (string-append target "entrypoints.egg-info")
> +                 (lambda (port)
> +                   (format port "\
> +Metadata-Version: 1.1
> +Name: entrypoints
> +Version: ~a
> +Summary: Discover and load entry points from installed packages
> +Author: Thomas Kluyver
> +Author-email: thomas@kluyver.me.uk
> +Classifier: License :: OSI Approved :: MIT License
> +" ,version)))

I wonder if this would be nicer to do in a separate patch..

> +               (install-file "entrypoints.py" target)
> +               #t))))))
> +    (home-page "https://github.com/takluyver/entrypoints")
> +    (synopsis "Discover and load entry points from installed Python packages")
> +    (description "Entry points are a way for Python packages to advertise
> +objects with some common interface.  The most common examples are
> +@code{console_scripts} entry points, which define shell commands by
> +identifying a Python function to run.  The @code{entrypoints} module contains
> +functions to find and load entry points.")
> +    (license license:expat)))
> +
> +(define-public python2-entrypoints
> +  (package-with-python2 python-entrypoints))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 10/16] gnu: Add python-nbconvert.
  2016-11-01 12:20 ` [PATCH 10/16] gnu: Add python-nbconvert Ricardo Wurmus
@ 2016-11-01 16:23   ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 16:23 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-nbconvert, python2-nbconvert): New
> variables.
> ---
>  gnu/packages/python.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 621c4d0..4463f50 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6774,6 +6774,51 @@ functions to find and load entry points.")
>  (define-public python2-entrypoints
>    (package-with-python2 python-entrypoints))
>  
> +(define-public python-nbconvert
> +  (package
> +    (name "python-nbconvert")
> +    (version "5.0.0b1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "nbconvert" version))
> +       (sha256
> +        (base32
> +         "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
> +    (build-system python-build-system)
> +    ;; The "bdist_egg" target is disabled by default, causing the installation
> +    ;; to fail.
> +    (arguments `(#:configure-flags (list "bdist_egg")))
> +    (propagated-inputs
> +     `(("python-bleach" ,python-bleach)
> +       ("python-entrypoints" ,python-entrypoints)
> +       ("python-jinja2" ,python-jinja2)
> +       ("python-jupyter-core" ,python-jupyter-core)
> +       ("python-mistune" ,python-mistune)
> +       ("python-nbformat" ,python-nbformat)
> +       ("python-pygments" ,python-pygments)
> +       ("python-setuptools" ,python-setuptools)
> +       ("python-traitlets" ,python-traitlets)))
> +    (home-page "http://jupyter.org")
> +    (synopsis "Converting Jupyter Notebooks")
> +    (description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
> +notebooks to various other formats via Jinja templates.  It allows you to
> +convert an @code{.ipynb} notebook file into various static formats including:
> +
> +@enumerate
> +@item HTML
> +@item LaTeX
> +@item PDF
> +@item Reveal JS
> +@item Markdown (md)
> +@item ReStructured Text (rst)
> +@item executable script
> +@end enumerate\n")
> +    (license license:bsd-3)))
> +
> +(define-public python2-nbconvert
> +  (package-with-python2 python-nbconvert))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 11/16] gnu: Add python-notebook.
  2016-11-01 12:20 ` [PATCH 11/16] gnu: Add python-notebook Ricardo Wurmus
@ 2016-11-01 18:10   ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:10 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-notebook, python2-notebook): New
> variables.
> ---
>  gnu/packages/python.scm | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4463f50..bd04c80 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6819,6 +6819,44 @@ convert an @code{.ipynb} notebook file into various static formats including:
>  (define-public python2-nbconvert
>    (package-with-python2 python-nbconvert))
>  
> +(define-public python-notebook
> +  (package
> +    (name "python-notebook")
> +    (version "4.2.3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "notebook" version))
> +              (sha256
> +               (base32
> +                "0laq5c2f21frq6xcdckgq7raqhznbjb0qs0357g612z87wyn1a9r"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (replace 'check
> +           (lambda _
> +             ;; HOME must be set for tests
> +             (setenv "HOME" "/tmp")
> +             (zero? (system* "nosetests")))))))
> +    (propagated-inputs
> +     `(("python-jupyter-core" ,python-jupyter-core)
> +       ("python-nbformat" ,python-nbformat)
> +       ("python-nbconvert" ,python-nbconvert)
> +       ("python-ipython" ,python-ipython)))
> +    (native-inputs
> +     `(("python-nose" ,python-nose)
> +       ("python-sphinx" ,python-sphinx)
> +       ("python-requests" ,python-requests)))
> +    (home-page "http://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 python2-notebook
> +  (package-with-python2 python-notebook))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 12/16] gnu: Add python-widgetsnbextension.
  2016-11-01 12:20 ` [PATCH 12/16] gnu: Add python-widgetsnbextension Ricardo Wurmus
@ 2016-11-01 18:11   ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:11 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-widgetsnbextension,
> python2-widgetsnbextension): New variables.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index bd04c80..2611154 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6857,6 +6857,32 @@ interactive computing.")
>  (define-public python2-notebook
>    (package-with-python2 python-notebook))
>  
> +(define-public python-widgetsnbextension
> +  (package
> +    (name "python-widgetsnbextension")
> +    (version "1.2.6")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "widgetsnbextension" version))
> +       (sha256
> +        (base32
> +         "0lff2mrwrgsa1mxmwx3phl9xvy0jqfpg6khbmxy53jbq56rwy666"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-notebook" ,python-notebook)))
> +    (native-inputs
> +     `(("python-nose" ,python-nose)
> +       ("python-setuptools" ,python-setuptools)))
> +    (home-page "http://ipython.org")
> +    (synopsis "IPython HTML widgets for Jupyter")
> +    (description "This package provides interactive HTML widgets for Jupyter
> +notebooks.")
> +    (license license:bsd-3)))
> +
> +(define-public python2-widgetsnbextension
> +  (package-with-python2 python-widgetsnbextension))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 13/16] gnu: Add python-ipywidgets.
  2016-11-01 12:20 ` [PATCH 13/16] gnu: Add python-ipywidgets Ricardo Wurmus
@ 2016-11-01 18:12   ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:12 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-ipywidgets, python2-ipywidgets): New
> variables.
> ---
>  gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 2611154..50a0edd 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6883,6 +6883,37 @@ notebooks.")
>  (define-public python2-widgetsnbextension
>    (package-with-python2 python-widgetsnbextension))
>  
> +(define-public python-ipywidgets
> +  (package
> +    (name "python-ipywidgets")
> +    (version "5.2.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "ipywidgets" version))
> +       (sha256
> +        (base32
> +         "1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms"))))
> +    (build-system python-build-system)
> +    ;; FIXME: it's not clear how to run the tests.
> +    (arguments `(#:tests? #f))

Same as one of the earlier patches.  Any ideas to run the tests?  It's
always nice to have the tests working, even though I don't know how
either.

> +    (propagated-inputs
> +     `(("python-ipykernel" ,python-ipykernel)
> +       ("python-ipython" ,python-ipython)
> +       ("python-setuptools" ,python-setuptools)
> +       ("python-traitlets" ,python-traitlets)
> +       ("python-widgetsnbextension" ,python-widgetsnbextension)))
> +    (home-page "http://ipython.org")
> +    (synopsis "IPython HTML widgets for Jupyter")
> +    (description "Ipywidgets are interactive HTML widgets for Jupyter
> +notebooks and the IPython kernel.  Notebooks come alive when interactive
> +widgets are used.  Users gain control of their data and can visualize changes
> +in the data.")
> +    (license license:bsd-3)))
> +
> +(define-public python2-ipywidgets
> +  (package-with-python2 python-ipywidgets))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

LGTM!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 14/16] gnu: Add python-jupyter-console.
  2016-11-01 12:20 ` [PATCH 14/16] gnu: Add python-jupyter-console Ricardo Wurmus
@ 2016-11-01 18:15   ` Roel Janssen
  2016-11-04 16:47     ` Ricardo Wurmus
  0 siblings, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:15 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-jupyter-console,
> python2-jupyter-console): New variable.
> ---
>  gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 50a0edd..519b93d 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6914,6 +6914,35 @@ in the data.")
>  (define-public python2-ipywidgets
>    (package-with-python2 python-ipywidgets))
>  
> +(define-public python-jupyter-console
> +  (package
> +    (name "python-jupyter-console")
> +    (version "5.0.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "jupyter_console" version))
> +       (sha256
> +        (base32
> +         "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"))))
> +    (build-system python-build-system)
> +    ;; FIXME: it's not clear how to run the tests.
> +    (arguments `(#:tests? #f))
> +    (propagated-inputs
> +     `(("python-ipykernel" ,python-ipykernel)
> +       ("python-ipython" ,python-ipython)
> +       ("python-jupyter-client" ,python-jupyter-client)
> +       ("python-prompt-toolkit" ,python-prompt-toolkit)
> +       ("python-pygments" ,python-pygments)
> +       ("python-setuptools" ,python-setuptools)))
> +    (home-page "https://jupyter.org")
> +    (synopsis "Jupyter terminal console")
> +    (description "Jupyter terminal console")

How about:
"This package provides a terminal window in the browser to directly
access the machine Jupyter is running on."

> +    (license license:bsd-3)))
> +
> +(define-public python2-jupyter-console
> +  (package-with-python2 python-jupyter-console))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

Otherwise LGTM.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 15/16] gnu: python-ipython: Update to 4.0.0.
  2016-11-01 12:20 ` [PATCH 15/16] gnu: python-ipython: Update to 4.0.0 Ricardo Wurmus
@ 2016-11-01 18:18   ` Roel Janssen
  2016-11-04 17:10     ` Ricardo Wurmus
  0 siblings, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:18 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (python-ipython): Update to 4.0.0.
>   [inputs]: Keep only "readline" and "which"; move the remaining inputs
>   to propagated-inputs, except for "python-requests" and "python-nose"
>   which are moved to native-inputs.
>   [propagated-inputs]: Add python-pexpect, python-pickleshare,
>   python-simplegeneric, python-traitlets, python-ipykernel.
>   [native-inputs]: Add "python-testpath".
>   [arguments]: Enable building of HTML documentation.
> ---
>  gnu/packages/python.scm | 36 ++++++++++++++++++++----------------
>  1 file changed, 20 insertions(+), 16 deletions(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 519b93d..12d38f1 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4628,34 +4628,38 @@ tools for mocking system commands and recording calls to those.")
>  (define-public python-ipython
>    (package
>      (name "python-ipython")
> -    (version "3.2.1")
> +    (version "4.0.0")
>      (source
>       (origin
>         (method url-fetch)
> -       (patches (search-patches "python-ipython-inputhook-ctype.patch"))
> -       (uri (string-append "https://pypi.python.org/packages/source/i/"
> -                           "ipython/ipython-" version ".tar.gz"))
> +       (uri (pypi-uri "ipython" version ".tar.gz"))

Nice!

>         (sha256
> -        (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"))))
> +        (base32 "1npl8g6bfsff9j938ypx0q5fyzy2l8lp0jl8skjjj2zv0z27dlig"))))
>      (build-system python-build-system)
>      (outputs '("out" "doc"))
>      (propagated-inputs
>       `(("python-pyzmq" ,python-pyzmq)
> -       ("python-terminado" ,python-terminado)))
> -    (inputs
> -     `(("readline" ,readline)
> -       ("which" ,which)
> +       ("python-terminado" ,python-terminado)
>         ("python-matplotlib" ,python-matplotlib)
>         ("python-numpy" ,python-numpy)
>         ("python-numpydoc" ,python-numpydoc)
>         ("python-jinja2" ,python-jinja2)
>         ("python-mistune" ,python-mistune)
> +       ("python-pexpect" ,python-pexpect)
> +       ("python-pickleshare" ,python-pickleshare)
> +       ("python-simplegeneric" ,python-simplegeneric)
>         ("python-jsonschema" ,python-jsonschema)
> -       ("python-pygments" ,python-pygments)
> -       ("python-requests" ,python-requests) ;; for tests
> -       ("python-nose" ,python-nose)))
> +       ("python-traitlets" ,python-traitlets)
> +       ("python-ipykernel" ,python-ipykernel)
> +       ("python-pygments" ,python-pygments)))
> +    (inputs
> +     `(("readline" ,readline)
> +       ("which" ,which)))

I think it really is necessary to propagate these, isn't it?

>      (native-inputs
>       `(("pkg-config" ,pkg-config)
> +       ("python-requests" ,python-requests) ;; for tests
> +       ("python-testpath" ,python-testpath)
> +       ("python-nose" ,python-nose)
>         ("python-sphinx" ,python-sphinx)
>         ("texlive" ,texlive)
>         ("texinfo" ,texinfo)
> @@ -4674,13 +4678,13 @@ tools for mocking system commands and recording calls to those.")
>                     (examples (string-append doc "/examples")))
>                (setenv "LANG" "en_US.utf8")
>                (with-directory-excursion "docs"
> -                ;; FIXME: html and pdf fail to build
> -                ;; (system* "make" "html")
> -                ;; (system* "make" "pdf" "PAPER=a4")
> +                ;; FIXME: pdf fails to build
> +                ;;(system* "make" "pdf" "PAPER=a4")
> +                (system* "make" "html")

The last line isn't absolutely necessary to, but I it doesn't really
matter and I see why you'd want to not have a space there.
Nevertheless, you could shorten the patch by two lines if you feel like
doing so.. :)

>                  (system* "make" "info"))
>                (copy-recursively "docs/man" man1)
>                (copy-recursively "examples" examples)
> -              ;; (copy-recursively "docs/build/html" html)
> +              (copy-recursively "docs/build/html" html)
>                ;; (copy-file "docs/build/latex/ipython.pdf"
>                ;;            (string-append doc "/ipython.pdf"))
>                (mkdir-p info)

LGTM.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 16/16] gnu: Add jupyter.
  2016-11-01 12:20 ` [PATCH 16/16] gnu: Add jupyter Ricardo Wurmus
@ 2016-11-01 18:20   ` Roel Janssen
  2016-11-04 20:26     ` Ricardo Wurmus
  0 siblings, 1 reply; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:20 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> * gnu/packages/python.scm (jupyter): New variable.
> ---
>  gnu/packages/python.scm | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 12d38f1..a26a129 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -6947,6 +6947,36 @@ in the data.")
>  (define-public python2-jupyter-console
>    (package-with-python2 python-jupyter-console))
>  
> +(define-public jupyter
> +  (package
> +    (name "jupyter")
> +    (version "1.0.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "jupyter" version))
> +       (sha256
> +        (base32
> +         "0pwf3pminkzyzgx5kcplvvbvwrrzd3baa7lmh96f647k30rlpp6r"))))
> +    (build-system python-build-system)
> +    ;; FIXME: it's not clear how to run the tests.
> +    (arguments `(#:tests? #f))
> +    (propagated-inputs
> +     `(("python-ipykernel" ,python-ipykernel)
> +       ("python-ipywidgets" ,python-ipywidgets)
> +       ("python-jupyter-console" ,python-jupyter-console)
> +       ("python-nbconvert" ,python-nbconvert)
> +       ("python-notebook" ,python-notebook)
> +       ("python-setuptools" ,python-setuptools)))
> +    (home-page "http://jupyter.org")
> +    (synopsis "Web application for interactive documents")
> +    (description
> +     "The Jupyter Notebook is a web application that allows you to create and
> +share documents that contain live code, equations, visualizations and
> +explanatory text.  Uses include: data cleaning and transformation, numerical
> +simulation, statistical modeling, machine learning and much more.")
> +    (license license:bsd-3)))
> +
>  (define-public python-chardet
>    (package
>      (name "python-chardet")

LGTM!

And that concludes this patch series.  Thanks a lot for adding Jupyter.
Like I said, I attempted to do it, but I got stuck / ran out of time to
implement it before I needed it.  It's great to see that it will be
added to GNU Guix soon.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 06/16] gnu: Add python-html5lib-0.9.
  2016-11-01 14:31     ` Ricardo Wurmus
@ 2016-11-01 18:24       ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-01 18:24 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-html5lib-0.9, python2-html5lib-0.9):
>>> New variables.
>>> ---
>>>  gnu/packages/python.scm | 16 ++++++++++++++++
>>>  1 file changed, 16 insertions(+)
>>>
>>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>>> index e6f537e..ed736ff 100644
>>> --- a/gnu/packages/python.scm
>>> +++ b/gnu/packages/python.scm
>>> @@ -4789,6 +4789,22 @@ and written in Python.")
>>>  (define-public python2-html5lib
>>>    (package-with-python2 python-html5lib))
>>>  
>>> +;; Needed for python-bleach, a dependency of python-notebook
>>> +(define-public python-html5lib-0.9
>>> +  (package
>>> +    (inherit python-html5lib)
>>> +    (version "0.999")
>>> +    (source
>>> +     (origin
>>> +       (method url-fetch)
>>> +       (uri (pypi-uri "html5lib" version))
>>> +       (sha256
>>> +        (base32
>>> +         "17n4zfsj6ynmbwdwviywmj8r6nzr3xvfx2zs0xhndmvm51z7z263"))))))
>>> +
>>> +(define-public python2-html5lib-0.9
>>> +  (package-with-python2 python-html5lib-0.9))
>>> +
>>>  (define-public python-urwid
>>>    (package
>>>      (name "python-urwid")
>>
>> Doesn't python-bleach work with the newer version of python-html5lib?
>
> Bleach has a recent commit that restricts the dependency version of
> html5lib (it used to be >=0.9, not it’s >=0.9 && <=0.999), so I assume
> that newer versions do not work.

Right.  Go on then :)

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 05/16] gnu: Add python-testpath.
  2016-11-01 12:20 ` [PATCH 05/16] gnu: Add python-testpath Ricardo Wurmus
  2016-11-01 13:36   ` Roel Janssen
@ 2016-11-02  8:23   ` Hartmut Goebel
  2016-11-04 10:25     ` Ricardo Wurmus
  1 sibling, 1 reply; 55+ messages in thread
From: Hartmut Goebel @ 2016-11-02  8:23 UTC (permalink / raw)
  To: guix-devel

Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
> +                                (assoc-ref outputs "out")
> +                                "/lib/python"
> +                                (string-take (string-take-right
> +                                              (assoc-ref inputs "python") 5) 3)
> +                                "/site-packages/testpath")))

python-build-system contains a function "python-version", which would
give cleaner code here. Unfortunatly this function is private. But the
new python build system exports a function "site-packages" which does
exactly this.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 07/16] gnu: Add python-nbformat.
  2016-11-01 12:20 ` [PATCH 07/16] gnu: Add python-nbformat Ricardo Wurmus
  2016-11-01 14:27   ` Roel Janssen
@ 2016-11-02  8:23   ` Hartmut Goebel
  2016-11-04 10:28     ` Ricardo Wurmus
  1 sibling, 1 reply; 55+ messages in thread
From: Hartmut Goebel @ 2016-11-02  8:23 UTC (permalink / raw)
  To: guix-devel

Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
> +    (propagated-inputs
> +     `(("python-ipython-genutils" ,python-ipython-genutils)
> +       ("python-jsonschema" ,python-jsonschema)
> +       ("python-jupyter-core" ,python-jupyter-core)
> +       ("python-setuptools" ,python-setuptools)
Why is setuptools required at run-time?

This question also belongs to the other packages where setuptools are a
propagated-input.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 09/16] gnu: Add python-entrypoints.
  2016-11-01 12:20 ` [PATCH 09/16] gnu: Add python-entrypoints Ricardo Wurmus
  2016-11-01 16:18   ` Roel Janssen
@ 2016-11-02  8:23   ` Hartmut Goebel
  2016-11-04 16:54     ` Ricardo Wurmus
  1 sibling, 1 reply; 55+ messages in thread
From: Hartmut Goebel @ 2016-11-02  8:23 UTC (permalink / raw)
  To: guix-devel

Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
> +       (modify-phases %standard-phases
> +         (delete 'build)
> +         (replace 'install
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (python-version ((@@ (guix build python-build-system)
> +                                         get-python-version)
> +                                     (assoc-ref inputs "python")))
> +                    (target (string-append out "/lib/python" python-version
> +                                           "/site-packages/")))
> +               (mkdir-p target)
> +               (call-with-output-file (string-append target "entrypoints.egg-info")
> +                 (lambda (port)
> +                   (format port "\
> +Metadata-Version: 1.1
> +Name: entrypoints
> +Version: ~a
> +Summary: Discover and load entry points from installed packages
> +Author: Thomas Kluyver
> +Author-email: thomas@kluyver.me.uk
> +Classifier: License :: OSI Approved :: MIT License
> +" ,version)))
> +               (install-file "entrypoints.py" target)
> +               #t))))))

Instread of this I recommend adding a minimal setup.py and let the
build-system do the job. This would be more future proof.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 02/16] gnu: Add python-jupyter-core.
  2016-11-01 13:22   ` Roel Janssen
@ 2016-11-04 10:21     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:21 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-jupyter-core, python2-jupyter-core):
>> New variables.
>> ---
>>  gnu/packages/python.scm | 25 +++++++++++++++++++++++++
>>  1 file changed, 25 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index c612846..da16647 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4500,6 +4500,31 @@ without using the configuration machinery.")
>>  (define-public python2-traitlets
>>    (package-with-python2 python-traitlets))
>>  
>> +(define-public python-jupyter-core
>> +  (package
>> +    (name "python-jupyter-core")
>> +    (version "4.2.0")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (string-append (pypi-uri "jupyter_core" version)))
>> +       (sha256
>> +        (base32
>> +         "177d9csqldzhsh6xs1p4nf6lzvhzyg6gklqjf69lxgxyadx87v24"))))
>> +    (build-system python-build-system)
>> +    ;; FIXME: not sure how to run the tests
>> +    (arguments `(#:tests? #f))
>
> Any idea?

This might be fixed by upgrading pytest, but I haven’t played with this
yet.  Will do so once we have the new pytest.

Another common problem with these Jupyter packages is that many of the
tests are integration tests, so they depend on many other Jupyter
packages, causing dependency loops.

It’s not pretty.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 03/16] gnu: Add python-jupyter-client.
  2016-11-01 13:27   ` Roel Janssen
@ 2016-11-04 10:22     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:22 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-jupyter-client,
>> python2-jupyter-client): New variables.
>> ---
>>  gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++
>>  1 file changed, 32 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index da16647..09ce599 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4525,6 +4525,38 @@ without using the configuration machinery.")
>>  (define-public python2-jupyter-core
>>    (package-with-python2 python-jupyter-core))
>>  
>> +(define-public python-jupyter-client
>> +  (package
>> +    (name "python-jupyter-client")
>> +    (version "4.4.0")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "jupyter_client" version))
>> +       (sha256
>> +        (base32
>> +         "1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"))))
>> +    (build-system python-build-system)
>> +    ;; Tests fail because of missing native python kernel which I assume is
>> +    ;; provided by the ipython package, which we cannot use because it would
>> +    ;; cause a dependency cycle.
>> +    (arguments `(#:tests? #f))
>> +    (propagated-inputs
>> +     `(("python-pyzmq" ,python-pyzmq)
>> +       ("python-traitlets" ,python-traitlets)
>> +       ("python-jupyter-core" ,python-jupyter-core)))
>> +    (home-page "http://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 kernelspecs for use with Jupyter frontends.")
>> +    (license license:bsd-3)))
>
> Is "kernelspec" one word?  And should "kernelspecs" be "@code{kernelspec}s"?

It probably should be wrapped in @code{}.  Will do this before pushing.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 05/16] gnu: Add python-testpath.
  2016-11-01 13:36   ` Roel Janssen
@ 2016-11-04 10:25     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:25 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-testpath, python2-testpath): New
>> variables.
>> ---
>>  gnu/packages/python.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 42 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index 9785b5e..e6f537e 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4583,6 +4583,48 @@ installing kernelspecs for use with Jupyter frontends.")
>>  (define-public python2-ipykernel
>>    (package-with-python2 python-ipykernel))
>>  
>> +
>
> I don't think two blank lines are needed here.

You’re right!  That’s a rebase error.  Due to the number of dependency
cycles I had the packages in a different order before.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 05/16] gnu: Add python-testpath.
  2016-11-02  8:23   ` Hartmut Goebel
@ 2016-11-04 10:25     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:25 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel


Hartmut Goebel <h.goebel@crazy-compilers.com> writes:

> Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
>> +                                (assoc-ref outputs "out")
>> +                                "/lib/python"
>> +                                (string-take (string-take-right
>> +                                              (assoc-ref inputs "python") 5) 3)
>> +                                "/site-packages/testpath")))
>
> python-build-system contains a function "python-version", which would
> give cleaner code here. Unfortunatly this function is private. But the
> new python build system exports a function "site-packages" which does
> exactly this.

That’s good to know!  I’m looking forward to updating the packages that
currently contain snippets like the above.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 07/16] gnu: Add python-nbformat.
  2016-11-01 14:27   ` Roel Janssen
@ 2016-11-04 10:27     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:27 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-nbformat, python2-nbformat): New
>> variables.
>> ---
>>  gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index ed736ff..590ba43 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -6665,6 +6665,34 @@ Debian-related files, such as:
>>  (define-public python2-debian
>>    (package-with-python2 python-debian))
>>  
>> +(define-public python-nbformat
>> +  (package
>> +    (name "python-nbformat")
>> +    (version "4.1.0")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "nbformat" version))
>> +       (sha256
>> +        (base32
>> +         "0mq8iki3d4mnx7wy05phss7x98mds4fqydin8lcagidp1knw1xnv"))))
>> +    (build-system python-build-system)
>> +    (arguments `(#:tests? #f)) ; no test target
>> +    (propagated-inputs
>> +     `(("python-ipython-genutils" ,python-ipython-genutils)
>> +       ("python-jsonschema" ,python-jsonschema)
>> +       ("python-jupyter-core" ,python-jupyter-core)
>> +       ("python-setuptools" ,python-setuptools)
>> +       ("python-traitlets" ,python-traitlets)))
>> +    (home-page "http://jupyter.org")
>> +    (synopsis "Jupyter Notebook format")
>
> Notebook or notebook?

Capitalised because it’s a proper name.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 07/16] gnu: Add python-nbformat.
  2016-11-02  8:23   ` Hartmut Goebel
@ 2016-11-04 10:28     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:28 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel


Hartmut Goebel <h.goebel@crazy-compilers.com> writes:

> Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
>> +    (propagated-inputs
>> +     `(("python-ipython-genutils" ,python-ipython-genutils)
>> +       ("python-jsonschema" ,python-jsonschema)
>> +       ("python-jupyter-core" ,python-jupyter-core)
>> +       ("python-setuptools" ,python-setuptools)
> Why is setuptools required at run-time?
>
> This question also belongs to the other packages where setuptools are a
> propagated-input.

I think you’re right about this.  I’ll rebuild the packages with
setuptools as a native input.

Thanks!

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 08/16] gnu: Add python-bleach.
  2016-11-01 13:59   ` Roel Janssen
@ 2016-11-04 10:32     ` Ricardo Wurmus
  2016-11-04 13:01       ` Roel Janssen
  0 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 10:32 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-bleach, python2-bleach): New
>> variables.
>> ---
>>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>>  1 file changed, 26 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index 590ba43..a2d3d3c 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
>>  (define-public python2-nbformat
>>    (package-with-python2 python-nbformat))
>>  
>> +(define-public python-bleach
>> +  (package
>> +    (name "python-bleach")
>> +    (version "1.4.3")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "bleach" version))
>> +       (sha256
>> +        (base32
>> +         "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"))))
>> +    (build-system python-build-system)
>> +    (propagated-inputs
>> +     `(("python-html5lib" ,python-html5lib-0.9)
>
> If you add the following snippet, it does not need this older version of
> html5lib to build.
>
> (arguments
>      `(#:phases
>        (modify-phases %standard-phases
>          (add-after 'unpack 'fix-html5lib-version
>            (lambda* (#:key inputs #:allow-other-keys)
>              (substitute* "setup.py"
>                (("'html5lib>=0.999,<0.99999999',") "'html5lib',")))))))
>
> I don't know whether this modification is problematic later on when
> running Jupyter (I'm not there yet).

I’d rather not do this, because they purposefully restricted the range.
It used to be less restrictive, so I’m assuming that there’s a good
reason for not using the latest version of html5lib.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 08/16] gnu: Add python-bleach.
  2016-11-04 10:32     ` Ricardo Wurmus
@ 2016-11-04 13:01       ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-04 13:01 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-bleach, python2-bleach): New
>>> variables.
>>> ---
>>>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>>>  1 file changed, 26 insertions(+)
>>>
>>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>>> index 590ba43..a2d3d3c 100644
>>> --- a/gnu/packages/python.scm
>>> +++ b/gnu/packages/python.scm
>>> @@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
>>>  (define-public python2-nbformat
>>>    (package-with-python2 python-nbformat))
>>>  
>>> +(define-public python-bleach
>>> +  (package
>>> +    (name "python-bleach")
>>> +    (version "1.4.3")
>>> +    (source
>>> +     (origin
>>> +       (method url-fetch)
>>> +       (uri (pypi-uri "bleach" version))
>>> +       (sha256
>>> +        (base32
>>> +         "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"))))
>>> +    (build-system python-build-system)
>>> +    (propagated-inputs
>>> +     `(("python-html5lib" ,python-html5lib-0.9)
>>
>> If you add the following snippet, it does not need this older version of
>> html5lib to build.
>>
>> (arguments
>>      `(#:phases
>>        (modify-phases %standard-phases
>>          (add-after 'unpack 'fix-html5lib-version
>>            (lambda* (#:key inputs #:allow-other-keys)
>>              (substitute* "setup.py"
>>                (("'html5lib>=0.999,<0.99999999',") "'html5lib',")))))))
>>
>> I don't know whether this modification is problematic later on when
>> running Jupyter (I'm not there yet).
>
> I’d rather not do this, because they purposefully restricted the range.
> It used to be less restrictive, so I’m assuming that there’s a good
> reason for not using the latest version of html5lib.

Yes, I agree.  Please ignore my suggestion.  I submitted this before you
explained they restricted the version requirement deliberately.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 14/16] gnu: Add python-jupyter-console.
  2016-11-01 18:15   ` Roel Janssen
@ 2016-11-04 16:47     ` Ricardo Wurmus
  2016-11-04 17:40       ` Roel Janssen
  2016-11-04 17:49       ` Hartmut Goebel
  0 siblings, 2 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 16:47 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-jupyter-console,
>> python2-jupyter-console): New variable.
>> ---
>>  gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++
>>  1 file changed, 29 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index 50a0edd..519b93d 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -6914,6 +6914,35 @@ in the data.")
>>  (define-public python2-ipywidgets
>>    (package-with-python2 python-ipywidgets))
>>  
>> +(define-public python-jupyter-console
>> +  (package
>> +    (name "python-jupyter-console")
>> +    (version "5.0.0")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "jupyter_console" version))
>> +       (sha256
>> +        (base32
>> +         "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"))))
>> +    (build-system python-build-system)
>> +    ;; FIXME: it's not clear how to run the tests.
>> +    (arguments `(#:tests? #f))
>> +    (propagated-inputs
>> +     `(("python-ipykernel" ,python-ipykernel)
>> +       ("python-ipython" ,python-ipython)
>> +       ("python-jupyter-client" ,python-jupyter-client)
>> +       ("python-prompt-toolkit" ,python-prompt-toolkit)
>> +       ("python-pygments" ,python-pygments)
>> +       ("python-setuptools" ,python-setuptools)))
>> +    (home-page "https://jupyter.org")
>> +    (synopsis "Jupyter terminal console")
>> +    (description "Jupyter terminal console")
>
> How about:
> "This package provides a terminal window in the browser to directly
> access the machine Jupyter is running on."

Oh, I forgot to edit the description here.  I’ve changed it to this:

    "This package provides a terminal-based console frontend for Jupyter
     kernels.  It also allows for console-based interaction with
     non-Python Jupyter kernels such as IJulia and IRKernel."

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 09/16] gnu: Add python-entrypoints.
  2016-11-02  8:23   ` Hartmut Goebel
@ 2016-11-04 16:54     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 16:54 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel


Hartmut Goebel <h.goebel@crazy-compilers.com> writes:

> Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
>> +       (modify-phases %standard-phases
>> +         (delete 'build)
>> +         (replace 'install
>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let* ((out (assoc-ref outputs "out"))
>> +                    (python-version ((@@ (guix build python-build-system)
>> +                                         get-python-version)
>> +                                     (assoc-ref inputs "python")))
>> +                    (target (string-append out "/lib/python" python-version
>> +                                           "/site-packages/")))
>> +               (mkdir-p target)
>> +               (call-with-output-file (string-append target "entrypoints.egg-info")
>> +                 (lambda (port)
>> +                   (format port "\
>> +Metadata-Version: 1.1
>> +Name: entrypoints
>> +Version: ~a
>> +Summary: Discover and load entry points from installed packages
>> +Author: Thomas Kluyver
>> +Author-email: thomas@kluyver.me.uk
>> +Classifier: License :: OSI Approved :: MIT License
>> +" ,version)))
>> +               (install-file "entrypoints.py" target)
>> +               #t))))))
>
> Instread of this I recommend adding a minimal setup.py and let the
> build-system do the job. This would be more future proof.

That’s a good idea.  I did this and it really simplified the patch a
lot.  Thanks!

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 15/16] gnu: python-ipython: Update to 4.0.0.
  2016-11-01 18:18   ` Roel Janssen
@ 2016-11-04 17:10     ` Ricardo Wurmus
  2016-11-04 17:43       ` Roel Janssen
  0 siblings, 1 reply; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 17:10 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-ipython): Update to 4.0.0.
>>   [inputs]: Keep only "readline" and "which"; move the remaining inputs
>>   to propagated-inputs, except for "python-requests" and "python-nose"
>>   which are moved to native-inputs.
>>   [propagated-inputs]: Add python-pexpect, python-pickleshare,
>>   python-simplegeneric, python-traitlets, python-ipykernel.
>>   [native-inputs]: Add "python-testpath".
>>   [arguments]: Enable building of HTML documentation.

I noticed that I also needed to delete the patch and report it here.
Also fixed the indentation.

>> +    (inputs
>> +     `(("readline" ,readline)
>> +       ("which" ,which)))
>
> I think it really is necessary to propagate these, isn't it?

Neither of these need propagation.  “readline” is checked for by
setup.py, and for “which” we have a build phase to embed the reference
to the “which” executable.

>>      (native-inputs
>>       `(("pkg-config" ,pkg-config)
>> +       ("python-requests" ,python-requests) ;; for tests
>> +       ("python-testpath" ,python-testpath)
>> +       ("python-nose" ,python-nose)
>>         ("python-sphinx" ,python-sphinx)
>>         ("texlive" ,texlive)
>>         ("texinfo" ,texinfo)
>> @@ -4674,13 +4678,13 @@ tools for mocking system commands and recording calls to those.")
>>                     (examples (string-append doc "/examples")))
>>                (setenv "LANG" "en_US.utf8")
>>                (with-directory-excursion "docs"
>> -                ;; FIXME: html and pdf fail to build
>> -                ;; (system* "make" "html")
>> -                ;; (system* "make" "pdf" "PAPER=a4")
>> +                ;; FIXME: pdf fails to build
>> +                ;;(system* "make" "pdf" "PAPER=a4")
>> +                (system* "make" "html")
>
> The last line isn't absolutely necessary to, but I it doesn't really
> matter and I see why you'd want to not have a space there.
> Nevertheless, you could shorten the patch by two lines if you feel like
> doing so.. :)

Are you saying that “make html” isn’t needed to build the html docs?  I
think it is.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 14/16] gnu: Add python-jupyter-console.
  2016-11-04 16:47     ` Ricardo Wurmus
@ 2016-11-04 17:40       ` Roel Janssen
  2016-11-04 17:49       ` Hartmut Goebel
  1 sibling, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-04 17:40 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-jupyter-console,
>>> python2-jupyter-console): New variable.
>>> ---
>>>  gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++
>>>  1 file changed, 29 insertions(+)
>>>
>>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>>> index 50a0edd..519b93d 100644
>>> --- a/gnu/packages/python.scm
>>> +++ b/gnu/packages/python.scm
>>> @@ -6914,6 +6914,35 @@ in the data.")
>>>  (define-public python2-ipywidgets
>>>    (package-with-python2 python-ipywidgets))
>>>  
>>> +(define-public python-jupyter-console
>>> +  (package
>>> +    (name "python-jupyter-console")
>>> +    (version "5.0.0")
>>> +    (source
>>> +     (origin
>>> +       (method url-fetch)
>>> +       (uri (pypi-uri "jupyter_console" version))
>>> +       (sha256
>>> +        (base32
>>> +         "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"))))
>>> +    (build-system python-build-system)
>>> +    ;; FIXME: it's not clear how to run the tests.
>>> +    (arguments `(#:tests? #f))
>>> +    (propagated-inputs
>>> +     `(("python-ipykernel" ,python-ipykernel)
>>> +       ("python-ipython" ,python-ipython)
>>> +       ("python-jupyter-client" ,python-jupyter-client)
>>> +       ("python-prompt-toolkit" ,python-prompt-toolkit)
>>> +       ("python-pygments" ,python-pygments)
>>> +       ("python-setuptools" ,python-setuptools)))
>>> +    (home-page "https://jupyter.org")
>>> +    (synopsis "Jupyter terminal console")
>>> +    (description "Jupyter terminal console")
>>
>> How about:
>> "This package provides a terminal window in the browser to directly
>> access the machine Jupyter is running on."
>
> Oh, I forgot to edit the description here.  I’ve changed it to this:
>
>     "This package provides a terminal-based console frontend for Jupyter
>      kernels.  It also allows for console-based interaction with
>      non-Python Jupyter kernels such as IJulia and IRKernel."

Nice!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 15/16] gnu: python-ipython: Update to 4.0.0.
  2016-11-04 17:10     ` Ricardo Wurmus
@ 2016-11-04 17:43       ` Roel Janssen
  0 siblings, 0 replies; 55+ messages in thread
From: Roel Janssen @ 2016-11-04 17:43 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel


Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-ipython): Update to 4.0.0.
>>>   [inputs]: Keep only "readline" and "which"; move the remaining inputs
>>>   to propagated-inputs, except for "python-requests" and "python-nose"
>>>   which are moved to native-inputs.
>>>   [propagated-inputs]: Add python-pexpect, python-pickleshare,
>>>   python-simplegeneric, python-traitlets, python-ipykernel.
>>>   [native-inputs]: Add "python-testpath".
>>>   [arguments]: Enable building of HTML documentation.
>
> I noticed that I also needed to delete the patch and report it here.
> Also fixed the indentation.
>
>>> +    (inputs
>>> +     `(("readline" ,readline)
>>> +       ("which" ,which)))
>>
>> I think it really is necessary to propagate these, isn't it?
>
> Neither of these need propagation.  “readline” is checked for by
> setup.py, and for “which” we have a build phase to embed the reference
> to the “which” executable.
>
>>>      (native-inputs
>>>       `(("pkg-config" ,pkg-config)
>>> +       ("python-requests" ,python-requests) ;; for tests
>>> +       ("python-testpath" ,python-testpath)
>>> +       ("python-nose" ,python-nose)
>>>         ("python-sphinx" ,python-sphinx)
>>>         ("texlive" ,texlive)
>>>         ("texinfo" ,texinfo)
>>> @@ -4674,13 +4678,13 @@ tools for mocking system commands and recording calls to those.")
>>>                     (examples (string-append doc "/examples")))
>>>                (setenv "LANG" "en_US.utf8")
>>>                (with-directory-excursion "docs"
>>> -                ;; FIXME: html and pdf fail to build
>>> -                ;; (system* "make" "html")
>>> -                ;; (system* "make" "pdf" "PAPER=a4")
>>> +                ;; FIXME: pdf fails to build
>>> +                ;;(system* "make" "pdf" "PAPER=a4")
>>> +                (system* "make" "html")
>>
>> The last line isn't absolutely necessary to, but I it doesn't really
>> matter and I see why you'd want to not have a space there.
>> Nevertheless, you could shorten the patch by two lines if you feel like
>> doing so.. :)
>
> Are you saying that “make html” isn’t needed to build the html docs?  I
> think it is.

No!  Sorry for the confusion, it isn't the last line I meant.. If you
would leave:
;; (system* "make" "pdf" "PAPER=a4")

like that, it saves two lines in the patch.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 14/16] gnu: Add python-jupyter-console.
  2016-11-04 16:47     ` Ricardo Wurmus
  2016-11-04 17:40       ` Roel Janssen
@ 2016-11-04 17:49       ` Hartmut Goebel
  1 sibling, 0 replies; 55+ messages in thread
From: Hartmut Goebel @ 2016-11-04 17:49 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 807 bytes --]

Am 04.11.2016 um 17:47 schrieb Ricardo Wurmus:
> Oh, I forgot to edit the description here.

I was already wondering :-)
>   I’ve changed it to this:
>
>     "This package provides a terminal-based console frontend for Jupyter
>      kernels.  It also allows for console-based interaction with
>      non-Python Jupyter kernels such as IJulia and IRKernel."

LGTM

-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog:
http://www.goebel-consult.de/blog/kleiner-erfahrungsbericht-mit-online-ocr-diensten

Kolumne:
http://www.cissp-gefluester.de/2011-10-aus-der-schublade-in-die-koepfe


[-- Attachment #1.2: 0xBF773B65.asc --]
[-- Type: application/pgp-keys, Size: 15087 bytes --]

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 2430 bytes --]

^ permalink raw reply	[flat|nested] 55+ messages in thread

* Re: [PATCH 16/16] gnu: Add jupyter.
  2016-11-01 18:20   ` Roel Janssen
@ 2016-11-04 20:26     ` Ricardo Wurmus
  0 siblings, 0 replies; 55+ messages in thread
From: Ricardo Wurmus @ 2016-11-04 20:26 UTC (permalink / raw)
  To: Roel Janssen; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> And that concludes this patch series.  Thanks a lot for adding Jupyter.
> Like I said, I attempted to do it, but I got stuck / ran out of time to
> implement it before I needed it.  It's great to see that it will be
> added to GNU Guix soon.

Thank you very much for the thorough review!  I’ve pushed the patches to
master with the changes you and Hartmut suggested.

~~ Ricardo

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2016-11-04 20:26 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-01 12:20 [PATCH 00/16] Add Jupyter Ricardo Wurmus
2016-11-01 12:20 ` [PATCH 01/16] gnu: python-traitlets: Update to 4.2.0 Ricardo Wurmus
2016-11-01 13:19   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 02/16] gnu: Add python-jupyter-core Ricardo Wurmus
2016-11-01 13:22   ` Roel Janssen
2016-11-04 10:21     ` Ricardo Wurmus
2016-11-01 12:20 ` [PATCH 03/16] gnu: Add python-jupyter-client Ricardo Wurmus
2016-11-01 13:27   ` Roel Janssen
2016-11-04 10:22     ` Ricardo Wurmus
2016-11-01 12:20 ` [PATCH 04/16] gnu: Add python-ipykernel Ricardo Wurmus
2016-11-01 13:32   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 05/16] gnu: Add python-testpath Ricardo Wurmus
2016-11-01 13:36   ` Roel Janssen
2016-11-04 10:25     ` Ricardo Wurmus
2016-11-02  8:23   ` Hartmut Goebel
2016-11-04 10:25     ` Ricardo Wurmus
2016-11-01 12:20 ` [PATCH 06/16] gnu: Add python-html5lib-0.9 Ricardo Wurmus
2016-11-01 13:40   ` Roel Janssen
2016-11-01 14:31     ` Ricardo Wurmus
2016-11-01 18:24       ` Roel Janssen
2016-11-01 12:20 ` [PATCH 07/16] gnu: Add python-nbformat Ricardo Wurmus
2016-11-01 14:27   ` Roel Janssen
2016-11-04 10:27     ` Ricardo Wurmus
2016-11-02  8:23   ` Hartmut Goebel
2016-11-04 10:28     ` Ricardo Wurmus
2016-11-01 12:20 ` [PATCH 08/16] gnu: Add python-bleach Ricardo Wurmus
2016-11-01 13:59   ` Roel Janssen
2016-11-04 10:32     ` Ricardo Wurmus
2016-11-04 13:01       ` Roel Janssen
2016-11-01 14:00   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 09/16] gnu: Add python-entrypoints Ricardo Wurmus
2016-11-01 16:18   ` Roel Janssen
2016-11-02  8:23   ` Hartmut Goebel
2016-11-04 16:54     ` Ricardo Wurmus
2016-11-01 12:20 ` [PATCH 10/16] gnu: Add python-nbconvert Ricardo Wurmus
2016-11-01 16:23   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 11/16] gnu: Add python-notebook Ricardo Wurmus
2016-11-01 18:10   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 12/16] gnu: Add python-widgetsnbextension Ricardo Wurmus
2016-11-01 18:11   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 13/16] gnu: Add python-ipywidgets Ricardo Wurmus
2016-11-01 18:12   ` Roel Janssen
2016-11-01 12:20 ` [PATCH 14/16] gnu: Add python-jupyter-console Ricardo Wurmus
2016-11-01 18:15   ` Roel Janssen
2016-11-04 16:47     ` Ricardo Wurmus
2016-11-04 17:40       ` Roel Janssen
2016-11-04 17:49       ` Hartmut Goebel
2016-11-01 12:20 ` [PATCH 15/16] gnu: python-ipython: Update to 4.0.0 Ricardo Wurmus
2016-11-01 18:18   ` Roel Janssen
2016-11-04 17:10     ` Ricardo Wurmus
2016-11-04 17:43       ` Roel Janssen
2016-11-01 12:20 ` [PATCH 16/16] gnu: Add jupyter Ricardo Wurmus
2016-11-01 18:20   ` Roel Janssen
2016-11-04 20:26     ` Ricardo Wurmus
2016-11-01 13:16 ` [PATCH 00/16] Add Jupyter Roel Janssen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).