python-poetry / python-poetry/poetry

Add support for keyring as a subprocess subprocess (rather than keyring as an import)

Open
#9,472 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area/auth/keyring kind/feature status/triage
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

Issue Kind

Brand new capability

Description

Poetry has support for pulling authentication information out of the system keyring. This (largely) works the same as pip's keyring support, and the documentation even references pip's behavior:

Poetry will fallback to Pip style use of keyring so that backends like Microsoft’s artifacts-keyring get a chance to retrieve valid credentials

However, poetry does not have support for invoking keyring as a subprocess (see pip's documentation for this here).

Impact

The author of pip's keyring support actually intended for people to use it as a subprocess, rather than an import ("As the author of the --keyring-provider flag I recommend you use the subprocess provider").

My company would like to use it to avoid a chicken/egg problem (bootstrapping a single systemwide keyring binary with the appropriate keyring backend is easier than doing it for every installation of poetry), and to keep our configuration as in sync with pip as possible.

Workarounds

The alternative is for people to carefully configure their poetry venv to be configured the same as their global keyring installation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Poetry's existing keyring authentication fallback and compare its behavior with pip's documented subprocess provider. Determine the relevant authentication entry point and tests before deciding the integration boundaries. Done means Poetry can retrieve credentials by invoking an external keyring command, while preserving the existing import-based behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.