Ship additional Pyodide wheels at build time#
User-installable wheels can be included at extension build time. Wheel indices can be
generated with the jupyter lite pip index
CLI and then included in
package.json#/piplite
: make sure to include the index and .whl
files in
package.json#/files
as well.
Adding wheels to the Pyodide kernel#
The Pyodide kernel itself consists of a bit of JavaScript and customized python wheels, which in turn require other wheels and pre-built WASM modules and other JavaScript.
Extra wheels that can be installed via piplite
in a running kernel can be added via
the --piplite-wheels
CLI flag or PipliteAddon/piplite_urls
config value, or simply
left in-place in lite_dir/pypi
.
These will be:
downloaded to the local cache
copied into
{output-dir}/pypi
indexed into an
all.json
with data similar to the [PyPI Warehouse API]added to
pipliteUrls
injupyter-lite.json
If a package is not found in one of these URLs, it will be sought on the main Python
Package Index (PyPI). This behavior can be disabled via jupyter-lite.json
:
"jupyter-config-data": {
"litePluginSettings": {
"@jupyterlite/pyodide-kernel-extension:kernel": {
"disablePyPIFallback": true
}
}
}