bazel-contrib / bazel-contrib/rules_python
Add a `pip_parse` attribute to pass an SSL certificate
- Vorherrschende Sprache
- Starlark
- Sterne
- 688
- Forks
- 721
- Ø Merge
- 15 Std. 7 Min.
- Gemergte PRs (30 T.)
- 76
Beschreibung
# 🚀 feature request
### Relevant Rules
I would like to add support for passing additional files to the `pip_parse` rule.
### Description
This feature request is a follow-up to https://github.com/bazel-contrib/rules_python/issues/3858.
After passing a custom certificate to `compile_pip_requirements`, we also need a way to pass a custom certificate, or another pip-related file (i.e. pip config with a certificate), to `pip_parse`.
I tried to find a way to do this, but it looks like `pip_parse` does not currently accept data or another label-based attribute for passing extra files to the repository rule.
### Describe the solution you'd like
I would like pip_parse to support an additional label-based attribute for files needed by pip, for example `extra_files`, `pip_config`, or `ssl_cert`.
The most general option seems to be something like `extra_files`, because certificates can be passed to pip in more than one way: `--cert=`, `PIP_CERT`, or `PIP_CONFIG_FILE`.
### Describe alternatives you've considered
The main alternative I considered is passing the pip config file or SSL certificate through `PIP_CONFIG_FILE` or `PIP_CERT` environment variables. However, this requires using raw paths, while I would prefer a Bazel-native labels approach.
If there is already a supported way to do such thing, please let me know.
Beitragsleitfaden
Rechercherichtung
Start by inspecting the pip_parse rule and the follow-up issue 3858 to understand how compile_pip_requirements passes certificate-related files. Determine how a label-based extra file can reach pip, then verify that pip_parse accepts the chosen attribute and supports the certificate or pip configuration use cases described here.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- build-system
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100