JupyterLite runs entirely in a web browser
I've only just stumbled across this. JupyterLite is a JupyterLab distribution that runs entirely in the browser built from the ground-up using JupyterLab components and extensions, no need to start a Python Jupyter server on the host machine.
You can try it out here https://jupyterlite.readthedocs.io/en/latest/_static/lab/index.html, all you need is a static web page.
Could be very useful for teaching.