bazel-contrib / bazel-contrib/rules_python

Add a `pip_parse` attribute to pass an SSL certificate

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

Description

# 🚀 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

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é
Calme
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

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