xeus-python + JupyterLite deployed as a static site to GitHub Pages, for demo purposes.
https://jupyterlite.github.io/xeus-python-demo/retro/notebooks/?path=demo.ipynb
- Is based on Pyodide
- Uses IPython for the code execution (access to IPython magics, support for the inline Matplotlib backend, etc)
- Provides a way to dynamically install packages with
piplite(e.g.await piplite.install("ipywidgets")) - Does not support sleeping with
from time import sleep - Does not support pre-installing packages
- Is based on xeus-python
- Uses IPython for the code execution (access to IPython magics, support for the inline Matplotlib backend, etc)
- Does not provide a way to dynamically install packages (yet. We are working on building a
mambapackage manager for WASM) - Supports sleeping with
from time import sleep - Supports pre-installing packages from
emscripten-forgeandconda-forge, by providing anenvironment.ymlfile defining the runtime environment
Then your site will be published under https://{USERNAME}.github.io/{DEMO_REPO_NAME}
You can pre-install extra packages for xeus-python by adding them to the environment.yml file.
Only no-arch packages from conda-forge and packages from emscripten-forge can be installed.
For example, if you want to create a JupyterLite deployment with NumPy and Matplotlib pre-installed, you would need to edit the environment.yml file as following:
name: xeus-python-kernel
channels:
- https://repo.mamba.pm/emscripten-forge
- https://repo.mamba.pm/conda-forge
dependencies:
- numpy
- matplotlib