bazel-contrib / bazel-contrib/rules_python
Smooth IDE support for python_rules
- Langage dominant
- Starlark
- Étoiles
- 688
- Forks
- 721
- Merge moyen
- 15 h 7 min
- PR mergées (30 j)
- 76
Description
# 🚀 feature request
### Description
I would like smooth editor support of the python_rules. Now when I open an editor (tried [helix](https://helix-editor.com/) and vscode) neither recognizes any of the third party imports properly breaking autocomplete and type checking.
### Describe the solution you'd like
Something like what the [rules_go people have done](https://github.com/bazelbuild/rules_go/wiki/Editor-and-tool-integration) but I imagine that pyright (the most commonly used python language server) does not have support for something similar to the gopackagedriver.. So I was thinking more along the lines of a shell script that manipulates `PATH` and `PYTHONPATH` to achieve something similar. still hacky but better than what I have now. It's also something that would work for other python language server's such as [ruff-lsp](https://github.com/astral-sh/ruff-lsp).
### Describe alternatives you've considered
Manually make a venv with the same dependencies and activate that before starting my editor. Works fine but it's hackish and it won't work for generated code. For example python files generated from protobuf by Bazel..
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Start by reviewing the rules_go editor and tool integration linked in the issue, then compare how pyright and ruff-lsp discover third-party and Bazel-generated Python imports. Done should provide a documented, repeatable editor integration that supports dependency type checking, autocomplete, and generated protobuf code without manually creating a matching virtual environment.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- build-system, developer-experience, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100