Skip to content

joouha/euporie

Repository files navigation

<Logo>

euporie

Latest Version Documentation Supported Python versions View license Launch with Binder ⭐

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
https://github.com/joouha/euporie/assets/12154190/c8ea6e23-11bb-4ffc-a9e5-111f788c51ae

View more screenshots here


Install

You can install euporie with pipx (recommended) or pip:

$ pipx install euporie
$ # OR
$ python -m pip install --user euporie

You can also try euporie online here.

Features

  • 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

Usage

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.ipynb

Alternatively, launch euporie-notebooks and 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+C to open the command palette in euporie-console).

Preview

To preview a notebook to the terminal, use the euporie-preview subcommand:

$ 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_keys

where ssh_host_ed25519_key is the path to your host key file, and authorized_keys is a file containing SSH public keys allowed to connect.

Documentation

View the online documentation at: https://euporie.readthedocs.io/

The code is available on GitHub at: https://github.com/joouha/euporie

Compatibility

Euporie requires Python 3.8 or later. It works on Linux, Windows and MacOS