uv
8d01f70b - Add `--dry-run` to `uv pip uninstall` (#9557)

Commit
1 year ago
Add `--dry-run` to `uv pip uninstall` (#9557) ## Summary This proposes adding the command line option `uv pip uninstall --dry-run ...`, complementing the existing `uv pip install --dry-run ...` added for #1244 in #1436. This option does not exist in PyPA's `pip uninstall`, if adopted it would be unique to `uv pip`. The code should be considered PoC, it is baby's first Rust. The initial motivation was while investigating https://github.com/moreati/ansible-uv/issues/2 - to allow Ansible module `moreati.uv.pip` to work with`state: absent` in "check_mode" (Ansible's equivalent of a dry run), without requiring `packaging` or `setuptools`. ## Test Plan One new unit test has been added. I pedge to add more if the feature is desired/accepted Example usage ```console ➜ uv git:(pip-uninstall--dry-run) rm -rf .venv ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv venv Using CPython 3.13.0 Creating virtual environment at: .venv Activate with: source .venv/bin/activate ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv pip install httpx Resolved 7 packages in 178ms Prepared 5 packages in 60ms Installed 7 packages in 15ms + anyio==4.6.2.post1 + certifi==2024.8.30 + h11==0.14.0 + httpcore==1.0.7 + httpx==0.28.0 + idna==3.10 + sniffio==1.3.1 ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv pip uninstall --dry-run httpx Would uninstall 1 package - httpx==0.28.0 ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv pip list Package Version -------- ----------- anyio 4.6.2.post1 certifi 2024.8.30 h11 0.14.0 httpcore 1.0.7 httpx 0.28.0 idna 3.10 sniffio 1.3.1 ``` --------- Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
Author
Parents
Loading