Skip to content

AuroraSmil/pyconde-jupyterlite-tutorial

 
 

Repository files navigation

xeus-python + JupyterLite demo

lite-badge

xeus-python + JupyterLite deployed as a static site to GitHub Pages, for demo purposes.

✨ Try it in your browser ✨

https://jupyterlite.github.io/xeus-python-demo/retro/notebooks/?path=demo.ipynb

≠ How does it compare to the Pyodide kernel?

Pyodide kernel:

  • 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

jupyterlite-xeus-python:

  • 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 mamba package manager for WASM)
  • Supports sleeping with from time import sleep
  • Supports pre-installing packages from emscripten-forge and conda-forge, by providing an environment.yml file defining the runtime environment

💡 How to make your own deployment

Deploy your own

Then your site will be published under https://{USERNAME}.github.io/{DEMO_REPO_NAME}

📦 How to install extra packages

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

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%