JupyterHub Apps Launcher is a generalized server launcher. The goal of this project is to support launching anything like say a Flask Server, FastAPI server or a Panel Dashboard via a user supplied command. Currently, the following frameworks are supported:
- Panel
- Bokeh
- Streamlit
- Plotly Dash
- Voila
- Gradio
- JupyterLab
- Generic Python Command
conda env create -f environment-dev.yml
pip install -e .
jupyterhub -f jupyterhub_config.py
pytest jhub_apps/tests
pytest jhub_apps/tests_e2e -vvv -s --headed
JHub Apps has been tested with local JupyterHub using SimpleLocalProcessSpawner
and with
The Littlest JupyterHub using SystemdSpawner
.
- Install JHub Apps
pip install git+https://github.com/nebari-dev/jhub-apps.git
- Add the following in The Littlest JupyterHub's
jupyterhub_config.py
from tljh.user_creating_spawner import UserCreatingSpawner
from jhub_apps.configuration import install_jhub_apps
c.JupyterHub.bind_url = "<YOUR_JUPYTERHUB_URL>"
c.SystemdSpawner.unit_name_template = 'jupyter-{USERNAME}{JHUBSERVERNAME}'
c.JAppsConfig.apps_auth_type = "oauth" # or none (if you don't want authentication on apps)
c.JAppsConfig.python_exec = "python3"
c = install_jhub_apps(c, UserCreatingSpawner)