pyodide / pyodide/pyodide-lock
RFC 2: partial lockfiles
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8
- Forks
- 12
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 1
Description
As proposed by @bollwyvl https://github.com/pyodide/pyodide-lock/issues/4#issuecomment-1608118850
The way the in-flight jupyterlite PR works is by:
- generating partial lockfiles
- these wouldn't be sufficient to run anything
- layering them, by name, on top of the as-loaded runtime with whatever index is hosted with it
- this could be hoisted/normalized in pyodide's initializer with e.g.
extraLockUrls: []- this could be non-destructive, which might be better, and potentially support "punch-out" by setting a name to a
null(ick!)
- this could be non-destructive, which might be better, and potentially support "punch-out" by setting a name to a
- this could be hoisted/normalized in pyodide's initializer with e.g.
The concrete things this solves there:
- auto-install-on-import
- replacing packages in the
pyodidestdlib- IPython has an optional dependency on
jedi/parso(but still downloads them)- we haven't been able to make
jediwork well enough in jupyterlite to use, so would rather replace it with dummy shims to save a couple megabytes on the wire
- we haven't been able to make
- per-PR docs builds of packages that are in the pyodide stdlib and really just want one different
- IPython has an optional dependency on
Alternative proposals: https://github.com/pyodide/pyodide-lock/issues/8 https://github.com/pyodide/pyodide-lock/issues/10
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked jupyterlite PR and the referenced pyodide-lock issues, then inspect how the pyodide initializer currently loads lockfiles. The issue needs a settled design for partial lockfile layering and explicit acceptance criteria before implementation can be considered done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100