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
[@​paolobarbolini](https://redirect.github.com/paolobarbolini ) in
[#​843](https://redirect.github.com/uuid-rs/uuid/pull/843 )
- Upgrade to 2021 edition and fix most clippy warnings by
[@​paolobarbolini](https://redirect.github.com/paolobarbolini ) in
[#​848](https://redirect.github.com/uuid-rs/uuid/pull/848 )
- Prepare for 1.19.0 release by
[@​KodrAus](https://redirect.github.com/KodrAus ) in
[#​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
[@​KodrAus](https://redirect.github.com/KodrAus ) in
[#​841](https://redirect.github.com/uuid-rs/uuid/pull/841 )
- Prepare for 1.18.1 release by
[@​KodrAus](https://redirect.github.com/KodrAus ) in
[#​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
[@​KodrAus](https://redirect.github.com/KodrAus ) in
[#​837](https://redirect.github.com/uuid-rs/uuid/pull/837 )
- Conversions between `Timestamp` and `std::time::SystemTime` by
[@​dcormier](https://redirect.github.com/dcormier ) in
[#​835](https://redirect.github.com/uuid-rs/uuid/pull/835 )
- Wrap the error type used in time conversions by
[@​KodrAus](https://redirect.github.com/KodrAus ) in
[#​838](https://redirect.github.com/uuid-rs/uuid/pull/838 )
- Prepare for 1.18.0 release by
[@​KodrAus](https://redirect.github.com/KodrAus ) in
[#​839](https://redirect.github.com/uuid-rs/uuid/pull/839 )
##### New Contributors
- [@​dcormier](https://redirect.github.com/dcormier ) made their
first contribution in
[#​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