euporie
Jupyter notebooks, consoles, and previews in the terminal
TLDR
SYNOPSIS
euporie app [options] [notebook]euporie notebook | console | preview | hub [options]
DESCRIPTION
euporie is a suite of terminal applications that bring the Jupyter ecosystem to the shell. Each subcommand is a self-contained app sharing the same rendering engine for markdown, LaTeX, syntax-highlighted code, and rich output (including inline images via sixel, iTerm2, or kitty graphics protocols).The notebook app is a full editor that can execute cells, manage kernels, and save `.ipynb` files. The console app is a REPL front-end for any installed Jupyter kernel. The preview app is non-interactive and suitable for CI pipelines or scripting. The hub exposes the notebook editor over SSH so multiple users can share a server's resources.
PARAMETERS
--kernel NAME
Jupyter kernel to connect to (e.g. `python3`, `ir`, `julia-1.10`).--no-kernel
Open the notebook without starting a kernel.--color-scheme NAME
Color scheme: `default`, `light`, `dark`, `inverse`, or a custom scheme.--syntax-theme NAME
Pygments theme for code cells.--tab-size N
Number of spaces per tab.--terminal-graphics MODE
Image protocol: `sixel`, `iterm`, `kitty`, or `none`.--log-level LEVEL
Logging verbosity (`debug`, `info`, `warning`, `error`).--log-file FILE
Path to a log file.--host HOST (hub)
Bind address for the SSH hub.--port PORT (hub)
Listen port for the SSH hub.--save-as FILE (preview)
Write rendered output to FILE instead of stdout.--page (preview)
Pipe rendered output to `$PAGER`.-v, --version
Show version and exit.-h, --help
Show help.
CONFIGURATION
Per-app configuration can be set via environment variables prefixed with the app name, e.g. `EUPORIENOTEBOOKCOLORSCHEME=dark`, `EUPORIECONSOLE_KERNEL=python3`. A config file at `~/.config/euporie/euporie.toml` is loaded by all apps.
APPS / SUBCOMMANDS
notebook
Interactive notebook editor with Jupyter-like keybindings.console
Line-by-line REPL against any Jupyter kernel.preview
Render a notebook to stdout, a pager, or a file (no kernel required).hub
Multi-user SSH server — each client gets their own notebook editor.
KEYBINDINGS (notebook)
Enter / Esc
Toggle edit and command mode in the current cell.a / b
Insert cell above / below.dd
Delete current cell.y / m / r
Change cell type to code / markdown / raw.Ctrl-Enter / Shift-Enter
Run cell / run and go to next.Ctrl-S
Save notebook.Ctrl-Q
Quit.
CAVEATS
Rich output (images, plots) requires a terminal that implements sixel, iTerm2, or kitty graphics. Complex JavaScript-based widgets (ipywidgets) have limited support. The hub app needs a host key and user authentication — see the docs for hub configuration.
HISTORY
euporie is developed by Josiah Outram Halstead (joouha) and written in Python on top of prompt_toolkit. It is distributed on PyPI as `euporie` (install with `pip install euporie`).
