bazel-contrib / bazel-contrib/rules_python

doc how to access entry points / bin / scripts from wheels

Offen
#2,980 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Good first issue type: documentation
Vorherrschende Sprache
Starlark
Sterne
688
Forks
721
Ø Merge
15 Std. 7 Min.
Gemergte PRs (30 T.)
76

Beschreibung

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?

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system, documentation
Issue-Typ
Dokumentation
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.