Skip to main content

jupyterlite-pyodide-kernel

A Python kernel for JupyterLite powered by Pyodide,

ci-badge lite-badge docs-badge

Install

To install the Pyodide kernel labextension and the CLI addons for jupyter lite, run:

pip install jupyterlite-pyodide-kernel

or with conda, mamba, micromamba, etc.

conda install -c conda-forge jupyterlite-pyodide-kernel

For more options see the development install or contributing guide.

Optional Features

Lock

Install the [lock] extra for compatible versions of pyodide-lock and uv, used to add local or PyPI packages and their import name and dependency information to the Pyodide lockfile:

  • from PyPI: jupyterlite-pyodide-kernel[lock]
  • from conda-forge: jupyterlite-pyodide-kernel-with-lock

Compatibility

With Jupyter

status jupyterlite-pyodide-kernel jupyterlite-core jupyterlab notebook retrolab
stable 0.8.* >=0.8,<0.9 >=4.6.0,<4.7 >=7.6.0,<7.7 -
stable 0.7.* >=0.7,<0.8 >=4.5.0,<4.6 >=7.5.0,<7.6 -
stable 0.6.* >=0.6,<0.7 >=4.4.3,<4.5 >=7.4.3,<7.5 -
stable 0.5.* >=0.5,<0.6 >=4.3.0,<4.4 >=7.3.0,<7.4 -
stable 0.4.* >=0.4,<0.5 >=4.2.0,<4.3 >=7.2.0,<7.3 -
stable 0.3.* >=0.3,<0.4 >=4.1.1,<4.2 >=7.1.0,<7.2 -
stable 0.2.* >=0.2,<0.3 >=4.0.7,<4.1 >=7.0.5,<7.1 -
stable 0.1.* >=0.1,<0.2 >=3.5,<3.6 - >=0.3,<0.4

Installing the matching version of JupyterLab with your package manager can help ensure matching labextension assets and kernel dependencies, even though this kernel does not yet work in a full, jupyter_server-hosted client such as JupyterLab or Notebook.

With Pyodide

jupyterlite-pyodide-kernel pyodide python emscripten pyodide-lock uv
>=0.1.0,<=0.1.1 0.23.* 3.10.* 3.1.29
>=0.1.2,<=0.2.1 0.24.* 3.10.* 3.1.45
>=0.2.2,<=0.2.3 0.25.* 3.11.* 3.1.46
>=0.3.*,<=0.4.0 0.25.* 3.11.* 3.1.46
>=0.4.*,<=0.4.6 0.26.* 3.12.* 3.1.58
>=0.4.7,<=0.5.0 0.27.* 3.12.* 3.1.58
>=0.5.0,<=0.6.0 0.27.* 3.12.* 3.1.58
>=0.6.0,<=0.7.0 0.27.* 3.12.* 3.1.58
>=0.7.0,<=0.8.0 0.29.* 3.13.* 4.0.9
>=0.8.0,<=0.9.0 314.* 3.14.* 5.0.3 >=0.1.3,<0.2 >=0.9.27

Note: the Emscripten version is strict down to the patch version.

Usage

Once installed, building a JupyterLite site will include a kernel which uses the full Pyodide CDN distribution:

jupyter lite build

The build configuration of the Pyodide distribution, the kernel, and package import behavior can be configured in jupyter_lite_config.json. Some features can be configured with CLI aliases and flags. See the full current list by running:

jupyter lite --help

This should show something like the following:

... for configuring the Pyodide distribution
  --pyodide=<Unicode>
      Local path or URL of a pyodide distribution tarball
      Default: ''
      Equivalent to: [--PyodideAddon.pyodide_url]
... adding extra wheels, installable at runtime with %pip
  --piplite-wheels=<typedtuple-item-1>...
      Local paths or URLs of piplite-compatible wheels to copy and index
      Default: ()
      Equivalent to: [--PipliteAddon.piplite_urls]
.... patching the Pyodide lockfile for automatically imported packages
# flags
--pyodide-lock
    Use pyodide-lock and uv to customize pyodide-lock.json
    Equivalent to: [--PyodideLockAddon.enabled=True]
--pyodide-lock-no-constrain-extensions
    Add ``LiteBuildConfig.federated_extensions`` to constraints
    Equivalent to: [--PyodideLockAddon.constrain_extensions=False]

