jhub apps
2024.10.1
JupyterHub Apps Launcher 是一个通用的服务器启动器。该项目的目标是支持通过用户提供的命令启动 Flask 服务器、FastAPI 服务器或面板仪表板等任何东西。目前支持以下框架:
pip install jhub-apps
或通过康达
conda install -c conda-forge jhub-apps
conda env create -f environment-dev.yml
conda activate jhub-apps-dev
pip install -e .
要开发 React UI 前端,还需运行:
cd ui
npm install
cd -
设置以下环境变量:
export JHUB_APP_JWT_SECRET_KEY= $( openssl rand -hex 32 )
启动 JupyterHub:
jupyterhub -f jupyterhub_config.py
现在访问 http://127.0.0.1:8000/hub/home 访问 JHub Apps Launcher
Hub 服务通过 FastAPI 端点公开。可以访问相同的文档:http://127.0.0.1:10202/services/japps/docs
要尝试经过身份验证的端点,请单击上述 URL 右上角的授权按钮,然后选择OAuth2AuthorizationCodeBearer
并单击授权。
注意:为了进行本地开发,JupyterHub 后端和 React UI 前端都应该运行。
jupyterhub -f jupyterhub_config.py
ui
目录的单独终端中运行以下命令: npm run watch
pytest jhub_apps/tests
pytest jhub_apps/tests/tests_e2e -vvv -s --headed
JHub Apps 已使用SimpleLocalProcessSpawner
与本地 JupyterHub 以及使用SystemdSpawner
的 Littlest JupyterHub 进行了测试。
pip install git + https : // github . com / nebari - dev / jhub - apps . git
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"
# 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 )