Execution Epics


This epics maps an ExecuteAllCells action to multiple ExecuteCell actions for each cell.


This epic maps an ExecuteFocusedCell action to an ExecuteCell action.


This epic is triggered the first time an ExecuteCell action is dispatched. If there is no kernel connected to the notebook, this epic will launch a kernel.


This epic does one of two things when an ExecuteCell action is dispatched.

  • If we are connected to a kernel, it immediately dispatches a SendExecuteRequest action.
  • If there is no kernel connected, it stores the execution in the queue.


This epic works alongside the lazyLaunchKernelEpic. When a kernel has been successfully launched, it dispatches a SendExecuteRequest action for each execution that is stored in the execution queue.


This epic listens to SEND_EXECUTE_REQUESTS and creates a new Observable that manages sending the execution request to the kernel and processing the responses. The Observable is unique per cell, so each cell will have its own Observable where requests and responses are processed.


This epic subsribes to messages coming in from a kernel when it is launched. If one of the messages is of the update_display_data message type, it dispatches an UpdateDisplay action.


This epic processes sending response to stdin requests sent by the kernel. It listens to SEND_INPUT_REPLY actions which should be dispatched when a user provides a response to a stdin request in the UI.