├── .github ├── dependabot.yml └── workflows │ ├── check-KeyCloakAuthenticator.yml │ ├── ci.yml │ ├── release.yml │ └── swan-ci-ca.yml ├── .gitignore ├── .python-version ├── KeyCloakAuthenticator ├── .bumpversion.cfg ├── README.md ├── keycloakauthenticator │ ├── __init__.py │ ├── _version.py │ ├── auth.py │ ├── metrics.py │ └── tests │ │ ├── __init__.py │ │ └── test_auth.py └── pyproject.toml ├── LICENSE ├── README.md ├── SwanCuller ├── .bumpversion.cfg ├── README.md ├── pyproject.toml └── swanculler │ ├── __init__.py │ ├── __main__.py │ ├── _version.py │ └── app.py ├── SwanHub ├── .bumpversion.cfg ├── README.md ├── package-lock.json ├── package.json ├── pyproject.toml └── swanhub │ ├── __init__.py │ ├── __main__.py │ ├── _version.py │ ├── app.py │ ├── error_handler.py │ ├── handlers_configs.py │ ├── spawn_handler.py │ ├── static │ ├── css │ │ ├── fonts │ │ │ ├── Roboto-300.ttf │ │ │ ├── Roboto-400.ttf │ │ │ ├── swan-icons.eot │ │ │ ├── swan-icons.svg │ │ │ ├── swan-icons.ttf │ │ │ └── swan-icons.woff │ │ ├── icons.css │ │ ├── loading_clip.svg │ │ ├── style.less │ │ └── vars.less │ ├── images │ │ ├── hadoop.svg │ │ └── spark.png │ └── logos │ │ ├── favicon.ico │ │ ├── logo_cern.png │ │ ├── logo_swan_cloudhisto.png │ │ ├── logo_swan_letters.png │ │ ├── logo_swan_only_letters.png │ │ └── swan_letters_christmas.png │ ├── templates │ ├── 404.html │ ├── home.html │ ├── login.html │ ├── maintenance.html │ ├── not_running.html │ ├── page.html │ ├── spawn.html │ ├── spawn_conflict.html │ ├── spawn_pending.html │ ├── stop_pending.html │ └── unreachable_container.html │ └── userapi_handler.py ├── SwanNotificationsService ├── .bumpversion.cfg ├── Dockerfile ├── README.md ├── pyproject.toml └── swannotificationsservice │ ├── __init__.py │ ├── __main__.py │ ├── _version.py │ ├── app.py │ └── service.py ├── SwanSpawner ├── .bumpversion.cfg ├── README.md ├── options_form_config.json ├── pyproject.toml └── swanspawner │ ├── __init__.py │ ├── _gpuinfo.py │ ├── _version.py │ ├── swandockerspawner.py │ ├── swankubespawner.py │ ├── swanspawner.py │ └── templates │ └── options_form_template.html └── pyproject.toml /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/check-KeyCloakAuthenticator.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/.github/workflows/check-KeyCloakAuthenticator.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/swan-ci-ca.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/.github/workflows/swan-ci-ca.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/.gitignore -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | >=3.8 -------------------------------------------------------------------------------- /KeyCloakAuthenticator/.bumpversion.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/.bumpversion.cfg -------------------------------------------------------------------------------- /KeyCloakAuthenticator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/README.md -------------------------------------------------------------------------------- /KeyCloakAuthenticator/keycloakauthenticator/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/keycloakauthenticator/__init__.py -------------------------------------------------------------------------------- /KeyCloakAuthenticator/keycloakauthenticator/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/keycloakauthenticator/_version.py -------------------------------------------------------------------------------- /KeyCloakAuthenticator/keycloakauthenticator/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/keycloakauthenticator/auth.py -------------------------------------------------------------------------------- /KeyCloakAuthenticator/keycloakauthenticator/metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/keycloakauthenticator/metrics.py -------------------------------------------------------------------------------- /KeyCloakAuthenticator/keycloakauthenticator/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /KeyCloakAuthenticator/keycloakauthenticator/tests/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/keycloakauthenticator/tests/test_auth.py -------------------------------------------------------------------------------- /KeyCloakAuthenticator/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/KeyCloakAuthenticator/pyproject.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/README.md -------------------------------------------------------------------------------- /SwanCuller/.bumpversion.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/.bumpversion.cfg -------------------------------------------------------------------------------- /SwanCuller/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/README.md -------------------------------------------------------------------------------- /SwanCuller/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/pyproject.toml -------------------------------------------------------------------------------- /SwanCuller/swanculler/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/swanculler/__init__.py -------------------------------------------------------------------------------- /SwanCuller/swanculler/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/swanculler/__main__.py -------------------------------------------------------------------------------- /SwanCuller/swanculler/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/swanculler/_version.py -------------------------------------------------------------------------------- /SwanCuller/swanculler/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanCuller/swanculler/app.py -------------------------------------------------------------------------------- /SwanHub/.bumpversion.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/.bumpversion.cfg -------------------------------------------------------------------------------- /SwanHub/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/README.md -------------------------------------------------------------------------------- /SwanHub/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/package-lock.json -------------------------------------------------------------------------------- /SwanHub/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/package.json -------------------------------------------------------------------------------- /SwanHub/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/pyproject.toml -------------------------------------------------------------------------------- /SwanHub/swanhub/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/__init__.py -------------------------------------------------------------------------------- /SwanHub/swanhub/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/__main__.py -------------------------------------------------------------------------------- /SwanHub/swanhub/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/_version.py -------------------------------------------------------------------------------- /SwanHub/swanhub/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/app.py -------------------------------------------------------------------------------- /SwanHub/swanhub/error_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/error_handler.py -------------------------------------------------------------------------------- /SwanHub/swanhub/handlers_configs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/handlers_configs.py -------------------------------------------------------------------------------- /SwanHub/swanhub/spawn_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/spawn_handler.py -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/fonts/Roboto-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/fonts/Roboto-300.ttf -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/fonts/Roboto-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/fonts/Roboto-400.ttf -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/fonts/swan-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/fonts/swan-icons.eot -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/fonts/swan-icons.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/fonts/swan-icons.svg -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/fonts/swan-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/fonts/swan-icons.ttf -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/fonts/swan-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/fonts/swan-icons.woff -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/icons.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/icons.css -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/loading_clip.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/loading_clip.svg -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/style.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/style.less -------------------------------------------------------------------------------- /SwanHub/swanhub/static/css/vars.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/css/vars.less -------------------------------------------------------------------------------- /SwanHub/swanhub/static/images/hadoop.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/images/hadoop.svg -------------------------------------------------------------------------------- /SwanHub/swanhub/static/images/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/images/spark.png -------------------------------------------------------------------------------- /SwanHub/swanhub/static/logos/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/logos/favicon.ico -------------------------------------------------------------------------------- /SwanHub/swanhub/static/logos/logo_cern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/logos/logo_cern.png -------------------------------------------------------------------------------- /SwanHub/swanhub/static/logos/logo_swan_cloudhisto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/logos/logo_swan_cloudhisto.png -------------------------------------------------------------------------------- /SwanHub/swanhub/static/logos/logo_swan_letters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/logos/logo_swan_letters.png -------------------------------------------------------------------------------- /SwanHub/swanhub/static/logos/logo_swan_only_letters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/logos/logo_swan_only_letters.png -------------------------------------------------------------------------------- /SwanHub/swanhub/static/logos/swan_letters_christmas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/static/logos/swan_letters_christmas.png -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/404.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/home.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/login.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/maintenance.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/maintenance.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/not_running.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/not_running.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/page.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/page.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/spawn.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/spawn.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/spawn_conflict.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/spawn_conflict.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/spawn_pending.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/spawn_pending.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/stop_pending.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/stop_pending.html -------------------------------------------------------------------------------- /SwanHub/swanhub/templates/unreachable_container.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/templates/unreachable_container.html -------------------------------------------------------------------------------- /SwanHub/swanhub/userapi_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanHub/swanhub/userapi_handler.py -------------------------------------------------------------------------------- /SwanNotificationsService/.bumpversion.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/.bumpversion.cfg -------------------------------------------------------------------------------- /SwanNotificationsService/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/Dockerfile -------------------------------------------------------------------------------- /SwanNotificationsService/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/README.md -------------------------------------------------------------------------------- /SwanNotificationsService/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/pyproject.toml -------------------------------------------------------------------------------- /SwanNotificationsService/swannotificationsservice/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/swannotificationsservice/__init__.py -------------------------------------------------------------------------------- /SwanNotificationsService/swannotificationsservice/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/swannotificationsservice/__main__.py -------------------------------------------------------------------------------- /SwanNotificationsService/swannotificationsservice/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/swannotificationsservice/_version.py -------------------------------------------------------------------------------- /SwanNotificationsService/swannotificationsservice/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/swannotificationsservice/app.py -------------------------------------------------------------------------------- /SwanNotificationsService/swannotificationsservice/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanNotificationsService/swannotificationsservice/service.py -------------------------------------------------------------------------------- /SwanSpawner/.bumpversion.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/.bumpversion.cfg -------------------------------------------------------------------------------- /SwanSpawner/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/README.md -------------------------------------------------------------------------------- /SwanSpawner/options_form_config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/options_form_config.json -------------------------------------------------------------------------------- /SwanSpawner/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/pyproject.toml -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/__init__.py -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/_gpuinfo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/_gpuinfo.py -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/_version.py -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/swandockerspawner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/swandockerspawner.py -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/swankubespawner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/swankubespawner.py -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/swanspawner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/swanspawner.py -------------------------------------------------------------------------------- /SwanSpawner/swanspawner/templates/options_form_template.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/SwanSpawner/swanspawner/templates/options_form_template.html -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/swan-cern/jupyterhub-extensions/HEAD/pyproject.toml --------------------------------------------------------------------------------