PWA (Progressive Web App) support for JupyterLab — manifest, service worker, installability
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupyterlab_pwa-0.1.1.tar.gz.
File metadata
- Download URL: jupyterlab_pwa-0.1.1.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
734a422b963240a7728c6970c95672d8760247aa0f5071cda63b72124fbd80b1
|
|
| MD5 |
643e403b7ae0b2b3b8c0323f4ca337d0
|
|
| BLAKE2b-256 |
da575df08dcbaf30e26840132aeccfee40321cdeeb1215275d01b76127119153
|
File details
Details for the file jupyterlab_pwa-0.1.1-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_pwa-0.1.1-py3-none-any.whl
- Upload date:
- Size: 38.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c869d2fc2395ea75e5dd782de1acc2f95d77d35ec7e668ad0c8097323048fe4f
|
|
| MD5 |
818c5770a926760c273becba3a4daa5a
|
|
| BLAKE2b-256 |
36fe40d2bdf70ec8a40fb1dfd3d84480a4a7755432f1a9ac92de98b4e768f860
|