bazel-contrib / bazel-contrib/rules_python

pip_parse: lockfile for build dependencies in repository rule

Aperta
#1,325 9 commenti 1 reazione 0 assegnatari Vedi su GitHub
help wanted type: pip
Lingua principale
Starlark
Stelle
688
Fork
721
Merge medio
15h 7m
PR unite (30g)
76

Descrizione

Since [PEP 518](https://peps.python.org/pep-0518/) projects can specify their build system requirements in their pyproject.toml file. Currently this is not included in the pip-compile and therefore can lead to non-reproducible issues. This happened in the wild today because pyyaml depends on cython but didn't pin its major version, so when cython pushed an incompatible version this broke if you were including it in bazel. One of the potential workarounds is to install the compatible cython version in the venv _before_ installing your requirements, which I also don't believe is possible. I believe supporting this would require pip-tools to also support this option, which is potentially implemented by https://github.com/jazzband/pip-tools/pull/1681

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by reviewing the pip_parse repository rule's current pip-compile flow and the referenced pip-tools pull request #1681. Determine how build-system requirements from pyproject.toml should be included, and consider the work complete when those dependencies are locked reproducibly for repository builds.

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à
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
32/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.