Use JupyterLab by default¶
By default JupyterHub uses the classic Notebook frontend. Several alternative UIs are supported, one of which is JupyterLab. This provides a more featured UI, with a whole ecosystem of extensions. It looks like this (borrowed from the JupyterLab documentation):

Installation¶
To enable, first install jupyterlab
in the notebook environment not the JupyterHub environment.
# Install using conda
$ conda install -c conda-forge jupyterlab
# Or install with pip
$ pip install jupyterlab
Next, optionally install the JupyterLab Hub extension into the notebook (not the JupyterHub) environment. This isn’t strictly necessary, but adds a JupyterHub control panel to the JupyterLab UI allowing easier login/logout.
$ jupyter labextension install @jupyterlab/hub-extension
Finally, configure JupyterHub to start start JupyterLab instead of Jupyter Notebook by default on startup.
# Start users in JupyterLab by default c.YarnSpawner.default_url = '/lab' # Start JupyterLab with the hub extension (only required if you # installed the JupyterLab Hub extension above) c.YarnSpawner.cmd = ['python -m yarnspawner.jupyter_labhub']
For more information see the JupyterLab on JupyterHub and JupyterLab Hub Extension documentation.
Useful Extensions¶
JupyterLab has a whole ecsystem of useful extensions. As above, extensions must be installed in the notebook environment to properly work. Below we list a few that may be useful.