Skip to content

🎨 Explicitly pass multiple arguments - #7

Open
davnn wants to merge 2 commits into
mainfrom
fix/improve-shell-arg-splitting
Open

🎨 Explicitly pass multiple arguments#7
davnn wants to merge 2 commits into
mainfrom
fix/improve-shell-arg-splitting

Conversation

@davnn

@davnn davnn commented Mar 13, 2026

Copy link
Copy Markdown
Owner

Description

Arguments were previously supplied as --uv-export "--dev --locked" and were whitespace-split, but this could lead to problems with arguments that use whitespace, e.g. paths. The new implementation is more explicit requiring --uv-export=--dev --uv-export=--locked supporting more complex argument inputs.

Related Issue

Type of Change

  • [ x ] 🔧 Bug fix
  • 🔐 Security fix
  • [ x ] 🚀 Improvement / New feature
  • 📚 Examples / Docs / Tutorials

Checklist

  • [ x ] I've checked the code using task check.
  • [ x ] I've checked the repository using pre-commit.

Copilot AI lite review requested due to automatic review settings August 9, 2026 12:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates uv-pack’s CLI forwarding options (--uv-export, --pip-download, --uv-build) to accept repeated values and forward them as explicit argv tokens (instead of whitespace-splitting a single string), avoiding ambiguity and breakage when forwarded arguments contain whitespace (e.g., paths).

Changes:

  • Change internal subprocess helpers to accept other_args: list[str] and append them directly to the command argv.
  • Update CLI option types to list[str] (repeatable options) and adjust test Taskfile examples accordingly.
  • Refresh README and build-system dependency constraint to reflect the new usage.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/Taskfile.yaml Updates test invocations to use the new explicit forwarded-arg form.
src/uv_pack/_export.py Switches forwarded args from a split string to an explicit list[str] argv extension for uv export.
src/uv_pack/_download.py Switches forwarded args from a split string to an explicit list[str] argv extension for pip download.
src/uv_pack/_build.py Switches forwarded args from a split string to an explicit list[str] argv extension for uv build.
src/uv_pack/init.py Changes Typer options to repeatable lists and updates help text for the new semantics.
README.md Updates CLI docs and adds an “Extra arguments” section demonstrating repeated options.
pyproject.toml Adds an upper bound to uv_build in the build-system requirements.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread README.md
Comment on lines +89 to +90
The quoted form is also valid, for example `--uv-export "--locked"`, but the
examples in this README use the `--option=value` form.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants