jupyterlite / pyodide-kernel

Python kernel for JupyterLite powered by Pyodide
https://jupyterlite-pyodide-kernel.readthedocs.io/en/latest/_static/
BSD 3-Clause "New" or "Revised" License
46 stars 24 forks source link

Investigate new micropip features #40

Open bollwyvl opened 1 year ago

bollwyvl commented 1 year ago

Problem

We still carry a lot of patches, managed as full-fat wheel builds, #27 adds more.

Proposed Solution

Investigate whether new micropip features make this more reasonable.

Additional context

extracted from #39

bollwyvl commented 6 months ago

The micropip options were a bit too complex to solve in the otherwise-small #103. While these could still be added to piplite configuration somehow, it may be moot if we can get a closed form, build-time solution that generated a well-formed pyodide-lock.json, currently under investigation.

bollwyvl commented 6 months ago

Ok, I've got an (unreleased) jupyterlite-pyodide-lock up to a working state. There are some temporary docs with demo up, which also includes a deployed lockfile and wheel.

Right now it works with well-known locations of firefox and chrom(e|ium) over either:

Due to the hard dependency on (alpha) pyodide-lock, and the general flakiness of browser automation, this should probably not land in pyodide-kernel itself any time soon, though likely should be mentioned in the appropriate docs.

Other techniques (nodejs, playwright, pyppetteer, an embedded qt browser) are certainly possible, and could be added via the jupyterlite_pyodide_lock.locker.v0 entrypoint, but... I personally have no interest in maintaining them.

bollwyvl commented 6 months ago

and of course not precious about where this actually gets released from, if it makes more sense for it to be in the org.