pyodide/pyodide-lock

RFC 1: micropip.freeze() → `pyodide-lock.json`

rth opened this issue · 0 comments

rth commented

First very simple option for creating a pyodide-lock.json mixing Pyodide packages and PyPI packages consists of,

  1. install them with micropip,
  2. call micropip.freeze() to get the updated `pyodide-lock.json (cf pyodide/micropip#68).
  3. and then to make install on import work, parse the added wheel files and add the expected import names via #7

It can be done directly in the browser, but it's probably not optimal. The other solution is to do it in node (but this means a dependency on node).

The ideal case could be to run it native Python with micropip installed. I think it might be possible if we use the dependency resolution part but not the install part of micropip, but someone would need to try.

Alternative proposals: #9 #10