Closed ssmall closed 4 months ago
The pushing is done via a simple bazel run
invocation whereas pip.parse
is downloading everything using repository_ctx.download
which cannot share code.
However, you can supply a twine
binary with keyring
support via an arg to py_wheel
: https://rules-python.readthedocs.io/en/latest/api/python/packaging.html#py_wheel.twine_binary
You would have to use py_console_script_binary
with extra deps
entries to construct that.
This issue was automatically closed because it went 30 days without a reply since it was labeled "Can Close?"
🚀 feature request
Relevant Rules
py_wheel
Description
Publishing with
py_wheel
seems to only support username/password auth. It would be great to supportkeyring
auth methods as well to better support private registries.For example, https://cloud.google.com/artifact-registry/docs/python/authentication#keyring-setup describes how to set up keyring for Artifact Registry. This already appears to have been address for pulling from private registries in https://github.com/bazelbuild/rules_python/issues/1578.
Describe the solution you'd like
I'm not very familiar with how wheel publishing works, but I would hope that it would be able to use the same mechanism that is now used for
pip.parse
Describe alternatives you've considered
Username and password auth is possible as a workaround, but it goes against most security best practices and is more difficult to integrate in CI.