bazel-contrib / bazel-contrib/rules_python

[gazelle] docs issues

Open
#1,977 0 comments 1 reaction 0 assignees View on GitHub
gazelle help wanted
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
76

Description

# 🐞 Errors in Gazelle docs

### Description

The first code snippet in the [Adding Gazelle to Your Project](https://github.com/bazelbuild/rules_python/blob/main/gazelle/README.md#adding-gazelle-to-your-project) docs has errors.

1. It looks like `python = use_extension("@rules_python//python/extensions:python.bzl", "python")` needs to be added to avoid `ERROR: /.../MODULE.bazel:12:10: name 'python' is not defined`

2. The references to "python3_9" and "python3_9_toolchains" in the `use_repo` and `register_toolchains` calls are causing errors like `ERROR: /.../rules_python_gazelle_plugin~/modules_mapping/BUILD.bazel:3:10: While resolving toolchains for target @@rules_python_gazelle_plugin~//modules_mapping:generator (f0f11f9): invalid registered toolchain '@python3_9_toolchains//:all': No repository visible as '@python3_9_toolchains' from main repository.`

I tried adding an underscore before the "3_9" as per [this docstring](https://github.com/bazelbuild/rules_python/blob/main/python/private/bzlmod/python.bzl#L307) ("A toolchain's repository name uses the format `python_{major}_{minor}`, e.g. `python_3_10`") but that didn't help. I commented all those references out and instead added `python.toolchain(python_version="3.9", is_default=True)`, and seem to have gotten past this error, but I'm not sure if that has the exact same effect as the code that the docs intend you to add.

While in there, would be good to update to a newer version of Python, as 3.9 is several releases old (3.12 is latest stable).

## 🌍 Your Environment

**Operating System:**

reproduced on macOS and Linux

**Output of `bazel version`:**

reproduced on various versions of Bazel 7

**Rules_python version:**

0.33.1

Contributor guide

Open the contributing guide

Research direction

Start with the first code snippet in gazelle/README.md under “Adding Gazelle to Your Project” and reproduce it with rules_python 0.33.1 on Bazel 7. Compare the snippet with python/private/bzlmod/python.bzl, then update the documented repository names and Python version so the example works without the reported toolchain errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.