Back

uv #17766

Stabilize Python upgrades

by zanieb · Feb 06, 2026 at 19:08 UTC · scan-e94182b43b5ea454

High Risk (70%)

Get this automatically on every PR

Install the Axiomo GitHub App to get Signals as check runs and PR comments on every pull request.

Install App

Risk Assessment

Risk level: High (70%)

Risk Drivers

  • high_file_spread: Touches 34 files
  • multiple_concerns: Spans 20 directories
  • cross_concern_spread: Touches 4 functional domains: configuration, documentation, frontend, testing
  • api_surface_change: API surface changed in 1 file(s)

Intent

3/5 criteria met

Stabilize Python upgrade processes and resolve related issues

Acceptance Criteria

  • โœ“
    Drops preview warnings for use of `uv python upgrade` and `uv python install --upgrade`

    Removal of `uv-preview` from multiple Cargo.toml files

  • โœ“
    Adds `--resolve-links` to `uv python find`

    Update in `crates/uv-cli/src/lib.rs` adding `--resolve-links` argument

  • ?
    Fixes incorrect environment messages on Windows

    No specific evidence of environment message changes in diff

  • โœ“
    Refactors `from_executable` for `PythonMinorVersionLink` type

    Commit link to refactor in `PythonMinorVersionLink`

  • ?
    Removes special casing for upgrading links only if they exist

    Changes in `crates/uv-python/src/managed.rs` but purpose unclear

Confidence: 90.0% Source: pr description AI: openai

Contributors

zanieb PR Author 9 commits + Trusted
Account Age: 4859 days
Prior PRs: 2029
Merged: 1787

Trusted contributor with 1787 merged PRs. maintains 116 public repositories. has 908 followers.

Evidence

Evidence Completeness: 43.0%
ci_passing Unavailable
build_successful Unavailable
tests_passing Passing
Missing: lint_passing, security_scan_clean, coverage_maintained

Supply Chain

Low Risk
Modifies dependencies
Modifies lockfile
Modifies CI config
Modifies build scripts

Focus Files

Review 1 high-priority file(s)

crates/uv-python/src/managed.rs +110

110 lines changed; Source code

high
crates/uv/tests/it/python_install.rs +71

71 lines changed; Source code

medium
crates/uv/tests/it/python_upgrade.rs +68

68 lines changed; Source code

medium
crates/uv/src/commands/python/find.rs +24

Source code

medium
crates/uv-virtualenv/src/virtualenv.rs +19

Source code

medium
crates/uv/src/commands/pip/operations.rs +18

Source code

medium
crates/uv/src/commands/python/install.rs +22

Source code

medium
crates/uv/tests/it/python_find.rs +16

Source code

medium
crates/uv/src/commands/python/uninstall.rs +9

Source code

medium
crates/uv/src/commands/venv.rs +10

Source code

medium

+24 more files

Triage

120

minutes to review

extensive

effort level

none

staleness risk

Schedule dedicated review time; consider pair review

Recommendation

COMMENT 51.0% readiness

Some concerns to address before approval

Next Steps

Question

Why is lint_passing missing? Consider adding this check.

Question

Why is security_scan_clean missing? Consider adding this check.