bazel-contrib / bazel-contrib/rules_python
Override a requirement with a Bazel target
- Linguagem predominante
- Starlark
- Estrelas
- 690
- Forks
- 722
- Merge médio
- 15h 7min
- PRs com merge (30d)
- 76
Descrição
# 🚀 feature request
### Relevant Rules
`load("@rules_python//python:pip.bzl", "pip_install")`
### Description
We'd like to be able to override a `requirement` with a Bazel target. This is basically the `rules_python` equivalent of `rules_jvm_external`'s [`override_targets` directive](https://github.com/bazelbuild/rules_jvm_external#overriding-generated-targets).
Consider the case where we're using grpc and protobuf from Bazel, and an external python library depends on `protobuf==3.13.0` (or whatever). I'd like to replace that dependency with `"@com_google_protobuf//:protobuf_python"` instead, so I'm not mixing pypi and Bazel versions of `protobuf`.
### Describe the solution you'd like
I like the way that `rules_jvm_external` has done it.
### Describe alternatives you've considered
ø
Guia de contribuição
Direção de pesquisa
Start with the pip_install rule described in the issue and compare its dependency handling with rules_jvm_external's override_targets directive. The change is done when a Python requirement can be replaced by the specified Bazel target without mixing the corresponding PyPI and Bazel dependencies.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- build-system
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 48/100