Commit Graph

7664 Commits

Author SHA1 Message Date
renovate[bot]
f9fbf41f69 Update Rust crate ref-cast to v1.0.25 (#16272) 2025-10-13 10:59:44 -04:00
renovate[bot]
45e8b38bb6 Update Rust crate thiserror to v2.0.17 (#16276) 2025-10-13 10:59:09 -04:00
renovate[bot]
ae273f35d3 Update Rust crate serde to v1.0.228 (#16275) 2025-10-13 10:59:01 -04:00
Zanie Blue
15829bb30a Obfuscate Bearer Token values in logs (#16164)
Sometimes a credential's `Debug` formatted value appears in tracing logs
- make sure the credential doesn't appear there.

## Test plan

Added a test case + ran
```
uv pip install --default-index $PYX_API_URL/$SOME_INDEX $SOME_PACKAGE -vv
```
With an authenticated uv client and confirmed the tokens are obfuscated.

---------

Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com>
2025-10-13 08:28:20 -05:00
renovate[bot]
01d43382be Update Rust crate rkyv to v0.8.12 (#16274) 2025-10-13 02:57:25 +00:00
renovate[bot]
e3690e702f Update Rust crate regex-automata to v0.4.12 (#16273) 2025-10-13 02:55:24 +00:00
renovate[bot]
15f1dc6269 Update Rust crate petgraph to v0.8.3 (#16270) 2025-10-13 02:42:49 +00:00
renovate[bot]
3837b92cc1 Update Rust crate owo-colors to v4.2.3 (#16269) 2025-10-13 02:40:07 +00:00
renovate[bot]
dd89bdaab0 Update Rust crate quote to v1.0.41 (#16271) 2025-10-13 02:36:45 +00:00
renovate[bot]
cd859ccd17 Update Rust crate memchr to v2.7.6 (#16268) 2025-10-12 22:21:43 -04:00
renovate[bot]
c741e4bfb5 Update Rust crate fs-err to v3.1.3 (#16265) 2025-10-12 22:21:23 -04:00
renovate[bot]
7d5795e2a5 Update Rust crate flate2 to v1.1.4 (#16264) 2025-10-12 22:21:17 -04:00
renovate[bot]
1b91b31763 Update Rust crate goblin to v0.10.2 (#16266) 2025-10-13 02:00:35 +00:00
renovate[bot]
2898e5c346 Update Rust crate bytecheck to v0.8.2 (#16262) 2025-10-13 01:33:17 +00:00
renovate[bot]
3e6e1eddf5 Update Rust crate anstream to v0.6.21 (#16261) 2025-10-13 01:32:30 +00:00
renovate[bot]
a2360c1753 Update Rust crate criterion to v4.0.4 (#16263) 2025-10-13 01:26:45 +00:00
Andrei Berenda
c7d3d549e2 Move parsing concurrency env variable to EnvironmentOptions (#16223)
## Summary
- Move parsing `UV_CONCURRENT_INSTALLS`, `UV_CONCURRENT_BUILDS` and
`UV_CONCURRENT_DOWNLOADS` to `EnvironmentOptions`

Relates https://github.com/astral-sh/uv/issues/14720

## Test Plan

- Tests with existing tests
- Add test with invalid parsing
2025-10-12 21:22:30 -04:00
renovate[bot]
d536d3f27d Update dependency astral-sh/uv to v0.9.2 (#16259) 2025-10-13 01:13:59 +00:00
William Woodruff
141369ce73 Bump version to 0.9.2 (#16238)
Co-authored-by: Geoffrey Thomas <geofft@ldpreload.com>
0.9.2
2025-10-10 14:20:14 -04:00
github-actions[bot]
d54a5bb5cb Sync latest Python releases (#16229)
Add python-build-standalone 20251010 for CPython 3.12.12, 3.11.14, 3.10.19 and 3.9.24.

Co-authored-by: Geoffrey Thomas <geofft@ldpreload.com>
2025-10-10 13:35:37 -04:00
Harshith VH
b4168e665e Add uv tool list --show-python (#15814)
<!--
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?
-->

Closes #15312 
Closes https://github.com/astral-sh/uv/issues/16237

---------

Co-authored-by: pythonweb2 <32141163+pythonweb2@users.noreply.github.com>
Co-authored-by: Wade Roberts <wade.roberts@centralsquare.com>
2025-10-10 12:33:26 -05:00
William Woodruff
6fb00a9936 publish: don't infer check URLs for pyx uploads (#16234) 2025-10-10 12:51:02 -04:00
konsti
d45acaebc8 Fix typo in resolver internal docs (#16232) 2025-10-10 15:46:47 +00:00
samypr100
d5dd43aa18 Missing added_in on new env vars (#16217)
## Summary

Adds the version for environment variables added in
https://github.com/astral-sh/uv/pull/16040 and
https://github.com/astral-sh/uv/pull/16125. as these were in-flight
before documentation versioning was added.

Adds ability to emit a compiler error when added in is missing for
improved reporting to the developer.

e.g. example for the ones fixed in this PR

```shell
error: missing #[attr_added_in("x.y.z")] on `UV_UPLOAD_HTTP_TIMEOUT`
       note: env vars for an upcoming release should be annotated with `#[attr_added_in("next release")]`
   --> crates\uv-static\src\env_vars.rs:593:15
    |
593 |     pub const UV_UPLOAD_HTTP_TIMEOUT: &'static str = "UV_UPLOAD_HTTP_TIMEOUT";
    |               ^^^^^^^^^^^^^^^^^^^^^^

error: missing #[attr_added_in("x.y.z")] on `UV_WORKING_DIRECTORY`
       note: env vars for an upcoming release should be annotated with `#[attr_added_in("next release")]`
    --> crates\uv-static\src\env_vars.rs:1087:15
     |
1087 |     pub const UV_WORKING_DIRECTORY: &'static str = "UV_WORKING_DIRECTORY";
     |               ^^^^^^^^^^^^^^^^^^^^
error: could not compile `uv-static` (lib) due to 2 previous errors
```
2025-10-10 08:55:09 -05:00
Skyler Hawthorne
ea5a09215b fix recompiling every time in uv-python (#16214)
Cargo is currently recompiling uv-python on every invocation because the
minified JSON output file is getting a mod time newer than the last run.
Instead, set the mod time of the output file to the same as the input
file.
2025-10-09 16:10:08 -05:00
Zanie Blue
9887ef5bd7 Bump version to 0.9.1 (#16212)
Archives the 0.8.x changelog too.
0.9.1
2025-10-09 18:28:59 +00:00
Alyssa Coghlan
628eedea36 Fix pylock.toml config conflict error messages (#16211)
## Summary

When specifying constraints or overrides in combination with
`pylock.toml` as an input to `uv pip install`,
the error messages are not currently correct.

## Test Plan

No testing, it's a straightforward error string fix.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-10-09 17:38:18 +00:00
Andrei Berenda
a58d031157 Add UV_UPLOAD_HTTP_TIMEOUT and respect UV_HTTP_TIMEOUT in uploads (#16040)
## Summary
- Move parsing `UV_HTTP_TIMEOUT`, `UV_REQUEST_TIMEOUT` and
`HTTP_TIMEOUT` to `EnvironmentOptions`
- Add new env varialbe `UV_UPLOAD_HTTP_TIMEOUT`

Relates https://github.com/astral-sh/uv/issues/14720

## Test Plan

Tests with existing tests
2025-10-09 12:28:30 -05:00
Zanie Blue
84d6a913ac Ignore pre-release Python versions when a patch version is requested (#16210)
I think this is ostensively breaking, though I think the impact would be
small given this will go out in 0.9.1 and should only affect people
using pre-release Python versions.

When `3.14.0` is requested (opposed to `3.14`), we treat this as a
request for a final / stable version and ignore pre-releases.

I think this is a fairly clean way to allow users to explicitly request
the stable version.

Closes https://github.com/astral-sh/uv/issues/16175
Follows #16208
2025-10-09 12:24:42 -05:00
Zanie Blue
fb7d5361b0 Fix handling of Python requests with pre-releases in ranges 2025-10-09 12:24:42 -05:00
Assad Yousuf
24ebdf02c0 Preserve comments on version bump (#16141)
## Summary
Fixes [1633](https://github.com/astral-sh/uv/issues/16133). Preserves
comments preceding "version = ..." line when uv version --bump is ran

## Test Plan
Added IT test

---------

Co-authored-by: konsti <konstin@mailbox.org>
2025-10-09 16:07:00 +00:00
konsti
787d035d5e Document why uv discards upper bounds on requires-python (#15927)
We're regularly get questions about this. The DPO thread is the best
ressource, but it's also a long read, so I summarized some points for
uv's decision.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-10-09 17:15:03 +02:00
konsti
3e6fe1da86 Allow missing Scripts directory (#16206)
With the new Python install manager, the `Scripts` directory reported by
Python may not exist.

See https://github.com/astral-sh/uv/pull/16205 for a failing CI run:
https://github.com/astral-sh/uv/actions/runs/18377230241/job/52354460636?pr=16205#step:4:15

Fixes https://github.com/astral-sh/uv/issues/16204
2025-10-09 16:34:40 +02:00
konsti
f0fbda1001 Update codspeed to v4 (#16139)
Simplifies the codspeed setup.
2025-10-09 15:57:05 +02:00
konsti
40397ddb4b Log Python choice in uv init (#16182)
Example output:

```
$ uv-debug init foo -v
  DEBUG uv 0.9.0+6 (d3324baf68 2025-10-08)
  DEBUG Acquired shared lock for `/home/konsti/.cache/uv`
  DEBUG No Python version file found in ancestors of working directory: /home/konsti/projects/foo
  DEBUG Checking for Python environment at: `foo/.venv`
  DEBUG Searching for default Python interpreter in managed installations or search path
  DEBUG Searching for managed installations at `/home/konsti/.local/share/uv/python`
  DEBUG Found managed installation `cpython-3.14.0-linux-x86_64-gnu`
  DEBUG Found `cpython-3.14.0-linux-x86_64-gnu` at `/home/konsti/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/bin/python3.14` (managed installations)
  DEBUG Using Python version `>=3.14` from default interpreter
  DEBUG `git rev-parse --is-inside-work-tree` failed but didn't contain `not a git repository` in stderr for `/home/konsti/projects/foo`
  DEBUG No Python version file found in ancestors of working directory: /home/konsti/projects/foo
  DEBUG Writing Python versions to `/home/konsti/projects/foo/.python-version`
  Initialized project `foo` at `/home/konsti/projects/foo`
  DEBUG Released lock at `/home/konsti/.cache/uv/.lock`
```

First commit is refactoring, second commit is the actual change.
2025-10-09 13:55:22 +00:00
Zanie Blue
c96abc93f2 Pin a uv version in CI (#16207)
To reduce rate-limiting by avoiding a latest version fetch
2025-10-09 13:54:28 +00:00
konsti
5ee728b3e3 Retry all h2 errors (#16038)
The h2 errors, a specific type nested in reqwest errors, all look like
they shouldn't happen in regular operations and should be retried. This
covers all `io::Error`s going through h2 (i.e., only HTTP 2
connections).

Fixes https://github.com/astral-sh/uv/issues/15916
2025-10-09 13:53:14 +00:00
konsti
d3dc451ee9 Update pypa/gh-action-pypi-publish to release tag (#16176)
Renovate has been complaining.
2025-10-09 15:34:43 +02:00
Mitchell Berendhuysen
40204f06d1 Replace fs_err alias (#16201) 2025-10-09 15:18:38 +02:00
samypr100
f81c6b9a62 document uv version for environment variables (#15196)
## Summary

As new environment variables get introduced (e.g. `UV_EDITABLE`) I
thought it would useful to start tracking which release they were
introduced. I think its a common workflow to navigate to the [env var
documentation](https://docs.astral.sh/uv/reference/environment) to know
what the env var for something is but then end up in a situation where
one is using an environment variable with the wrong version of uv and
not notice immediately that its not compatible and therefore ignored.

## Test Plan

Existing tests.

The versions in `since` have all been manually reviewed to the best of
my ability for correctness.
2025-10-08 12:31:12 -05:00
Zanie Blue
1051709792 Treat deleted Windows registry keys as equivalent to missing ones (#16194)
I noticed this flaked in a snapshot.

We may want to encode this in a helper at some point.
2025-10-08 12:24:36 -05:00
Zanie Blue
a681fe9976 Retry on Rocky Linux Python install (#16190)
I'm not sure why these mirrors have been flaky lately.

e.g.
https://github.com/astral-sh/uv/actions/runs/18346934817/job/52256348387?pr=16182
2025-10-08 12:24:27 -05:00
Zanie Blue
3c30e11a4d Add a system test for Rocky Linux 10 (#16191) 2025-10-08 12:24:10 -05:00
Zanie Blue
9cec60bcc4 Include the RFC in the docs for our Credentials variants (#16162) 2025-10-08 16:26:30 +00:00
tison
aadf103855 Upgrade reqsign to 0.18.0 to remove chrono deps (#16172)
This follows up https://github.com/astral-sh/uv/pull/15925.

cc @BurntSushi @charliermarsh

Signed-off-by: tison <wander4096@gmail.com>
2025-10-08 10:31:53 -04:00
Shunsuke Tsuchiya
39e2e3e74b Support UV_WORKING_DIRECTORY for setting --directory (#16125)
<!--
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 pull request enables the `--directory` option to accept environment
variable: `UV_DIRECTORY`

### Motivation

Currently, the `--project` option already supports environment
variables, but --directory does not.

The motivation for this change is the same as for the --project option.
When using this option, it’s likely that the project root and the
directory containing the uv project differ. In such cases, allowing
environment variables makes it easier to avoid repeatedly specifying the
directory in commands or task runners.

### Other PRs

- PR for create `--project` option:
https://github.com/astral-sh/uv/pull/12327

## Test Plan

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

### no auto testing

As with the --project option, no auto tests are included for this
change.
This is because the implementation relies on Clap’s built-in attribute
functionality, and testing such behavior would effectively mean testing
a third-party crate, which would be redundant.

As long as the compiler accepts it, things should work as expected.

### testing manually

i tested manually like [previous pull
request](https://github.com/astral-sh/uv/pull/12327)

```shell
$ cargo build --locked
./target/debug/uv init uv_directory

$ mkdir uv_directory

$ UV_DIRECTORY=uv_directory ./target/debug/uv sync
Using CPython 3.14.0rc3
Creating virtual environment at: .venv
Resolved 1 package in 15ms
Audited in 0.04ms

$ UV_DIRECTORY=uv_directory ./target/debug/uv run main.py
Hello from uv-directory!

$ ./target/debug/uv run main.py
error: Failed to spawn: `main.py`
  Caused by: No such file or directory (os error 2)
```

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-10-08 08:46:11 -05:00
Ruben Arts
2e180f5c66 Add missing fields to the Cargo package manifests (#16179)
<!--
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?
-->

Hey devs, great tool as always, you're doing amazing work. 

## Summary

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

Adds the following fields to the `[package]` table of `Cargo.toml` files
where they were missing:
```toml
rust-version = { workspace = true }
homepage = { workspace = true }
documentation = { workspace = true }
repository = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
```

Most crates already had these fields, this just aligns the rest for
consistency.

This also resolves the warnings from `cargo-deny` when using `uv` crates
as dependencies in Pixi.
## Test Plan
No tests needed, this only updates metadata.
2025-10-08 12:01:52 +02:00
konsti
0d11e52ea4 Use correct tag comment for Vampire/setup-wsl v6.0.0 (#16177)
Renovate complained that it was the wrong tag.

For the actual CI, it's a comment change only.
2025-10-08 06:56:03 +00:00
github-actions[bot]
4c4fce4284 Sync latest Python releases (#16169)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2025-10-08 04:26:32 +00:00
Samuel Dion-Girardeau
783b48c13f Fix minor typo in changelog (#16173)
Noticed from the release notes -- might want to edit those as well.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-10-08 04:17:10 +00:00