Commit Graph

7794 Commits

Author SHA1 Message Date
Charlie Marsh ff837e5a62 Use git ls-remote to resolve Git SHAs 2025-11-08 23:12:47 -05:00
github-actions[bot] 1b7faafd7a
Sync latest Python releases (#16505)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2025-11-08 10:16:21 -06:00
Zanie Blue 5983a8876b
Refactor to remove some cruft from `ExcludeNewer` propagation (#16641)
I think using a wire here is less convoluted.
2025-11-08 09:44:17 -06:00
Zanie Blue e0ae518e95
Move attestations to the proper release in the changelog (#16644) 2025-11-08 09:43:09 -06:00
Zanie Blue 85c5d32284
Bump version to 0.9.8 (#16636) 2025-11-07 11:45:22 -06:00
Zanie Blue bfecc9902e
Fix inclusive constraints on available package versions in resolver errors (#16629)
Closes https://github.com/astral-sh/uv/issues/16626
2025-11-07 09:23:37 -06:00
Zanie Blue 5e181d36ef
Show help on `uv build -h` (#16632) 2025-11-07 16:19:40 +01:00
Zanie Blue 08229ca73b
Add expectation for externally managed marker in x86-64 macOS system test (#16628)
This is failing with

```
Run python3 scripts/check_system_python.py --uv ./uv
INFO: Checking that `pylint` isn't installed.
WARNING: Package(s) not found: pylint
INFO: Installing the package `pylint`.
DEBUG uv 0.9.7 (2cd1400fb 2025-11-06)
DEBUG Acquired shared lock for `/Users/runner/.cache/uv`
DEBUG Searching for default Python interpreter in search path or managed installations
DEBUG Found `cpython-3.14.0-macos-x86_64-none` at `/usr/local/bin/python3` (first executable in the search path)
Using Python 3.14.0 environment at: /usr/local/opt/python@3.14/Frameworks/Python.framework/Versions/3.14
DEBUG Released lock at `/Users/runner/.cache/uv/.lock`
error: The interpreter at /usr/local/opt/python@3.14/Frameworks/Python.framework/Versions/3.14 is externally managed, and indicates the following:

  To install Python packages system-wide, try brew install
  xyz, where xyz is the package you are trying to
  install.

  If you wish to install a Python library that isn't in Homebrew,
  use a virtual environment:

  python3 -m venv path/to/venv
  source path/to/venv/bin/activate
  python3 -m pip install xyz

  If you wish to install a Python application that isn't in Homebrew,
  it may be easiest to use 'pipx install xyz', which will manage a
  virtual environment for you. You can install pipx with

  brew install pipx

  You may restore the old behavior of pip by passing
  the '--break-system-packages' flag to pip, or by adding
  'break-system-packages = true' to your pip.conf file. The latter
  will permanently disable this error.

  If you disable this error, we STRONGLY recommend that you additionally
  pass the '--user' flag to pip, or set 'user = true' in your pip.conf
  file. Failure to do this can result in a broken Homebrew installation.

  Read more about this behavior here: <https://peps.python.org/pep-0668/>
```
2025-11-06 23:53:46 -06:00
Charlie Marsh 4740d267e9
Remove fast path from `uv-git` fetch (#16607)
## Summary

Now that we perform this fast-path in
`crates/uv-distribution/src/source/mod.rs`, I _think_ the fast-path here
is no longer used? In my testing, we only actually took this path when
the fast-path _already_ failed (and thus it would fail again, wasting
time).
2025-11-06 22:18:05 -06:00
Haaris Rahman e5c10cd45d
Fix typo in uv tool list doc (#16625)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary


Fixed a typo in the docs.

Regenerated the docs, with the fix.


<!-- What's the purpose of the change? What does it do, and why? -->
2025-11-06 22:06:17 -06:00
Charlie Marsh 5fe8af114b
Accept multiple packages in `uv export` (#16603)
## Summary

Closes https://github.com/astral-sh/uv/issues/16503.
2025-11-05 22:52:22 +00:00
konsti 148b694b6b
Make `augment_requirement` a method (#16592)
Fixing the pattern so we can be consistent in
https://github.com/astral-sh/uv/pull/16143#discussion_r2479028440
2025-11-04 19:53:59 +01:00
samypr100 3068fa89e8
Docker builds target rust toolchain with bundled musl v1.2.5 (#16584)
## Summary

Addresses https://github.com/astral-sh/uv/issues/8450 for docker builds

## Test Plan

* Ubuntu Tests [CI
Run](https://github.com/samypr100/uv/actions/runs/19054484993/job/54421786118)
with `nightly-2025-11-02` set in root `rust-toolchain.toml`
* Manually test functionality using locally built binaries from
cargo-zigbuild
2025-11-04 13:53:04 -05:00
Charlie Marsh 9a6eafc043
Accept multiple packages in `uv sync` (#16543)
## Summary

Closes https://github.com/astral-sh/uv/issues/12130.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
Co-authored-by: konsti <konstin@mailbox.org>
2025-11-04 14:17:58 +00:00
Zanie Blue 60a811e715
Allow Python requests to include `+gil` to require a GIL-enabled interpreter (#16537)
Addresses
https://github.com/astral-sh/uv/pull/16142#issuecomment-3390586957

Nobody seems to have a good idea about how to spell this. "not
free-threaded" would be the most technically correct, but I think "gil"
will be more intuitive.
2025-11-03 13:35:52 -06:00
renovate[bot] a87a3bbae4
Update Rust crate tracing-tree to v0.4.1 (#16570) 2025-11-03 15:58:03 +00:00
renovate[bot] 5c426a1fd6
Update Rust crate zeroize to v1.8.2 (#16572) 2025-11-03 10:45:28 -05:00
renovate[bot] e6a06f0c5c
Update Rust crate unicode-width to v0.2.2 (#16571) 2025-11-03 10:44:58 -05:00
Les Freire 86e7b2e97a
Fix missing value_type for `default-groups` in schema (#16575)
## Summary

Fix incomplete value_type attribute for default-groups field in the
ToolUv struct schema definition. The value_type was missing its value,
which should be str | list[str] to reflect that default-groups can
accept either the literal "all" or a list of group names. (#16574)
2025-11-03 08:55:20 -05:00
renovate[bot] 0fc68f7d49
Update Rust crate toml_edit to v0.23.7 (#16569) 2025-11-03 02:38:05 +00:00
renovate[bot] aa63d26f5b
Update Rust crate toml to v0.9.8 (#16568) 2025-11-03 02:29:14 +00:00
renovate[bot] e5cb2ee01b
Update Rust crate tikv-jemallocator to v0.6.1 (#16567) 2025-11-02 21:07:49 -05:00
renovate[bot] b2550c20f4
Update Rust crate schemars to v1.0.5 (#16565) 2025-11-03 02:03:08 +00:00
renovate[bot] 0272472a21
Update Rust crate syn to v2.0.108 (#16566) 2025-11-03 01:59:31 +00:00
renovate[bot] eed777f022
Update Rust crate indicatif to v0.18.2 (#16561) 2025-11-02 20:52:02 -05:00
renovate[bot] 2a691a55d2
Update Rust crate proc-macro2 to v1.0.103 (#16563) 2025-11-03 01:37:22 +00:00
renovate[bot] 6d9ed5fe34
Update Rust crate regex-automata to v0.4.13 (#16564) 2025-11-03 01:35:43 +00:00
renovate[bot] 0023aaba21
Update Rust crate indoc to v2.0.7 (#16562) 2025-11-03 01:34:07 +00:00
renovate[bot] 8f4083a746
Update dependency astral-sh/uv to v0.9.7 (#16557) 2025-11-02 20:04:43 -05:00
renovate[bot] b2ddef9a57
Update Rust crate cargo-util to v0.2.24 (#16558) 2025-11-02 20:04:38 -05:00
renovate[bot] c6a3fc1728
Update Rust crate ignore to v0.4.25 (#16560) 2025-11-02 20:04:27 -05:00
renovate[bot] 580f08ff94
Update Rust crate ctrlc to v3.5.1 (#16559) 2025-11-02 20:03:59 -05:00
liam 77fecc5c27
Improve `uv init` error for invalid directory names (#16554)
Resolves https://github.com/astral-sh/uv/issues/16433

When `uv init` infers a project name from the working directory,
directories with characters outside the PEP 503 rules produced the
generic “Not a valid package or extra name” message that didn’t explain
the source of the problem. This change intercepts that failure, reports
whether the current or explicit target directory caused it, and tells
the user to supply an explicit `--name`.
2025-11-02 19:26:09 -05:00
Michael Richter 485503ee65
Remove fs2 dependency and update Rust to 1.89 (#15764)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? --> 

This PR removes the crate fs2 and updates Rust version to 1.89.

*Why?*

Crate fs2 is unmaintained for a long time now and has unfixed issues.
Especially it doesn't build on AIX, which is the reason I started fixing
it.

*How?*

I removed fs2 and replaced it by std:fs:File methods.

## Test Plan

<!-- How was it tested? -->
- I built it on Windows and AIX only.
- I did not test the artifacts.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-02 16:33:53 -05:00
Charlie Marsh 6da135a66a
Respect multi-GPU outputs in nvidia-smi (#15460)
## Summary

This initially included `NVIDIA_VISIBLE_DEVICES` masking, though it's
now omitted for simplicity.

Closes https://github.com/astral-sh/uv/issues/14647.
2025-11-02 21:21:44 +00:00
renovate[bot] 040521802c
Update Rust crate clap to v4.5.51 (#16364) 2025-11-02 21:05:26 +00:00
chisato 8b479efd2f
Add a `uv cache size` command (#16032)
## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

Implement `uv cache size` to output the cache directory size in raw
bytes by default, with a `--human` option for human-readable output.

close #15821

<!-- How was it tested? -->

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-02 20:44:28 +00:00
Gabe Joseph 17c9656df2
Note `uv pip list` name normalization in docs (#13210)
Related to https://github.com/astral-sh/uv/issues/13209

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-02 20:39:30 +00:00
Blair Allan 4b61e65d6c
Add `UV_NO_SOURCES` as an environment variable (#15883)
## Summary

This is an enhancement that makes the cli flag `--no-sources` an
environment variable - "UV_NO_SOURCES"

Why is this a relevant change? 

When working across different environments, in our case remote vs local,
we often have our packages hosted in a artifact registry but when
developing locally we build our packages from github. This results in us
using the uv.tool.sources table quite a bit however this then also
forces us to use `--no-sources` for all our remote work.

This change enables us to set an environment variable once and to never
have to type --no-sources after every uv run command again.

## Test Plan

Expanded on the current --no-sources tests, to test when
UV_NO_SOURCES=true/false the behaviour is the same as the flag.
Additionally ensured that the cli overrides the env variable.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-02 20:25:19 +00:00
konsti 944ff6c685
Log most recently modified file for cache-keys (#16338)
For https://github.com/astral-sh/uv/issues/16336. We previously weren't
telling the user which file is responsible for rebuilding.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-02 18:52:07 +00:00
liam 857827da14
Add prerelease guidance for build-system resolution failures (#16550)
Resolves https://github.com/astral-sh/uv/issues/16496

This PR updates the resolver so `build-system` dependency failures
surface prerelease hints even when prerelease selection is fixed. When a
build dependency only has prerelease candidates, or the requested
version explicitly includes a prerelease marker, we now emit a tailored
hint explaining that build environments can’t auto-enable prereleases
and describing how to opt in.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-02 18:38:09 +00:00
Ben Beasley 45c1907ede
Update the spdx dependency to version 0.12 (#16552) 2025-11-02 13:21:29 -05:00
renovate[bot] 95b1556012
Update Rust crate tokio-util to v0.7.16 (#15726)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tokio-util](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) |
workspace.dependencies | patch | `0.7.15` -> `0.7.16` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>tokio-rs/tokio (tokio-util)</summary>

###
[`v0.7.16`](https://redirect.github.com/tokio-rs/tokio/compare/tokio-util-0.7.15...tokio-util-0.7.16)

[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-util-0.7.15...tokio-util-0.7.16)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/astral-sh/uv).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-02 17:23:28 +00:00
Christian Asch 2784856e10
Allow for unnormalized names in the `METADATA` file (#16547) (#16548)
## Summary

Deserialize project name into both a String and a ProjectName, this way
we can keep using the normalized name elsewhere while respecting the
original name from the `pyproject.toml` file

This PR addresses issue #16547

## Test Plan

I added a new test for this, and I ran the test suite in the
`metadata.rs` file.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-11-01 21:58:49 +00:00
Zanie Blue 101d0e2892
Allow `--check` and `--locked` to be used together in `uv lock` (#16538)
See https://github.com/astral-sh/uv/issues/16517#issuecomment-3473747461
2025-10-31 13:11:34 -05:00
Zanie Blue 1e2ec4a50c
Include the Python variant suffix in "Using Python ..." messages (#16536)
See https://github.com/astral-sh/uv/issues/16253#issuecomment-3393383573
2025-10-31 13:11:25 -05:00
Charlie Marsh 82aa0d0ef5
Avoid pluralizing 'retry' for single value (#16535) 2025-10-31 10:28:51 -04:00
Charlie Marsh 5c71b5c124
Enable first-class dependency exclusions (#16528)
## Summary

This PR adds an `exclude-dependencies` setting that allows users to omit
a dependency during resolution. It's effectively a formalized version of
the `flask ; python_version < '0'` hack that we've suggested to users in
various issues.

Closes #12616.
2025-10-31 10:14:12 -04:00
samypr100 7978122837
Update Rust toolchain to 1.91 and MSRV to 1.89 (#16531)
## Summary

Updates Rust Toolchain to
[1.91](https://blog.rust-lang.org/2025/10/30/Rust-1.91.0/) and bumps
MSRV to [1.89](https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/) per
versioning policy. New clippy rule [implicit
clone](https://rust-lang.github.io/rust-clippy/master/index.html#implicit_clone)
resulted in some minor changes (some with improvements).

Updates trampoline to `nightly-2025-06-23` which is roughly 1.89~. The
trampoline binaries do not need to be regenerated as there should be no
changes.
2025-10-30 22:34:59 -05:00
Charlie Marsh 7cf1646a44
Expose `UV_NO_GROUP` as an environment variable (#16529)
## Summary

Closes https://github.com/astral-sh/uv/issues/11619.
2025-10-30 22:34:14 -05:00