jhub apps
2024.10.1
JupyterHub Apps Launcher は、汎用的なサーバー ランチャーです。このプロジェクトの目標は、ユーザーが指定したコマンドを介して、Flask サーバー、FastAPI サーバー、パネル ダッシュボードなどの起動をサポートすることです。現在、次のフレームワークがサポートされています。
pip install jhub-apps
またはconda経由
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
を使用する The 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 )