- 13 Sep, 2019 2 commits
-
-
Ludovic Courtès authored
* jupyter/kernels.scm (reply-html): Pass #:recipient to 'send-message'.
-
Ludovic Courtès authored
* jupyter/kernels.scm (generate-key): New procedure. (relay-message): Remove. * jupyter/messages.scm (<message>): Use 'define-immutable-record-type' and define 'set-message-content'. * guix-jupyter-container.scm (local-eval): Rewrite in terms of 'send-message'. (reply-html-to-kernel): Remove. (general-handler): Copy from *-kernel.scm. (execute-request-sans-magic): New procedure. (ignore-request, reply-execute-request, shutdown): Adjust to new calling convention. (%main-kernel, %main-kernel-id): New variables. <top level>: Use 'serve-kernels'. * guix-jupyter-kernel.scm (%main-kernel, %main-kernel-id): New variables. (general-handler): Check whether we're talking to %MAIN-KERNEL. (reply-kernel-info-request, reply-execute-request, shutdown): Add 'kind' parameter. (new-container-connect): Remove. (start-container): Return a <kernel>. <top level>: Pass both the "default" container kernel and our client to 'server-kernels'. Set %MAIN-KERNEL.
-
- 12 Sep, 2019 4 commits
-
-
Ludovic Courtès authored
* guix/jupyter/logging.scm: New file. * Makefile.am (SOURCES): Add it.
-
Ludovic Courtès authored
* guix-jupyter-kernel.scm (heartbeat-handler, start-kernel): Remove. (general-handler): Adjust prototype to match what 'serve-kernels' expects. <top level>: Use 'serve-kernels'.
-
Ludovic Courtès authored
* jupyter/kernels.scm (allocate-connection): #:first-port defaults to #f. [allocate-port]: New procedure [try-connect]: New procedure. Use it in lieu of 'test-bind', and remove the extra 'zmq-connect' calls. (test-bind): Remove.
-
Ludovic Courtès authored
* jupyter/kernels.scm (kernel-socket-kind): New procedure. (zmq-poll*, allocate-connection): Export. * jupyter/servers.scm (%server-scheduler-prompt, %server-exit-prompt): New variables. * jupyter/servers.scm (monitor-client, leave-server-loop) (serve-kernels): New procedures. * tests/servers.scm: New file.
-
- 09 Sep, 2019 27 commits
-
-
Ludovic Courtès authored
* jupyter/kernels.scm (EINTR-safe): New procedure. (read-message): Use it.
-
Ludovic Courtès authored
* jupyter/kernels.scm (read-message): Remove call to non-existent 'zmq-get-msg-bytevector'.
-
Ludovic Courtès authored
* jupyter/servers.scm (connection-file->kernel): Rename to... (connection->kernel): ... this, and take a CONNECTION instead of a PORT. (connection-file->kernel): Rewrite as a composition.
-
Ludovic Courtès authored
* jupyter/kernels.scm (<kernel>): Use 'define-immutable-record-type'. Add 'set-kernel-name' and 'set-kernel-pid'. (find-kernel-by-name): Rename to... (find-kernel-specs-file): ... this. (find-kernel-specs): New procedure. (<connection>): New record type. (new-connection-file, kernel-arguments, exec-kernel): Remove. (allocate-connection, spawn-kernel): New procedure. (run-kernel): Rewrite to take a <kernel-spec> and to use 'allocate-connection'. * tests/kernels.scm (%python3-specs): New variable. ("run-kernel python3"): Adjust accordingly. * guix-jupyter-container.scm (reply-execute-request): Likewise.
-
Ludovic Courtès authored
* guix-kernel/environ.scm (guile-current-version->path): Don't require a specific Guile version.
-
Ludovic Courtès authored
* jupyter/json.scm <top level>: Override (@@ (json builder) json-build).
-
Ludovic Courtès authored
* jupyter/json.scm (define-json-writer): New macro. (define-json-mapping): Add support for defining writers.
-
Ludovic Courtès authored
* tests/kernels.scm ("kernel_info_request"): Rewrite to remove assumptions about ordering, and to account for all the replies.
-
Ludovic Courtès authored
* jupyter/kernels.scm (<kernel-specs>): New record type. (kernel-arguments): Use 'json->kernel-specs' and 'kernel-specs-arguments'.
-
Ludovic Courtès authored
Code taken from (guix swh) as of Guix commit 81c3dc32244a17241d74eea9fa265edfcb326f6d. * jupyter/json.scm: New file. * Makefile.am (SOURCES): Add it.
-
Ludovic Courtès authored
* tests/kernels.scm ("execute_request"): Rewrite to remove assumptions about ordering, and to account for all the replies.
-
Ludovic Courtès authored
* guix-kernel/jupyter-client.scm: Rename to... * jupyter/servers.scm: ... this. (KERNEL-INFO, guile-version): Remove. (json->kernel): Rename to... (connection-file->kernel): ... this. * guix-jupyter-container.scm: Adjust accordingly. * guix-jupyter-kernel.scm (KERNEL-INFO): New variable. (kernel): Use new 'connection-file->kernel' name. * Makefile.am (SOURCES): Adjust file list accordingly.
-
Ludovic Courtès authored
* jupyter/kernels.scm (read-message): Return heartbeat messages.
-
Ludovic Courtès authored
Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * jupyter/kernels.scm (kernel-arguments): Use 'assoc-ref' instead of 'hash-ref'; pass JSON array through 'vector->list'. (relay-message, reply-html): Likewise. * jupyter/messages.scm (string->header): Likewise. * guix-jupyter-container.scm (local-eval, reply-execute-request): Likewise. * guix-jupyter-kernel.scm (reply-execute-request): Likewise. * guix-kernel/jupyter-client.scm (json->kernel): Likewise. * tests/kernels.scm: Likewise. * environment.scm (propagated-inputs): Replace GUILE-JSON with GUILE-JSON-3.
-
Ludovic Courtès authored
* tests/kernels.scm ("run-kernel python3"): Try to get a "status" message. ("kernel_info_request"): New test.
-
Ludovic Courtès authored
* jupyter/kernels.scm (read-message): Rewrite to use 'zmq-poll'. Add optional 'timeout' parameter. * tests/kernels.scm ("execute_request"): Call 'read-message' thrice and check all three replies.
-
Ludovic Courtès authored
* jupyter/kernels.scm (run-kernel): Remove 'uuid' parameter and add #:identity parameter. Do not set ZMQ_IDENTITY on SOCKET-SHELL when #:identity is #f. * guix-jupyter-container.scm (reply-execute-request): Pass #:identity to 'run-kernel'. * tests/kernels.scm (%kernel-uuid): Remove. ("run-kernel python3"): Remove %KERNEL-UUID argument from 'run-kernel' call. ("execute_request"): Remove #:recipient argument to 'send-message'. Remove reference to %KERNEL-UUID.
-
Ludovic Courtès authored
* jupyter/messages.scm (message-parts): Allow #:recipients to be #f.
-
Ludovic Courtès authored
* jupyter/kernels.scm (kernel-sockets): New procedure. (close-kernel): Use it.
-
Ludovic Courtès authored
* tests/kernels.scm: New file. * Makefile.am (SCM_TESTS): Add it. * environment.scm <native-inputs>: Add JUPYTER, PYTHON-IPYTHON, and PYTHON-IPYKERNEL.
-
Ludovic Courtès authored
* jupyter/messages.scm (<header>): Rename contructor to '%header'. (%protocol-version): New variable. (current-date-string, header, make-header): New procedures. (reply): Adjust to new 'header' API. (string->header): Likewise.
-
Ludovic Courtès authored
* guix-kernel/jupyter-client.scm (read-message, send-message, pub) (pub-busy, pub-idle, reply-html): Move to... * jupyter/kernels.scm: ... here.
-
Ludovic Courtès authored
* guix-kernel/jupyter-server.scm: Rename to... * jupyter/kernels.scm: ... this. * guix-jupyter-container.scm, guix-jupyter-kernel.scm, guix-kernel/jupyter-client.scm: Adjust accordingly. * Makefile.am (SOURCES): Likewise.
-
Ludovic Courtès authored
* guix-kernel/jupyter-client.scm (<header>, <message>, message) (make-message, message-parts, reply, message-type, message-sender) (string->header, header->string, parts->message, DELIM): Move to... * jupyter/messages.scm: ... here. New file. (get-signature, make-id): New procedures. * guix-kernel/hmac.msc, guix-kernel/tools.scm, tests/tools.scm: Remove. * Makefile.am (SOURCES, SCM_TESTS): Adjust accordingly. * guix-jupyter-container.scm, guix-jupyter-kernel.scm, guix-kernel/jupyter-client.scm: Adjust import list accordingly. * tests/hmac.scm (get-signature): New variable.
-
Ludovic Courtès authored
* guix-jupyter-kernel.scm (<proxy>): Remove. (register-proxy): Add docstring. (new-container-connect): Return a <kernel> object. (reply-execute-request, kill-containers): Adjust accordingly.
-
Ludovic Courtès authored
* guix-kernel/jupyter-client.scm (<notebook>, notebook): Remove. (json->notebook): Rename to... (json->kernel): ... this, and adjust accordingly. (read-message, send-message, relay-message, pub, pub-busy) (pub-idle, reply-html): Adjust accordingly. * guix-kernel/jupyter-server.scm (<kernel>)[key]: New field. (kernel-iopub): New macro. (kernel): Add #:key. (close-kernel): New procedure. * guix-jupyter-kernel.scm: Adjust, replacing "notebook" with "kernel". * guix-jupyter-container.scm: Likewise.
-
Ludovic Courtès authored
Introduce <message> and <header> record that map directly to the Jupyter specs. This is a breaking change.
-
- 11 Jun, 2019 1 commit
-
-
Ludovic Courtès authored
* guix-kernel-demo.ipynb: Update.
-
- 14 Feb, 2019 2 commits
-
-
Ludovic Courtès authored
* environment.scm: Use (gnu packages guile-xyz) for 'guile-simple-zmq'.
-
Ludovic Courtès authored
* environment.scm (guile-simple-zmq): Remove.
-
- 16 Oct, 2018 3 commits
-
-
Ludovic Courtès authored
* guix-jupyter-kernel.scm (send-to-container): Remove unused 'containers' parameter. (proxy-exec-container, kill-containers): Adjust accordingly.
-
Ludovic Courtès authored
* guix-jupyter-kernel.scm: Use SRFI-19. (session-id): Adjust accordingly. (<proxy>): New record type. (register-container, container-by-name, container-socket-by-name): Remove. (register-proxy, proxy-by-name): New procedures. (reply-execute-request): Adjust accordingly. (kill-containers): Rewrite using 'vlist-for-each'. (new-container-connect): Return a proxy record.
-
Ludovic Courtès authored
* guix-kernel/jupyter-client.scm (pub, pub-busy, pub-idle): Remove 'socket' and 'key' parameters, add 'notebook' parameter instead.
-
- 15 Oct, 2018 1 commit
-
-
Ludovic Courtès authored
* guix-jupyter-kernel.scm (%notebook): Remove. (reply-kernel-info-request): Remove 'socket' parameter; add 'notebook' parameter and adjust accordingly. (reply-execute-request): Likewise. (shutdown): Likewise. (start-container): Add 'notebook' parameter and use it. (start-kernel): Likewise. (run-new-container): Remove. <top level>: Adjust 'sigaction' and 'start-kernel' calls accordingly.
-