bazel-contrib / bazel-contrib/rules_python
Allow specifying dependencies directly in `pip.parse`
- Langage dominant
- Starlark
- Étoiles
- 688
- Forks
- 721
- Merge moyen
- 15 h 7 min
- PR mergées (30 j)
- 76
Description
# 🚀 feature request
### Relevant Rules
`pip.parse()` (not a rule, but the module extension tag)
### Description
Just putting this out there to gather feedback and see if it's worth implementing myself. I use Python as a pretty minor part of my polyglot Bazel codebase, and it has a single PyPI dependency. Call me petty, but I just don't like having to put that 1 dependency in its own `requirements.txt` file when all my other dependencies are listed directly in `MODULE.bazel`.
### Describe the solution you'd like
Is there any appetite for adding a new parameter to `pip.parse()` called `requirements` (as an alternative to `requirements_lock`) which is just a Starlark list of strings that get parsed as though they were the lines of a `requirements.txt` file? This would be kinda nice for really simple cases like mine, but perhaps "not recommended" for larger Python projects.
### Describe alternatives you've considered
Alternatives already exist, but if the maintainers would welcome a PR to this effect, then I can draft one up.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par localiser l’implémentation de l’extension de pip.parse() et par lire la manière dont son paramètre requirements_lock existant est géré. Comparez la sémantique proposée pour la liste des exigences avec le chemin actuel d’analyse de requirements.txt ; le travail est terminé lorsque les chaînes de dépendances Starlark directes fonctionnent dans les cas simples et que les tests concernés couvrent le nouveau paramètre.
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é
- Plutôt claire
- Accessibilité débutants
- 38/100