Commit Graph

8092 Commits

Author SHA1 Message Date
Zanie Blue
600a332bec Add Renovate automation for maturin version bumps (#17353)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-08 07:15:17 -06:00
renovate[bot]
1447694188 Update Rust crate toml_edit to 0.24.0 (#17303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: William Woodruff <william@astral.sh>
2026-01-07 21:14:12 +00:00
konsti
6b2d6f2c40 Only write portable paths in RECORD (#17339)
The spec allows both, but we're already using forward paths for paths
that are not created by uv.

See
* https://github.com/astral-sh/uv/issues/14446
* https://github.com/python/importlib_metadata/issues/528

Closes #14446

---------

Co-authored-by: Tomasz Kramkowski <tom@astral.sh>
2026-01-07 20:40:18 +01:00
Zanie Blue
c71ba13b6d Avoid checking formatting of all files during windows trampoline checks (#17348)
I've noticed this escapes the trampoline crates so these fail whenever
there's bad formatting in the workspace.

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-07 13:14:47 -06:00
Jo
29c44c71c2 Use ty to type-check Python files (#17229)
I added mypy type‑checking in https://github.com/astral-sh/uv/pull/5332,
so I think it's a good time to switch to ty now :)
2026-01-07 12:25:15 -06:00
William Woodruff
9ddaae2244 Initial PEP 792 types and index parsing (#17311) 2026-01-07 16:35:39 +00:00
William Woodruff
dbe5481d5c Use DisplaySafeUrl to readact a URL in a trace log (#17346) 2026-01-07 15:55:08 +00:00
Charlie Marsh
cd55d1ce12 Manually parse and reconcile Boolean environment variables (#17321)
## Summary

This gives us more flexibility since we can avoid erroring on
"conflicts" when one option is disabled (e.g., `UV_FROZEN=0 uv lock
--check`).

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

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 20:43:04 +00:00
Eli Uriegas
e67dbce3fe Allow setting proxy variables via global / user configuration (#16918)
<!--
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 allows users to set the HTTP, HTTPS, and no proxy variables via the
configuration files like ~pyproject.toml~ and uv.toml.

Users can set like so:

`uv.toml`
```toml
https-proxy = "http://my_cool_proxy:10500"
http-proxy = "http://my_cool_proxy:10500"
no-proxy = [
  "dontproxyme.com",
  "localhost",
]
```

Resolves https://github.com/astral-sh/uv/issues/9472

## Test Plan

<!-- How was it tested? -->
It also adds a new integration test for the proxy support in
`uv-client`.

This was tested on some of our developer machines with our proxy setup
using `~/.config/uv/uv.toml` with values like:

```toml
https-proxy = "http://my_cool_proxy:10500"
http-proxy = "http://my_cool_proxy:10500"
no-proxy = [
  "dontproxyme.com",
  "localhost",
]

```

---------

Signed-off-by: Eli Uriegas <eliuriegas@meta.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-01-06 11:13:59 -06:00
Leo H
cc1ca8b4a1 Avoid broken build artifacts on build failure (#17276)
## Summary

Fixes https://github.com/astral-sh/uv/issues/17232

When `uv build` fails (e.g., due to missing `__init__.py`), partial
distribution
files were being left in the `dist/` directory. 

### Changes

- Use `NamedTempFile` to write build output to a temporary file first
- Only persist the file to the final location on successful build
- If build fails, the temporary file is automatically cleaned up
- Added `Error::Persist` variant for handling persistence failures

## Test Plan

Added `no_partial_files_on_build_failure` test that verifies:

1. `build_source_dist` fails when `__init__.py` is missing
2. `build_wheel` fails when `__init__.py` is missing  
3. The `dist/` directory remains empty after both failures (no partial
files)

---------

Co-authored-by: Hayashi Reo <reo@wantedly.com>
2026-01-06 15:27:05 +01:00
Zanie Blue
d7cdd58d63 Format JSON schema with prettier at generation time (#17272)
Formats the generated JSON schema with prettier so it doesn't fail CI
lints immediately after update.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-06 08:20:45 -06:00
konsti
82a6a66b81 Bump version to 0.9.22 (#17333)
There's a hyper-util bump to get out separate from other reqwest related
changes.
0.9.22
2026-01-06 11:23:12 +01:00
konsti
4950dd475b Remove retries duplication uv_client error (#17325)
Previously, we had a retry count both on the top level error type, and
on an error variant, and had a conversion step in between. When
reviewing #17274, I noticed we can simplify that.
2026-01-06 09:20:02 +00:00
Charlie Marsh
6049ddcb86 Add manylinux to armv6l match (#17328)
## Summary

See: https://github.com/astral-sh/uv/pull/17317/changes#r2662205930. I
omitted these because we technically don't allow this for manylinux, but
this seems more consistent.
2026-01-05 19:37:08 -05:00
William Woodruff
a27e0c850d Use Cow<str> for deserialization everywhere (#17330) 2026-01-05 17:57:35 -05:00
Zanie Blue
478c884704 Use Cow<str> for deserialization map keys in PypiFile and PyxFile (#17327)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-05 15:59:44 -05:00
Tomasz Kramkowski
df62ee6f4d Track retry counts originating from early middleware errors (#17274)
## Summary

Fixes #17266.

The retry count was getting dropped by
`ErrorKind::from_retry_middleware` and `<Error as
From<ErrorKind>>::from` so we were doing more retries than we should
have.

## Test Plan

Added a testcase for the specific error path in the issue. Added an
expect to the other retry test too.
2026-01-05 20:06:38 +00:00
William Woodruff
6f9fced6c6 Replace deprecated benchmarking mode (#17222)
## Summary

Minor, noticed this with #17221. CodSpeed has deprecated
`instrumentation` and replaced it with `simulation`, which has the same
meaning:

https://codspeed.io/docs/instruments/cpu/overview#legacy-terminology

## Test Plan

No functional changes.

---------

Signed-off-by: William Woodruff <william@astral.sh>
2026-01-05 19:52:29 +01:00
Charlie Marsh
691719f906 Filter PPC wheels et al in lockfile (#17317)
## Summary

Closes https://github.com/astral-sh/uv/issues/17313.
2026-01-05 10:25:02 -05:00
Charlie Marsh
a3b1aee8c7 Use a dedicated error message when lockfile can't be found (#17318)
## Summary

Closes https://github.com/astral-sh/uv/issues/17259.
2026-01-05 07:40:56 -05:00
konsti
24cc4a789b Fix some Rust 1.92 clippy lints (#17324)
Saw this as a build failure in a CI job.

Excluding https://github.com/zkat/miette/pull/459
2026-01-05 11:11:43 +00:00
renovate[bot]
1fd4a784d2 Update Rust crate uuid to v1.19.0 (#17304)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [uuid](https://redirect.github.com/uuid-rs/uuid) |
workspace.dependencies | minor | `1.17.0` → `1.19.0` |

---

### Release Notes

<details>
<summary>uuid-rs/uuid (uuid)</summary>

###
[`v1.19.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.19.0)

[Compare
Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.18.1...v1.19.0)

#### What's Changed

- Switch serde dependency to serde\_core by
[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini) in
[#&#8203;843](https://redirect.github.com/uuid-rs/uuid/pull/843)
- Upgrade to 2021 edition and fix most clippy warnings by
[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini) in
[#&#8203;848](https://redirect.github.com/uuid-rs/uuid/pull/848)
- Prepare for 1.19.0 release by
[@&#8203;KodrAus](https://redirect.github.com/KodrAus) in
[#&#8203;849](https://redirect.github.com/uuid-rs/uuid/pull/849)

**Full Changelog**:
<https://github.com/uuid-rs/uuid/compare/v1.18.1...v1.19.0>

###
[`v1.18.1`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.18.1)

[Compare
Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.18.0...v1.18.1)

##### What's Changed

- Unsafe cleanup by
[@&#8203;KodrAus](https://redirect.github.com/KodrAus) in
[#&#8203;841](https://redirect.github.com/uuid-rs/uuid/pull/841)
- Prepare for 1.18.1 release by
[@&#8203;KodrAus](https://redirect.github.com/KodrAus) in
[#&#8203;842](https://redirect.github.com/uuid-rs/uuid/pull/842)

**Full Changelog**:
<https://github.com/uuid-rs/uuid/compare/v1.18.0...v1.18.1>

###
[`v1.18.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.18.0)

[Compare
Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.17.0...v1.18.0)

##### What's Changed

- Fix up mismatched\_lifetime\_syntaxes lint by
[@&#8203;KodrAus](https://redirect.github.com/KodrAus) in
[#&#8203;837](https://redirect.github.com/uuid-rs/uuid/pull/837)
- Conversions between `Timestamp` and `std::time::SystemTime` by
[@&#8203;dcormier](https://redirect.github.com/dcormier) in
[#&#8203;835](https://redirect.github.com/uuid-rs/uuid/pull/835)
- Wrap the error type used in time conversions by
[@&#8203;KodrAus](https://redirect.github.com/KodrAus) in
[#&#8203;838](https://redirect.github.com/uuid-rs/uuid/pull/838)
- Prepare for 1.18.0 release by
[@&#8203;KodrAus](https://redirect.github.com/KodrAus) in
[#&#8203;839](https://redirect.github.com/uuid-rs/uuid/pull/839)

##### New Contributors

- [@&#8203;dcormier](https://redirect.github.com/dcormier) made their
first contribution in
[#&#8203;835](https://redirect.github.com/uuid-rs/uuid/pull/835)

**Full Changelog**:
<https://github.com/uuid-rs/uuid/compare/v1.17.0...v1.18.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 12:01:24 +01:00
renovate[bot]
fe9198e546 Update Rust crate tempfile to v3.24.0 (#17298)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tempfile](https://stebalien.com/projects/tempfile-rs/)
([source](https://redirect.github.com/Stebalien/tempfile)) |
workspace.dependencies | minor | `3.20.0` → `3.24.0` |

---

### Release Notes

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

###
[`v3.24.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3240)

[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.23.0...v3.24.0)

- Actually support WASIp2 without the nightly feature. This library is
now feature complete on WASIp2 without any additional feature flags.
- Exclude CI scripts from the published crate.

###
[`v3.23.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3230)

[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.22.0...v3.23.0)

- Remove need for the "nightly" feature to compile with "wasip2".

###
[`v3.22.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3220)

[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.21.0...v3.22.0)

- Updated `windows-sys` requirement to allow version 0.61.x
- Remove `unstable-windows-keep-open-tempfile` feature.

###
[`v3.21.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3210)

[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.20.0...v3.21.0)

- Updated `windows-sys` requirement to allow version 0.60.x

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 11:33:43 +01:00
nwyin
2318e48e81 Gate python_install tests on python-managed feature (#17312)
## Summary

Gates four tests in `python_find.rs` that call `python_install()` behind
the `python-managed` feature flag. These tests attempt to download
Python versions from the network (free-threaded and pre-release
versions) which fail in offline build environments.

  Fixes #16431

  ## Test Plan

Verified that the gated tests match the pattern used elsewhere in the
codebase where the entire `python_install` module is already gated
behind `#[cfg(feature = "python-managed")]`.
2026-01-03 16:30:50 -06:00
renovate[bot]
0d1ee355ca Update documentation references to actions/checkout to v6 (#17306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:19:17 -05:00
renovate[bot]
e3687b5b68 Update documentation references to actions/cache to v5 (#17305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:18:59 -05:00
renovate[bot]
1b66f24b4c Update docker/metadata-action action to v5.10.0 (#17301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:05:27 -05:00
renovate[bot]
0f53c48dd9 Update actions/setup-python action to v6 (#17299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 12:51:49 -05:00
renovate[bot]
9ea4d1afa7 Update docker/login-action action to v3.6.0 (#17300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 17:46:33 +00:00
renovate[bot]
8e8881e2fa Update EmbarkStudios/cargo-deny-action action to v2.0.14 (#16898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 12:40:56 -05:00
renovate[bot]
c6fa2e89c3 Update Rust crate rustix to v1.1.3 (#17297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 17:25:11 +00:00
renovate[bot]
d79dc495fa Update Rust crate insta to v1.45.0 (#17296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 17:22:29 +00:00
renovate[bot]
1a1eab6ad5 Update actions/checkout action to v6 (#17295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 17:01:41 +00:00
renovate[bot]
9f134581b2 Update Rust crate regex to v1.12.2 (#17293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:55:55 +00:00
renovate[bot]
2d71e39a8b Update actions/attest-build-provenance action to v3 (#17294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:55:47 +00:00
renovate[bot]
01820745fc Update Rust crate spdx to v0.13.3 (#17292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:55:16 +00:00
Sofie Van Landeghem
d0088c1914 Clarify requirements file format in docs (#17284)
Co-authored-by: William Woodruff <william@yossarian.net>
2026-01-02 11:40:10 -05:00
renovate[bot]
0fafde3f6e Update astral-sh/setup-uv action to v7 (#17291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:21:18 +00:00
renovate[bot]
34b04fa97f Update zizmorcore/zizmor-action action to v0.3.0 (#17290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:20:14 +00:00
renovate[bot]
e54056f71a Update dependency astral-sh/uv to v0.9.21 (#17289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:14:52 +00:00
renovate[bot]
57500cbdab Update Rust crate toml to v0.9.10 (#17288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:13:41 +00:00
renovate[bot]
3181d21a4a Update Rust crate serde_json to v1.0.147 (#17287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:13:17 +00:00
renovate[bot]
805e327f75 Update dependency astral-sh/uv to v0.9.18 (#17286) 2026-01-02 15:43:29 +00:00
renovate[bot]
a0b22e6a63 Update Rust crate hyper-util to v0.1.19 (#16267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 10:31:36 -05:00
Ben Beasley
5ed40429e4 Update procfs to 0.18.0 (#17275)
## Summary

This brings various minor improvements described in
https://github.com/eminence/procfs/releases/tag/v0.18.0, avoids
duplicate rustix versions in Cargo.lock, and offers upstream the change
that we’re making in Fedora’s `uv` package to avoid shipping a
`rust-procfs0.17` compat package.

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

## Test Plan

<!-- How was it tested? -->
`cargo nextest run -- --skip python_install_pyodide`

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2026-01-01 13:36:23 +00:00
Christoph Reiter
fffe874041 Update mio to 1.1.0 (for Cygwin) (#17281)
## Summary

This makes it possible to build "uv-build" under Cygwin. See
https://github.com/tokio-rs/mio/pull/1871 for the required upstream
change from mio.

Note that "uv" itself still fails to build with this.

## Test Plan

I have a patched cygwin build here
https://packages.msys2.org/packages/python-uv-build which I used to
build a wheel file for a basic Python project using "uv-build".

---

I've used `cargo update -p mio`. This mio release is 2-3 months old.
2026-01-01 08:25:02 -05:00
Zanie Blue
04f463f036 Add some missing git feature cfgs for imports (#17273)
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-30 15:56:31 +00:00
Zanie Blue
b5660cec26 Silence prettier logs during crate readme generation (#17271)
These were interleaved in stderr and are just noise.
2025-12-30 09:46:59 -06:00
Zanie Blue
0dc9556adb Bump version to 0.9.21 (#17270) 0.9.21 2025-12-30 15:46:08 +00:00
Zanie Blue
c26a57670d Fix regression where zstd distribution hashes were not considered valid (#17265)
Fixes a regression from https://github.com/astral-sh/uv/pull/17157 as
reported in https://github.com/astral-sh/uv/issues/17260

Closes https://github.com/astral-sh/uv/issues/17260
Closes https://github.com/astral-sh/uv/pull/17263

You can see the regression test fail
[here](https://github.com/astral-sh/uv/actions/runs/20599629637/job/59162043790?pr=17269)
in #17269 which cherry-picks the commit adding tests without the fix.
2025-12-30 15:24:03 +00:00