1. 08 Oct, 2019 5 commits
  2. 07 Oct, 2019 1 commit
  3. 04 Oct, 2019 1 commit
    • Ludovic Courtès's avatar
      Move kernel-in-container execution to (guix jupyter kernel). · 99f5b5b4
      Ludovic Courtès authored
      * guix-jupyter-kernel.scm (session-id): Remove.
      (create-environment): Call 'spawn-kernel/container' instead of
      'start-container', and remove 'name' argument.
      (%network-file-systems, module-to-import?, start-container): Move to...
      * guix/jupyter/kernel.scm: ... here.
      (start-container): Rename to...
      (spawn-kernel/container): ... this.  Remove 'name' parameter.  Call
      'make-container-root-directory' to create the root directory of the
      container.
      (make-container-root-directory): New procedure.
      99f5b5b4
  4. 03 Oct, 2019 4 commits
    • Ludovic Courtès's avatar
      Add ";;guix pin" magic. · d981e1a5
      Ludovic Courtès authored
      * guix-jupyter-kernel.scm (channels->shtml, reply-for-channels)
      (reply-for-channel-failure): New procedures.
      (reply-execute-request): Handle ";;guix pin".
      (reply-complete-request): Complete ";;guix pin".
      * guix-kernel-demo.ipynb: Add ";;guix pin" example.
      d981e1a5
    • Ludovic Courtès's avatar
      environment: 'specification->manifest-entry' properly matches the empty list. · aa57c901
      Ludovic Courtès authored
      * guix/jupyter/environment.scm (specification->manifest-entry): Change
      first clause to the empty list.
      aa57c901
    • Ludovic Courtès's avatar
      Make the current inferior a <proxy-state> property. · 7e4ae57f
      Ludovic Courtès authored
      * guix-jupyter-kernel.scm (%inferior-property): New variable.
      (proxy-state-inferior, set-proxy-state-inferior)
      (ensure-proxy-state-inferior): New procedures.
      (%inferior): Remove.
      (create-environment): Call 'proxy-state-inferior' instead of refering to
      %INFERIOR.
      (reply-execute-request): Call 'ensure-proxy-state-inferior' before
      calling 'create-environment'.
      (reply-complete-request): Call 'ensure-proxy-state-inferior' before
      calling 'inferior-available-packages'.  Return the new state.
      7e4ae57f
    • Ludovic Courtès's avatar
      Handle 'inspect_request' messages. · aedb7e6f
      Ludovic Courtès authored
      * guix-jupyter-kernel.scm (environment-from-magic): New procedure, moved
      from...
      (reply-complete-request)[environment-from-magic]: ... here.  Remove.
      (reply-inspect-request): New procedure.
      (dispatch-route): Add it.
      aedb7e6f
  5. 01 Oct, 2019 2 commits
  6. 30 Sep, 2019 4 commits
  7. 27 Sep, 2019 3 commits
  8. 26 Sep, 2019 3 commits
    • Ludovic Courtès's avatar
      messages: Add <execute-input>. · a038906c
      Ludovic Courtès authored
      * jupyter/messages.scm (<execute-input>): New record type.
      a038906c
    • Ludovic Courtès's avatar
      messages: Add <execute-request>. · 591d5814
      Ludovic Courtès authored
      * jupyter/messages.scm (<execute-request>): New record type.
      * guix-jupyter-kernel.scm (reply-execute-request): Use it.
      * tests/kernels.scm ("execute_request"): Likewise.
      591d5814
    • Ludovic Courtès's avatar
      messages: Add <kernel-status>. · b23ee453
      Ludovic Courtès authored
      * jupyter/messages.scm (<kernel-status>): New record type.
      * jupyter/kernels.scm (pub): Expect a <kernel-status> record and use
      'kernel-status->json'.
      (pub-busy, pub-idle): Pass a <kernel-status> record.
      * tests/kernels.scm ("run-kernel python3")
      ("kernel_info_request", "execute_request"): Use 'json->kernel-status'
      instead of alists.
      b23ee453
  9. 24 Sep, 2019 11 commits
  10. 23 Sep, 2019 1 commit
    • Ludovic Courtès's avatar
      messages: Use a larger buffer for incoming messages. · 78d429fe
      Ludovic Courtès authored
      This "fixes" the Matplotlib example.  Previously, we'd silently truncate
      the "display_data" message containing the plot as we forwarded it,
      resulting in breakage down the road.
      
      * jupyter/messages.scm <top level>: Add call to 'zmq-set-buffer-size'.
      78d429fe
  11. 20 Sep, 2019 5 commits
    • Ludovic Courtès's avatar
      Update example. · 04635011
      Ludovic Courtès authored
      * guix-kernel-demo.ipynb: Update.
      04635011
    • Ludovic Courtès's avatar
      Don't spawn a default environment upfront. · beb421ac
      Ludovic Courtès authored
      This ensures we reply to "kernel_info_request" in a timely fashion, and
      that we don't spawn a useless environment.  It also allows the user to
      not repeat ";;guix run my-env" in subsequent cells since the default
      environment is now recorded across cells.
      
      * guix-jupyter-kernel.scm (%default-environment-property): New variable.
      (proxy-state-default-environment, set-proxy-state-default-environment):
      New procedures.
      (create-environment): Call 'set-proxy-state-default-environment'.
      (reply-execute-request): Use the environment returned by
      'proxy-state-default-environment'.  Print an error as HTML when it's
      false.
      <top level>: Remove call to 'start-container' for the "default"
      environment.
      beb421ac
    • Ludovic Courtès's avatar
      kernels: 'spawn-kernel' searches for executables in $PATH. · def14612
      Ludovic Courtès authored
      * jupyter/kernels.scm (spawn-kernel): Use 'execlp' instead of 'exec'.
      This is useful notably for "irkernel", which just says "R" without an
      absolute file name.
      def14612
    • Ludovic Courtès's avatar
      Terminate and unregister existing proxy when recreating an environment. · f115d70a
      Ludovic Courtès authored
      * guix/jupyter/proxy.scm (unregister-proxied, terminate-proxied-kernel):
      New procedures.
      * guix-jupyter-kernel.scm (reply-execute-request): When 'lookup-proxied'
      returns true, call 'unmonitor-client' and 'terminate-proxied-kernel',
      and then 'create-environment'.
      f115d70a
    • Ludovic Courtès's avatar
      proxy: Unmonitor kernels that are terminated. · 5945ac36
      Ludovic Courtès authored
      * guix/jupyter/proxy.scm (terminate-proxied-kernels): Add call to
      'unmonitor-client'.
      5945ac36