jtpio / jupyverse

A Jupyter server based on FastAPI (Experimental)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Code style: black

jupyverse

jupyverse is experimental and should not be used in place of jupyter-server, which is the official Jupyter server.

A set of FPS plugins implementing a Jupyter server.

Try it online:

  • JupyterLab frontend: Binder
  • RetroLab frontend: Binder

Motivation for Experimental Server

For the motivations behind this project, please refer to this issue in the Jupyter server team compass.

Install

pip install jupyverse[jupyterlab]

Note: at this stage of development, it is preferable to install from sources (see below).

Development install

Clone this repository and install the needed plugins:

pip install -e .[jupyterlab] --no-deps
pip install -e plugins/jupyterlab
pip install -e plugins/contents
pip install -e plugins/kernels
pip install -e plugins/terminals
pip install -e plugins/nbconvert
pip install -e plugins/yjs
pip install -e plugins/auth

# you should also install the latest FPS:
pip install git+https://github.com/jupyter-server/fps

# if you want RetroLab instead of JupyterLab:
# pip install -e .[retrolab] --no-deps
# pip install -e plugins/retrolab
# ...

Usage

Without authentication

jupyverse --open-browser --authenticator.mode=noauth

This will open a browser at http://127.0.0.1:8000 by default, and load the JupyterLab front-end. You have full access to the API, without restriction.

With token authentication

jupyverse --open-browser --authenticator.mode=token

This is the default mode, and it corresponds to Jupyter Server's token-based authentication.

With user authentication

jupyverse --open-browser --authenticator.mode=user

We provide a JupyterLab extension for authentication, that you can install with:

pip install git+https://github.com/davidbrochart/jupyverse-auth

You can currently authenticate as an anonymous user, or using a GitHub account.

With collaborative editing

jupyverse --open-browser --Lab.collaborative

This is especially interesting if you are "user-authenticated", since your will appear as the identity you chose for authentication.

About

A Jupyter server based on FastAPI (Experimental)

License:Other


Languages

Language:Python 99.3%Language:Shell 0.7%