jupyterlab-pwa
Progressive Web App (PWA) support for JupyterLab.
Makes JupyterLab installable (Chrome/Edge "Install app" button, iOS "Add to Home Screen") by serving a web app manifest, a service worker with a fetch handler, and injecting PWA tags into JupyterLab's HTML — all from the user server. No JupyterHub config or ingress changes required.
Install
pip install jupyterlab-pwa
The server extension auto-loads via the _jupyter_server_extension_points
entry point. No manual configuration needed.
How it works
Three pieces, all served by the user pod:
- Manifest (
/pwa/manifest.json) — web app manifest with name, icons,start_url,scope,display: standalone. - Service worker (
/pwa/sw.js) — minimal SW withinstall,activate, andfetchevent listeners (enough for Chrome's installability criterion). - HTML injection — wraps JupyterLab's
LabHandler.get()to inject<link rel="manifest">and<script>navigator.serviceWorker.register()</script>into the rendered HTML, before</head>.
This matches how code-server handles PWA — all logic lives in the application, served by its own routes, tags in its own HTML.
Metadata
Release files for jupyterlab-pwa 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyterlab_pwa-0.1.1.tar.gz | 37.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_pwa-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.3 kB
Release files / jupyterlab_pwa-0.1.1.tar.gz
| Download URL | jupyterlab_pwa-0.1.1.tar.gz |
|---|---|
| Size | 37.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
734a422b963240a7728c6970c95672d8760247aa0f5071cda63b72124fbd80b1
|
|
BLAKE2b-256 checksum How to use checksums |
da575df08dcbaf30e26840132aeccfee40321cdeeb1215275d01b76127119153
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / jupyterlab_pwa-0.1.1-py3-none-any.whl
| Download URL | jupyterlab_pwa-0.1.1-py3-none-any.whl |
|---|---|
| Size | 38.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c869d2fc2395ea75e5dd782de1acc2f95d77d35ec7e668ad0c8097323048fe4f
|
|
BLAKE2b-256 checksum How to use checksums |
36fe40d2bdf70ec8a40fb1dfd3d84480a4a7755432f1a9ac92de98b4e768f860
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|