bazel-contrib / bazel-contrib/rules_python
Support PEP751 lockfile format in bzlmod
- Lingua principale
- Starlark
- Stelle
- 688
- Fork
- 721
- Merge medio
- 15h 7m
- PR unite (30g)
- 76
Descrizione
After `pip lock` lands, this might become a better `requirements.txt` alternative.
References:
* pip (25.1) will export a lockfile - ETA 2 weeks https://github.com/pypa/pip/pull/13213
* packaging has landed the marker resolution (unlocks PDM, poetry, hatch) https://github.com/pypa/packaging/issues/885
* uv is tracking it as an export format https://github.com/astral-sh/uv/issues/12584
* poetry still thinking about it https://github.com/orgs/python-poetry/discussions/10322
* pip-tools keen https://github.com/jazzband/pip-tools/issues/2124
This most likely depends on #2786.
Making this work needs:
- [ ] Extra marker evaluation support (#2786).
- [ ] Parse toml to JSON using some predefined interpreter (set with #2747 `.defaults`).
- [ ] Map to the output like what `parse_requirements` is returning for easy plumbing.
- [ ] Call the API for parsing `py.lock` something like `pip.from_lock`.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start with the extra marker evaluation work in #2786 and the predefined interpreter setting from #2747. Trace how parse_requirements maps input for plumbing, then determine how py.lock TOML should become JSON and be exposed through an API such as pip.from_lock; done means the PEP 751 lockfile can be parsed and integrated into bzlmod.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- build-system
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100