Euporie Console

Euporie console is a terminal frontend for Jupyter kernels, allowing code to be executed interactively and rich output to be displayed.

Euporie console makes use of terminal graphics capabilities to display images, and will render markdown, LaTeX, and ipywidgets.

The command palette can be summoned with Ctrl+Space, which provides access to settings and various operations from within the console.

User Guide

Multi-line editing

The console will check the current input for completeness when the cursor is at the end of the input and Enter is pressed. If the input is determined to be incomplete, a new line will be inserted. Otherwise, the input will be executed.

If two blank lines are entered at the end of the input, the input will be executed.

A new-line can be inserted without checking the input for completeness using Shift+Enter.

The input can be executed immediately using Ctrl+Enter (providing your terminal suports this key-binding; you can also use Ctrl+e).

Save console session as a notebook

Running the save-as command from the command palette will prompt you to save the input and output history of the current console session as a Jupyter notebook file.

Convert console session to a notebook

Running the convert-to-notebook command from the command palette will transform the input and output history of the current console session into a euporie notebook, and open it with Euporie Notebook, reusing the existing kernel connection.

Command Line Interface


$ euporie-console [-h] [--version] [--log-file [str]]
                       [--log-level {debug,info,warning,error,critical}]
                       [--log-config str] [--show-shadows | --no-show-shadows]
                       [--set-cursor-shape | --no-set-cursor-shape]
                       [--cursor-blink | --no-cursor-blink]
                       [--edit-mode {micro,emacs,vi}] [--tab-size int]
                       [--terminal-polling-interval int]
                       [--autoformat | --no-autoformat]
                       [--format-black | --no-format-black]
                       [--format-isort | --no-format-isort]
                       [--format-ssort | --no-format-ssort]
                       [--syntax-theme str] [--color-depth {1,4,8,24}]
                       [--tmux-graphics | --no-tmux-graphics]
                       [--color-scheme {default,inverse,light,dark,black,white,custom}]
                       [--custom-background-color str]
                       [--custom-foreground-color str] [--accent-color str]
                       [--key-bindings loads]
                       [--graphics {none,sixel,kitty,iterm}]
                       [--kernel-name str]
                       [--record-cell-timing | --no-record-cell-timing]
                       [--line-numbers | --no-line-numbers]
                       [--autocomplete | --no-autocomplete]
                       [--autosuggest | --no-autosuggest]
                       [--autoinspect | --no-autoinspect]
                       [--max-stored-outputs int] [--connection-file UPath]
                       [--show-status-bar | --no-show-status-bar]
                       [--mouse-support | --no-mouse-support]
                       [UPath ...]

Positional Arguments

<UPath> ...

List of file names to open

Optional Arguments

-h, --help

show this help message and exit

--version, -V

Show the version number and exit

--log-file <str>

File path for logs

--log-level {debug,info,warning,error,critical}

Set the log level

--log-config <str>

Additional logging configuration

--show-shadows, --no-show-shadows

Show or hide shadows under menus and dialogs

--set-cursor-shape, --no-set-cursor-shape

Whether to set the shape of the cursor depending on the editing mode

Whether to blink the cursor

--edit-mode {micro,emacs,vi}

Key-binding mode for text editing

--tab-size <int>

Spaces per indentation level

--terminal-polling-interval <int>

Time between terminal colour queries

--autoformat, --no-autoformat

Automatically re-format code cells when run

--format-black, --no-format-black

Use black when re-formatting code cells

--format-isort, --no-format-isort

Use isort when re-formatting code cells

--format-ssort, --no-format-ssort

Use ssort when re-formatting code cells

--syntax-theme <str>

Syntax highlighting theme

--color-depth {1,4,8,24}

The color depth to use

--tmux-graphics, --no-tmux-graphics

Enable terminal graphics in tmux (experimental)

--color-scheme {default,inverse,light,dark,black,white,custom}

The color scheme to use

--custom-background-color <str>, --custom-bg-color <str>, --bg <str>

Background color for “Custom” color theme

--custom-foreground-color <str>, --custom-fg-color <str>, --fg <str>

Foreground color for “Custom” color theme

--accent-color <str>

Accent color to use in the app

--key-bindings <loads>

Additional key binding definitions

--graphics {none,sixel,kitty,iterm}

The preferred graphics protocol

--kernel-name <str>, --kernel <str>

The name of the kernel to start by default

--record-cell-timing, --no-record-cell-timing

Should timing data be recorded in cell metadata.

--line-numbers, --no-line-numbers

Show or hide line numbers

--autocomplete, --no-autocomplete

Provide completions suggestions automatically

--autosuggest, --no-autosuggest

Provide line completion suggestions

--autoinspect, --no-autoinspect

Display contextual help automatically

--max-stored-outputs <int>

The number of inputs / outputs to store in an in-memory notebook

--connection-file <UPath>, --kernel-connection-file <UPath>

Attempt to connect to an existing kernel using a JSON connection info file

--show-status-bar, --no-show-status-bar

Show the status bar

--mouse-support, --no-mouse-support

Enable or disable mouse support

Available Commands