Dropdown installer#19984
Conversation
Frontend pieces for the installer dropdown on project detail and account preferences pages: a Stimulus controller that renders the command tail and persists the chosen installer in the pypi-installer cookie, the supporting flex-strip styles, and Jest coverage. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The installer-command controller now formats each installer's correct testpypi flag (-i for pip/uv/pipenv, --index-url for pdm, --source testpypi for poetry). When poetry is selected on a testpypi page, a short "First-time setup" note shows the one-time `poetry source add` command. Styles and tests updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cb52b21d3b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <option value="pipenv">pipenv</option> | ||
| </select> | ||
| </span> | ||
| <span id="pip-command" data-installer-command-target="command">install{{ installer_pip_flag }} {{ release.project.name }}{{ installer_spec }}</span> |
There was a problem hiding this comment.
Preserve epoch-version quoting in server-rendered command
The new server-rendered fallback command no longer wraps epoch versions in quotes, so for releases like pkg==1!2.0 users without JavaScript (or before Stimulus hydration runs) will see an unquoted command containing !, which interactive shells can treat as history expansion and fail to execute. The previous pip_command macro explicitly handled this case, so this is a regression in the non-JS path.
Useful? React with 👍 / 👎.
|
I could not find any issues referencing previous discussions in |
QOL to set your preferred installer and remember it via cookie:
remembering between pages:


and then changing:

