xeus-python + JupyterLite deployed as a static site to GitHub Pages, for demo purposes.
https://jupyterlite.github.io/xeus-python-demo/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.
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
- conda-forge
dependencies:
- xeus-python
- numpy
- matplotlibOnly no-arch packages from conda-forge and packages from emscripten-forge can be installed.
- How do I know if a package is
no-archonconda-forge?no-archmeans that the package is OS-independent, usually pure-python packages areno-arch. To check if your package isno-archonconda-forge, check if the "Platform" entry is "no-arch" in the https://beta.mamba.pm/channels/conda-forge?tab=packages page. If your package is notno-archbut is a pure Python package, then you should probably update the feedstock to turn your package into ano-archone.
- How do I know if my package is on
emscripten-forge? You can see the list of packages pubished onemscripten-forgehere. In case your package is missing, or it's not up-to-date, feel free to open an issue or a PR on https://github.com/emscripten-forge/recipes.
