Bug reports and fixes are welcome. Open an issue first for anything larger than a fix.
./scripts/vendor_pyscript.sh
python3 -m unittest discover -s tests -vThe suite checks that the shell, service worker, manifest and pyscript.json
agree: the JSON parses, every local file index.html and sw.js mention
exists, the PyDevices source URLs are pinned to the release the test names, the
page uses the Pyodide interpreter, and pwa.js leaves the browser's own install
prompt alone. Two tests also run tests/worklet_sim.mjs under Node to check the
audio worklet's queue. It does not replace a real browser test of pointer
input, installation or offline caching.
Read tests/test_template.py before moving a shell file or adding a generated
asset to the cache list.
- PyScript. Change
PYSCRIPT_VERSIONinscripts/vendor_pyscript.sh. Check https://pyscript.net/releases/ and confirmhttps://pyscript.net/releases/<version>/offline_<version>.zipreturns 200 before committing. Re-run./scripts/vendor_pyscript.shand the tests. The wheel tag in Bring in a bigger app depends on the Pyodide that release ships. - PyDevices sources. Every URL in
pyscript.jsonnames one PyDevices release. Change them together and update the release string intests/test_template.py, then load the app in a browser. - Cache. Change
VERSIONinsw.jswhenever you change a cached file, so browsers that already have the app pick the change up.
The pages are plain Markdown under docs/, starting at
docs/index.md. There is no docs build. Check that any link you
add resolves.
The template has no packages and no version of its own: a change is released
by merging it to main, and users get it the next time they press Use this
template or pull.