JupyterHub Apps Launcher es un iniciador de servidores generalizado. El objetivo de este proyecto es admitir el lanzamiento de cualquier cosa como, por ejemplo, un servidor Flask, un servidor FastAPI o un panel de control mediante un comando proporcionado por el usuario. Actualmente, se admiten los siguientes marcos:
pip install jhub-apps
o vía conda
conda install -c conda-forge jhub-apps
conda env create -f environment-dev.yml
conda activate jhub-apps-dev
pip install -e .
Para desarrollar la interfaz de React UI, ejecute también:
cd ui
npm install
cd -
Establezca la siguiente variable de entorno:
export JHUB_APP_JWT_SECRET_KEY= $( openssl rand -hex 32 )
Inicie JupyterHub:
jupyterhub -f jupyterhub_config.py
Ahora vaya a http://127.0.0.1:8000/hub/home para acceder al Iniciador de aplicaciones JHub
El servicio Hub se expone a través de puntos finales FastAPI. Se puede acceder a la documentación del mismo en: http://127.0.0.1:10202/services/japps/docs
Para probar puntos finales autenticados, haga clic en el botón Autorizar en la parte superior derecha de la URL anterior, elija OAuth2AuthorizationCodeBearer
y haga clic en Autorizar.
Nota: Para desarrollar localmente, tanto el backend de JupyterHub como el frontend de React UI deben estar ejecutándose.
jupyterhub -f jupyterhub_config.py
ui
: npm run watch
pytest jhub_apps/tests
pytest jhub_apps/tests/tests_e2e -vvv -s --headed
JHub Apps se ha probado con JupyterHub local usando SimpleLocalProcessSpawner
y con The Littlest JupyterHub usando SystemdSpawner
.
pip install git + https : // github . com / nebari - dev / jhub - apps . git
jupyterhub_config.py
de The Littlest JupyterHub 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"
# Pass in the path to jupyterhub config
c . JAppsConfig . jupyterhub_config_path = "jupyterhub_config.py"
# Either a static list of conda environments to show in the
# create panel apps form or a callable to fetch conda enviornments
# dynamically, e.g. from conda-store API
c . JAppsConfig . conda_envs = []
c = install_jhub_apps ( c , UserCreatingSpawner )