bazel-contrib / bazel-contrib/rules_python
doc how to access entry points / bin / scripts from wheels
- Dominant language
- Starlark
- Stars
- 688
- Forks
- 721
- Avg merge
- 15h 7m
- Merged PRs (30d)
- 76
Description
In a non-bazel venv, distributions make executables available by putting them in `$venv/bin`, which gets added to PATH. In older versions of rules python, py_binary's were generated for these. It isn't obvious how to do similar in the latest versions.
I think the entry-points doc is the relevant part? https://rules-python.readthedocs.io/en/latest/pypi/use.html#entry-points
I suspect the term "entry point", while correct, is too jargon. In [this Slack post](https://bazelbuild.slack.com/archives/CA306CEV6/p1749710911117809), the user described it more in terms of "I want to run a binary from the package".
I'd suggest rephrasing the docs to be use-case oriented in the user's terms, e.g.
* I want to run a binary from a wheel in e.g. `genrule(cmd="$(location )")`
* I want to run a binary from a wheel from another program
* I want a binary to be available on PATH so I can run it like in a normal venv.
Maybe a table that maps non-bazel idioms to bazel idioms would be helpful?
Contributor guide
Research direction
Start with the entry-points section of the rules-python documentation linked in the issue. Check how it currently explains binaries from wheels, then document the requested use cases: invoking a binary from a genrule, calling it from another program, and putting it on PATH, potentially with a table mapping non-Bazel idioms to Bazel ones.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100