rules_python icon indicating copy to clipboard operation
rules_python copied to clipboard

Smooth IDE support for python_rules

Open RmStorm opened this issue 1 year ago • 10 comments

🚀 feature request

Description

I would like smooth editor support of the python_rules. Now when I open an editor (tried helix 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 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.

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

RmStorm avatar Sep 04 '23 09:09 RmStorm

Note, that pyright is a static type checker https://github.com/microsoft/pyright. Pylense is a closed-source LSP that is only available within VSCode.

For now you could use https://github.com/cedarai/rules_pyvenv to create a virtual environment for a target, that provides good editor integration. That may work with generated code.

aignas avatar Sep 21 '23 01:09 aignas

https://github.com/aspect-build/rules_py has the explicit goal of providing excellent Python IDE support for py_* rules.

alexeagle avatar Oct 02 '23 18:10 alexeagle

This issue has been automatically marked as stale because it has not had any activity for 180 days. It will be closed if no further activity occurs in 30 days. Collaborators can add an assignee to keep this open indefinitely. Thanks for your contributions to rules_python!

github-actions[bot] avatar Mar 30 '24 22:03 github-actions[bot]

This issue has been automatically marked as stale because it has not had any activity for 180 days. It will be closed if no further activity occurs in 30 days. Collaborators can add an assignee to keep this open indefinitely. Thanks for your contributions to rules_python!

github-actions[bot] avatar Sep 27 '24 22:09 github-actions[bot]

Recently, the IntelliJ/PyCharm plugin has received a lot of great patches, I think your could try it

tpasternak avatar Sep 28 '24 05:09 tpasternak