bazel-contrib / bazel-contrib/rules_python

pip_parse: lockfile for build dependencies in repository rule

Ouverte
#1,325 9 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
help wanted type: pip
Langage dominant
Starlark
Étoiles
688
Forks
721
Merge moyen
15 h 7 min
PR mergées (30 j)
76

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par examiner le flux actuel de pip-compile de la règle de dépôt pip_parse ainsi que la pull request #1681 de pip-tools mentionnée. Déterminez comment les exigences du système de build provenant de pyproject.toml doivent être incluses, et considérez le travail comme terminé lorsque ces dépendances sont verrouillées de manière reproductible pour les builds du dépôt.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
32/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.