README.rst
June 18, 2026 · View on GitHub
|logo|
.. |logo| image:: https://user-images.githubusercontent.com/12154190/160670889-c6fc4cd8-413d-49f0-b105-9c0e03117032.svg
:alt:
####### euporie #######
|TryOnline| |Stars| |RTD| |PyPI| |License|
.. content_start
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!
.. image:: https://github.com/joouha/euporie/assets/12154190/c8ea6e23-11bb-4ffc-a9e5-111f788c51ae :target: https://github.com/joouha/euporie/assets/12154190/c8ea6e23-11bb-4ffc-a9e5-111f788c51ae
.. list-table:: :align: center :widths: 25 25 25 25 :class: text-center
-
Console <https://euporie.readthedocs.io/en/latest/packages/console.html>_Notebook <https://euporie.readthedocs.io/en/latest/packages/notebook.html>_Preview <https://euporie.readthedocs.io/en/latest/packages/preview.html>_Hub <https://euporie.readthedocs.io/en/latest/packages/hub.html>_
View more screenshots here <https://euporie.readthedocs.io/en/latest/pages/gallery.html>_
Try euporie
In your terminal - if you have uv <https://docs.astral.sh/uv/>_ installed,
you can run any euporie app instantly without installing it, using uvx:
.. code-block:: console
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 terminal
In your browser - no installation required:
launch the live demo <https://euporie.readthedocs.io/en/latest/_static/lite.html>_.
If you'd rather install euporie permanently, see Install_ below.
Install
For day-to-day use, install euporie with uv <https://docs.astral.sh/uv/>_
(recommended), pipx <https://pipxproject.github.io/>_ or pip:
.. code-block:: console
# OR # OR $ python -m pip install --user euporie
You can also run euporie without installing it - see Try euporie_ above.
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
Packages
Euporie is structured as a collection of packages, allowing you to install only the components you need:
euporie <https://euporie.readthedocs.io/>_ - Metapackage which installs all euporie apps and provides theeuporielauncher commandeuporie-core <https://euporie.readthedocs.io/en/latest/packages/euporie-core.html>_ - Core functionality shared across all apps (config system, kernel client, LSP client, shared widgets, and rich output rendering)euporie-console <https://euporie.readthedocs.io/en/latest/packages/euporie-console.html>_ - Interactive console applicationeuporie-notebook <https://euporie.readthedocs.io/en/latest/packages/euporie-notebook.html>_ - Notebook editing applicationeuporie-preview <https://euporie.readthedocs.io/en/latest/packages/euporie-preview.html>_ - Notebook preview applicationeuporie-hub <https://euporie.readthedocs.io/en/latest/packages/euporie-hub.html>_ - Multi-user SSH server for euporie appsapptk <https://euporie.readthedocs.io/en/latest/packages/apptk.html>_ - Terminal UI toolkit extendingprompt_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.:
.. code-block:: console
$ uv tool install euporie-notebook
Usage
Launcher
The euporie command acts as a launcher for the various euporie apps:
.. code-block:: console
$ euporie notebook notebook.ipynb
$ euporie console
$ euporie preview notebook.ipynb
$ euporie hub
If 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:
.. code-block:: console
$ euporie-notebook notebook.ipynb
Alternatively, launch euporie-notebook 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
.. code-block:: console
$ euporie-console
(You can press Ctrl+Space to open the command palette in euporie-console).
Preview
To preview a notebook to the terminal, use the euporie-preview subcommand:
.. code-block:: console
$ euporie-preview notebook.ipynb
Hub
To run euporie hub, a multi-user SSH server for euporie apps, run:
.. code-block:: console
$ 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/ <https://euporie.readthedocs.io/>_
The code is available on GitHub at: https://github.com/joouha/euporie <https://github.com/joouha/euporie>_
Development
Euporie is developed as a uv <https://docs.astral.sh/uv/>_ workspace mono-repo. The individual packages live under packages/. To set up a development environment:
.. code-block:: console
cd euporie $ uv sync
Compatibility
Euporie requires Python 3.10 or later. It works on Linux, Windows and MacOS
.. |PyPI| image:: https://img.shields.io/pypi/v/euporie.svg :target: https://pypi.python.org/project/euporie/ :alt: Latest Version
.. |RTD| image:: https://readthedocs.org/projects/euporie/badge/ :target: https://euporie.readthedocs.io/en/latest/ :alt: Documentation
.. |PyVer| image:: https://img.shields.io/pypi/pyversions/euporie :target: https://pypi.python.org/project/euporie/ :alt: Supported Python versions
.. |TryOnline| image:: https://img.shields.io/badge/try-online-red.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgcj0iMTAiIGZpbGw9IiNkMDAiLz48ZyBmaWxsPSIjYTAyIj48cGF0aCBkPSJNMi40MSAxNi41bC40NTguNWgxNC4yNjRsLjQ1OC0uNXptLTIuMDg1LTRBMTAgMTAgMCAwIDAgMS4zNCAxNUgzLjVjMC0uNTIzLjM5Ny0uOTIyLjg2MS0xLjE1NFM1LjQxMSAxMy41IDYgMTMuNXMxLjE3NS4xMTQgMS42MzkuMzQ2Ljg2MS42MzIuODYxIDEuMTU0aDEwLjE2YTEwIDEwIDAgMCAwIDEuMDE1LTIuNXpNLjA1NiA5QTEwIDEwIDAgMCAwIDAgMTBhMTAgMTAgMCAwIDAgLjA1NiAxaDE5Ljg4N0ExMCAxMCAwIDAgMCAyMCAxMGExMCAxMCAwIDAgMC0uMDUtMXpNMi40MSAzLjVsLS40MDEuNUgxOGwtLjQwMi0uNXpNMS4zNCA1bC0uMjY1LjVIMTguOTNsLS4yNzEtLjV6bS0uNDg1Ljk3MWExMCAxMCAwIDAgMC0uMzgyIDFIMTkuNTNhMTAgMTAgMCAwIDAtLjM3OC0xeiIvPjxlbGxpcHNlIGN4PSI2IiBjeT0iMTUiIHJ4PSIyIiByeT0iMSIvPjwvZz48Y2lyY2xlIGN4PSIxNSIgY3k9IjEwIiByPSIxLjc1Ii8+PHBhdGggZD0iTTQuNzQ1IDE4LjVsLjQyNC4yNWg5LjY2MWwuNDI0LS4yNXptLTEuMzUtMWwuNjE2LjVoMTEuOTc3bC42MTYtLjV6IiBmaWxsPSIjYTAyIi8+PC9zdmc+Cg== :target: https://euporie.readthedocs.io/en/latest/_static/lite.html :alt: Try euporie online in your browser
.. |License| image:: https://img.shields.io/github/license/joouha/euporie?style=flat&color=purple :target: https://github.com/joouha/euporie/blob/main/LICENSE :alt: View license
.. |Stars| image:: https://img.shields.io/github/stars/joouha/euporie?style=flat&color=gold :target: https://github.com/joouha/euporie/stargazers :alt: ⭐