Skip to content

Add uv sync --dry-run #11299

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 6, 2025
Merged

Add uv sync --dry-run #11299

merged 1 commit into from
Feb 6, 2025

Conversation

charliermarsh
Copy link
Member

Summary

Allows users to understand how the environment will change prior to committing.

Closes #11282.

@charliermarsh charliermarsh added enhancement New feature or improvement to existing functionality cli Related to the command line interface labels Feb 6, 2025
@charliermarsh charliermarsh marked this pull request as ready for review February 6, 2025 21:27
no_config: bool,
active: Option<bool>,
cache: &Cache,
dry_run: bool,
Copy link
Member Author

Choose a reason for hiding this comment

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

I am going to replace this with an enum ~everywhere, but in a separate PR.


----- stderr -----
Using CPython 3.12.[X] interpreter at: [PYTHON-3.12]
Would create virtual environment at: .venv
Copy link
Member

Choose a reason for hiding this comment

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

Would create lock file at: uv.lock?

Copy link
Member

Choose a reason for hiding this comment

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

(and subsequently, would update?)

Copy link
Member Author

Choose a reason for hiding this comment

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

Added, good call. Forgot.

Comment on lines -222 to +315
&venv,
&environment,
Copy link
Member

Choose a reason for hiding this comment

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

Thanks! We should do this ~throughout

Comment on lines -989 to +1017
"it is not a compatible environment but cannot be recreated because it is not a virtual environment".to_string(),
format!("it is not a compatible environment but cannot be recreated because uv cannot determine if it is a virtual environment: {err}"),
Copy link
Member

Choose a reason for hiding this comment

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

👍

@charliermarsh charliermarsh enabled auto-merge (squash) February 6, 2025 23:25
@charliermarsh charliermarsh merged commit 8335a6d into main Feb 6, 2025
70 of 73 checks passed
@charliermarsh charliermarsh deleted the charlie/dry-run branch February 6, 2025 23:52
///
/// In dry-run mode, uv will resolve the project's dependencies and report on the resulting
/// changes to both the lockfile and the project environment, but will not modify either.
#[arg(long, conflicts_with = "locked", conflicts_with = "frozen")]
Copy link
Contributor

Choose a reason for hiding this comment

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

...interesting. i suppose that makes sense

Comment on lines +941 to +943
/// In `--dry-run` mode, the environment will not be replaced, but this variant will still be
/// returned.
Replaced(PythonEnvironment, PathBuf),
Copy link
Contributor

Choose a reason for hiding this comment

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

bless these docs

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Feb 11, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.29` -> `0.5.30` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.5.30`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0530)

[Compare Source](astral-sh/uv@0.5.29...0.5.30)

##### Python

The managed PyPy distributions have been updated for PyPy v7.3.18, which includes:

-   PyPy3.10, which updates the standard library from Python 3.10.14 to 3.10.19
-   PyPy3.11, which adds beta support for Python 3.11.11

See the [PyPy release](https://pypy.org/posts/2025/02/pypy-v7318-release.html) for more details.

##### Enhancements

-   Add `uv sync --dry-run` ([#&#8203;11299](astral-sh/uv#11299))
-   Ignore `#egg` fragment in HTML Simple API response ([#&#8203;11340](astral-sh/uv#11340))

##### Configuration

-   Add `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables ([#&#8203;11399](astral-sh/uv#11399))

##### Performance

-   Avoid re-cloning name when populating ambiguous set ([#&#8203;11401](astral-sh/uv#11401))
-   Optimize flattening in large workspaces ([#&#8203;11313](astral-sh/uv#11313))

##### Bug fixes

-   Allow dynamic packages to be overloaded ([#&#8203;11400](astral-sh/uv#11400))
-   Fix credential caching for index roots when URL ends in `simple/` ([#&#8203;11336](astral-sh/uv#11336))
-   Fix marker merging for requirements.txt for psycopg ([#&#8203;11298](astral-sh/uv#11298))
-   Set 777 permissions on locked files ([#&#8203;11328](astral-sh/uv#11328))
-   Support extras in `@` requests for tools ([#&#8203;11335](astral-sh/uv#11335))
-   Upgrade `astral-tokio-tar` to v0.5.1 ([#&#8203;11359](astral-sh/uv#11359))
-   Avoid missing logging for no-op upgrade events ([#&#8203;11301](astral-sh/uv#11301))
-   Use refined specifiers when logging narrowed Python range ([#&#8203;11334](astral-sh/uv#11334))
-   Don't use popup-generating `eprintln` in trampoline warnings ([#&#8203;11295](astral-sh/uv#11295))
-   Patch pkg-config files to be relocatable ([#&#8203;11291](astral-sh/uv#11291))
-   Fix a case of duplicate `torch` packages when using conflicting extras ([#&#8203;11323](astral-sh/uv#11323))

##### Documentation

-   Add docs for `uv tool install --editable` ([#&#8203;11280](astral-sh/uv#11280))
-   Fix broken anchors in README and docs index ([#&#8203;11338](astral-sh/uv#11338))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli Related to the command line interface enhancement New feature or improvement to existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add uv sync --dry-run
3 participants