jupyterlite / jupyterlite/pyodide-kernel

Build reproducible JupyterLite site archives inside pyodide kernel

Open
#33 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
90
Forks
47
Avg merge
3d 13h
Merged PRs (30d)
11

Description

### Problem

Building a JupyterLite site still requires a semi-heavy python backend.

### Proposed Solution

Create a [wrapper kernel](https://github.com/jupyterlite/pyodide-kernel/issues/28) that shims enough packages until the Python API equivalent of `jupyter lite archive` works inside pyodide inside a running JupyterLite site.

This would allow for writing content and delivering a portable site archive directly to contents.

This would be improved, but is not blocked by https://github.com/jupyterlite/jupyterlite/issues/982. This would open the door for other distribution mechanisms (e.g. P2P like `webtorrent`, `git bundle`, etc).

### Additional context

At present, some things that are kinda broken:

- `jupyter(lab)_server` would need shimming for contents and translation
- `micropip` doesn't install `data_files` https://github.com/pyodide/micropip/issues/18
- but, unlike in pip, we probably _would_ know the exact wheel URL they came from, which is almost better
- HTTP fetching
- some upstreams might not work because of CORS, etc

### References
- spurred by https://github.com/jupyterlite/pyodide-kernel/issues/32#issuecomment-1471953595

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.