Install
Jupyverse can be installed to run either JupyterLab or RetroLab.
With pip
For the JupyterLab frontend:
pip install "jupyverse[jupyterlab,auth]"
pip install "jupyverse[retrolab,auth]"
With micromamba
We recommend using micromamba
to manage conda-forge environments
(see micromamba
's
installation instructions).
First create an environment, here called jupyverse
, and activate it:
micromamba create -n jupyverse
micromamba activate jupyverse
For the JupyterLab frontend:
micromamba install -c conda-forge jupyverse fps-jupyterlab fps-auth
micromamba install -c conda-forge jupyverse fps-retrolab fps-auth
Development install
You first need to clone the repository:
git clone https://github.com/jupyter-server/jupyverse.git
cd jupyverse
We recommend working in an isolated conda environment, in which hatch will manage sub-environments:
micromamba create -n jupyverse-dev
micromamba activate jupyverse-dev
micromamba install -c conda-forge hatch
hatch env show
will show the available environments:
Standalone
┏━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ Name ┃ Type ┃ Features ┃ Scripts ┃
┡━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ default │ virtual │ │ │
├─────────┼─────────┼──────────┼─────────┤
│ docs │ virtual │ docs │ build │
│ │ │ │ serve │
└─────────┴─────────┴──────────┴─────────┘
Matrices
┏━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Name ┃ Type ┃ Envs ┃ Features ┃ Scripts ┃
┡━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━┩
│ dev │ virtual │ dev.jupyterlab-noauth │ test │ lint │
│ │ │ dev.jupyterlab-auth │ │ test │
│ │ │ dev.jupyterlab-auth_fief │ │ typecheck │
│ │ │ dev.retrolab-noauth │ │ │
│ │ │ dev.retrolab-auth │ │ │
│ │ │ dev.retrolab-auth_fief │ │ │
└──────┴─────────┴──────────────────────────┴──────────┴───────────┘
Note
The default
environment will install all the plugins from PyPI, not from
your local repository. The dev
environment installs all plugins in editable mode
from your local repository. So you want to use the dev
environment.
Currently, the dev
environment matrix consists of all combinations of frontends
(jupyterlab
, retrolab
) and authentication methods (noauth
, auth
, auth_fief
),
which leads to six environments.
A number of scripts are available in the dev
environments. They can be
executed using hatch run {env}:{script}
. You can also execute anything that you would
execute in your shell. For instance, to run Jupyverse for the jupyterlab
frontend and
without authentication, enter:
hatch run dev.jupyterlab-noauth:jupyverse
Tests should be executed using the dev.jupyterlab-auth
environment:
hatch run dev.jupyterlab-auth:test
hatch run {env}:
. To do so, just enter:
hatch -e dev.jupyterlab-auth shell
jupyverse
.
To exit the environment, just enter exit
.
As the plugins are all installed in editable mode, you could start an instance of Jupyverse in each environment and see how code changes interact with plugins at the same time.
Finally, hatch run docs:serve
can be used to view documentation changes.
If you ever need to start from a fresh environment, you can remove them individually:
hatch env remove dev.jupyterlab-auth
hatch env prune