Skip to main content

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:

  1. Manifest (/pwa/manifest.json) — web app manifest with name, icons, start_url, scope, display: standalone.
  2. Service worker (/pwa/sw.js) — minimal SW with install, activate, and fetch event listeners (enough for Chrome's installability criterion).
  3. 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)

Source distribution for jupyterlab-pwa 0.1.1
File Size Uploaded
jupyterlab_pwa-0.1.1.tar.gz 37.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlab-pwa 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page