Euporie Hub

Euporie Hub allows a group of users to share the power of euporie over a multi-user SSH server, akin to JupyterHub.

It is launched by running euporie with the hub subcommand:

$ euporie hub

User Guide

Euporie hub requires a set of SSH host keys to run, which can be generated as follows:

$ ssh-keygen -t ed25519 -f ssh_host_ed25519_key

Euporie hub can then be run as follows, specifying the host and client key locations:

$ euporie-hub --host-keys ssh_host_ed25519_key --client-keys ~/.ssh/authorized_keys

You should now be able to log on using one of the SSH keys which appear in your authorized_keys file.


Command Line Interface

Usage

$ euporie-hub [-h] [--version] [--clipboard {external,internal,terminal}]
                   [--log-file [str]]
                   [--log-level {debug,info,warning,error,critical}]
                   [--log-config str] [--show-shadows | --no-show-shadows]
                   [--show-status-bar | --no-show-status-bar]
                   [--set-cursor-shape | --no-set-cursor-shape]
                   [--cursor-blink | --no-cursor-blink]
                   [--edit-mode {micro,emacs,vi}] [--tab-size int]
                   [--terminal-polling-interval float] [--formatters loads]
                   [--syntax-highlighting | --no-syntax-highlighting]
                   [--syntax-theme str] [--color-depth {1,4,8,24}]
                   [--multiplexer-passthrough | --no-multiplexer-passthrough]
                   [--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}]
                   [--force-graphics | --no-force-graphics]
                   [--enable-language-servers | --lsp | --no-enable-language-servers | --no-lsp]
                   [--language-servers loads] [--app {notebook,console}]
                   [--host str] [--port int] [--host-keys [UPath ...]]
                   [--client-keys [UPath ...]] [--auth | --no-auth]
                   [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

--clipboard {external,internal,terminal}

The preferred clipboard access method

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

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

Show the status bar

--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 <float>

Time between terminal colour queries

--formatters <loads>

List of external code formatters

--syntax-highlighting, --no-syntax-highlighting

Syntax highlighting

--syntax-theme <str>

Syntax highlighting theme

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

The color depth to use

--multiplexer-passthrough, --no-multiplexer-passthrough

Use passthrough from within terminal multiplexers

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

--force-graphics, --no-force-graphics

Force use of specified graphics protocol

--enable-language-servers, --lsp, --no-enable-language-servers, --no-lsp

Enable language server support

--language-servers <loads>

Language server configurations

--app {notebook,console}

App to run under euporie hub

--host <str>

The host address to bind to

--port <int>

The port for the ssh server to use

--host-keys <UPath> ...

Host keys to use for the SSH server

--client-keys <UPath> ...

Client public keys authorized to connect

--auth, --no-auth

Allow unauthenticated access to euporie hub


Available Commands