bazel-contrib / bazel-contrib/rules_python

Smooth IDE support for python_rules

Open
#1,401 13 comments 20 reactions 0 assignees View on GitHub
type: feature request type: pip
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
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..

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.