Euporie is a terminal based interactive computing environment for Jupyter.
Euporie's apps allow you to interact with Jupyter kernels, and run Jupyter notebooks - entirely from the terminal.
If you're working with Jupyter notebooks in a terminal only environment, like an SSH server or a container, or just prefer working in the terminal, then euporie is the tool for you!
| Console | Notebook | Preview | Hub |
In your terminal - if you have uv installed,
you can run any euporie app instantly without installing it, using uvx:
$ uvx euporie notebook # launch the notebook editor
$ uvx euporie notebook my.ipynb # ...optionally with a notebook to open
$ uvx euporie console # interactive Jupyter console
$ uvx euporie preview my.ipynb # render a notebook to the terminalIn your browser - no installation required: launch the live demo.
If you'd rather install euporie permanently, see Install below.
For day-to-day use, install euporie with uv
(recommended), pipx or pip:
$ uv tool install euporie
$ # OR
$ pipx install euporie
$ # OR
$ python -m pip install --user euporieYou can also run euporie without installing it - see Try euporie above.
- Edit and run notebooks in the terminal
- Run code interactively in a console
- Display images using terminal graphics (sixel / iterm / kitty)
- Use Jupyter widgets interactively in the terminal
- Render rich kernel output (markdown, tables, images, LaTeX, HTML, SVG, & PDF)
- Tab-completion, line suggestions and contextual help
- Convert a console session to a notebook
- Micro / Vim / Emacs style key-bindings
Euporie is structured as a collection of packages, allowing you to install only the components you need:
- euporie - Metapackage which installs all euporie apps and provides the
euporielauncher command - euporie-core - Core functionality shared across all apps (config system, kernel client, LSP client, shared widgets, and rich output rendering)
- euporie-console - Interactive console application
- euporie-notebook - Notebook editing application
- euporie-preview - Notebook preview application
- euporie-hub - Multi-user SSH server for euporie apps
- apptk - Terminal UI toolkit extending
prompt_toolkit, used by euporie
Installing the euporie metapackage will pull in euporie-console, euporie-notebook, and euporie-preview. To install an individual app, install its package directly, e.g.:
$ uv tool install euporie-notebookLauncher
The
euporiecommand acts as a launcher for the various euporie apps:$ euporie notebook notebook.ipynb $ euporie console $ euporie preview notebook.ipynb $ euporie hubIf you don't want to install euporie, you can run any of these commands directly with
uvx(e.g.uvx euporie notebook notebook.ipynb) - see Try euporie.
Notebooks
You can edit a notebook using
euporie-notebook, and passing the notebook's file path or URI as a command line argument:$ euporie-notebook notebook.ipynbAlternatively, launch
euporie-notebookand open a notebook file by selecting "Open" from the file menu (Ctrl+O).
Console
To connect to a Jupyter kernel and run code interactively in a console session, you can run
$ euporie-console(You can press
Ctrl+Spaceto open the command palette ineuporie-console).
Preview
To preview a notebook to the terminal, use the
euporie-previewsubcommand:$ euporie-preview notebook.ipynb
Hub
To run euporie hub, a multi-user SSH server for euporie apps, run:
$ euporie-hub --port 8022 --host-keys=ssh_host_ed25519_key --client-keys=authorized_keyswhere
ssh_host_ed25519_keyis the path to your host key file, andauthorized_keysis a file containing SSH public keys allowed to connect.
View the online documentation at: https://euporie.readthedocs.io/
The code is available on GitHub at: https://github.com/joouha/euporie
Euporie is developed as a uv workspace mono-repo. The individual packages live under packages/. To set up a development environment:
$ git clone https://github.com/joouha/euporie
$ cd euporie
$ uv syncEuporie requires Python 3.10 or later. It works on Linux, Windows and MacOS