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 )