# options
--pyodide-lock-url=<Unicode>
    URL of a remote pyodide-lock.json:
    https://cdn.jsdelivr.net/pyodide/v314.0.0/full/pyodide-lock.json
    Default: ''
    Equivalent to: [--PyodideLockAddon.pyodide_lock_url]
--pyodide-lock-wheels=<typedtuple-item-1>...
    paths to local wheels or folders to include in pyodide-lock.json
    Default: ()
    Equivalent to: [--PyodideLockAddon.wheels]
--pyodide-lock-constraints=<typedtuple-item-1>...
    PEP-508 specs for Python packages to lock only if required in pyodide-
    lock.json; may include ``-r/--requirements`` and  ``-g/--group`` relative to
    ``lite_dir``
    Default: ()
    Equivalent to: [--PyodideLockAddon.constraints]
--pyodide-lock-lite-constraints=<Unicode>
    path relative to ``lite_dir`` to a ``requirements.txt``-style file with
    versions of all `none-any.whl` packages from pyodide-lock.json written if
    missing, otherwise added to ``constraints`` and left unchanged
    Default: ''
    Equivalent to: [--PyodideLockAddon.lite_constraints_file]
--pyodide-lock-specs=<typedtuple-item-1>...
    PEP-508 specs for Python packages to include in pyodide-lock.json; may
    include ``-r/--requirements`` and ``-g/--group`` relative to ``lite_dir``
    Default: ()
    Equivalent to: [--PyodideLockAddon.specs]
--pyodide-lock-excludes=<typedtuple-item-1>...
    extra Python package names to exclude from pyodide-lock.json
    Default: ()
    Equivalent to: [--PyodideLockAddon.excludes_extra]
--pyodide-lock-prefetch=<typedtuple-item-1>...
    extra Python package names from pyodide-lock.json to prefetch while
    initializing Pyodide
    Default: ()
    Equivalent to: [--PyodideLockAddon.prefetch_extra]

Learn more

⚠️ The documentation for advanced configuration is available from the main JupyterLite documentation site:

Uninstall

To remove the extension, run:

pip uninstall jupyterlite-pyodide-kernel  # or however you installed it

Prerelease Versions

To install pre-release versions with pip:

pip install --upgrade --pre jupyterlite-pyodide-kernel

Or, similarly for the conda ecosystem, for alpha packages:

conda install \
  -c conda-forge/label/jupyterlite_core_alpha \
  -c conda-forge/label/jupyterlite_pyodide_kernel_alpha \
  -c conda-forge \
  jupyterlite-pyodide-kernel

Note: _beta and _rc packages would follow a similar channel naming convention

Development Install

Below is an short overview of getting up and running quickly. Please see the contributing guide for full details.

Development Requirements

Recommended a Python virtual environment provided by a tool of choice, e.g. one of:

  • virtualenv
  • mamba
  • conda

Ensure the local development environment has:

  • git
  • nodejs 22
  • python >=3.8

Development Quick Start

git clone https://github.com/jupyterlite/pyodide-kernel
cd pyodide-kernel
npm run quickstart

Then, serve the built demo site, documentation, and test reports with Python's built-in HTTP server:

jlpm serve

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterlite_pyodide_kernel-0.8.3.tar.gz (312.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyterlite_pyodide_kernel-0.8.3-py3-none-any.whl (325.5 kB view details)

Uploaded Python 3

File details

Details for the file jupyterlite_pyodide_kernel-0.8.3.tar.gz.

File metadata

File hashes

Hashes for jupyterlite_pyodide_kernel-0.8.3.tar.gz
Algorithm Hash digest
SHA256 a863be962aaba5d442bfa7c7121be0a7926c1c3887bd703ec84cfc6b320dce0c
MD5 9cd5a34408172cda46757dee74b9f2b5
BLAKE2b-256 70349787effcea96624dec90f17417f7565f923d64b0a171b5c2849e1ccd4e5a

See more details on using hashes here.

File details

Details for the file jupyterlite_pyodide_kernel-0.8.3-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlite_pyodide_kernel-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f526b4c07a62c46ea671a6d468cff366125ea26bf6fabcb72287999a1b48fe95
MD5 1a05e003652a64a5e9d62be84fd89c21
BLAKE2b-256 003abe49c600e17d3439079b863e1c09a95daf3df8d50ec167a42f2ec4d9b767

See more details on using hashes here.

Release history Release notifications | RSS feed

0.8.5

2 files

0.8.4

2 files

This release

0.8.3 This release

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.7.0a4

2 files

0.6.1

2 files

0.6.0

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page