Commit Graph

6278 Commits

Author SHA1 Message Date
renovate[bot] 291a13c276
Update Rust crate clap to v4.5.35 (#12699) 2025-04-14 12:35:41 +00:00
renovate[bot] 693110506a
Update Artifact GitHub Actions dependencies (#12865) 2025-04-14 08:31:19 -04:00
Michał Górny 2d340de2f8
Collapse whitespace in python_list tests (#12851)
## Summary

Collapse whitespace into a single space in python_list tests, in order
to make them agnostic of padding, and therefore pass both with Python
3.12.9 and Python 3.12.10.

Fixes #12799

## Test Plan
cargo test --features python --profile=fast-build --no-default-features
2025-04-14 08:23:10 -04:00
Henry Schreiner 99ec6ae144
docs: add explicit source (matching PyTorch guide) (#12844)
## Summary

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

The PyTorch guide page has this, but it's missing from this example
(which is otherwise identical to the PyTorch guide page). I think it
would be helpful to include it here too.

## Test Plan

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

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-04-14 08:22:20 -04:00
renovate[bot] e718f55677
Update taiki-e/install-action digest to be7c31b (#12860) 2025-04-14 08:21:35 -04:00
renovate[bot] 9289502ead
Update Rust crate jiff to v0.2.8 (#12862) 2025-04-14 08:20:53 -04:00
Yaroslav Halchenko 0b1d41130a
Fix typo in a reference (#12858)
Was observed while checking out codespell for the project. But since
"typos" already used -- not suggested to be adopted.
2025-04-14 10:19:02 +02:00
renovate[bot] 034692e9a7
Update Rust crate anyhow to v1.0.98 (#12861)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://redirect.github.com/dtolnay/anyhow) |
dev-dependencies | patch | `1.0.97` -> `1.0.98` |
| [anyhow](https://redirect.github.com/dtolnay/anyhow) |
workspace.dependencies | patch | `1.0.97` -> `1.0.98` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

###
[`v1.0.98`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.98)

[Compare
Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.97...1.0.98)

- Add
[`self.into_boxed_dyn_error()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.into_boxed_dyn_error)
and
[`self.reallocate_into_boxed_dyn_error_without_backtrace()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.reallocate_into_boxed_dyn_error_without_backtrace)
methods for anyhow::Error
([#&#8203;415](https://redirect.github.com/dtolnay/anyhow/issues/415))

</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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 10:13:45 +02:00
konsti b648980625
Address #12836 review comment (#12873)
Inline single use methods
2025-04-14 08:10:34 +00:00
renovate[bot] 2a02c600c8
Update Rust crate mimalloc to v0.1.46 (#12863)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [mimalloc](https://redirect.github.com/purpleprotocol/mimalloc_rust) |
dependencies | patch | `0.1.45` -> `0.1.46` |

---

### Release Notes

<details>
<summary>purpleprotocol/mimalloc_rust (mimalloc)</summary>

###
[`v0.1.46`](https://redirect.github.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.46):
Version 0.1.46

[Compare
Source](https://redirect.github.com/purpleprotocol/mimalloc_rust/compare/v0.1.45...v0.1.46)

##### Changes

-   Fixed musl builds.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 10:10:12 +02:00
renovate[bot] 97cde116ec
Update Rust crate backon to v1.5.0 (#12866)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [backon](https://redirect.github.com/Xuanwo/backon) |
workspace.dependencies | minor | `1.4.1` -> `1.5.0` |

---

### Release Notes

<details>
<summary>Xuanwo/backon (backon)</summary>

###
[`v1.5.0`](https://redirect.github.com/Xuanwo/backon/releases/tag/v1.5.0)

[Compare
Source](https://redirect.github.com/Xuanwo/backon/compare/v1.4.1...v1.5.0)

#### What's Changed

- chore: Format code by
[@&#8203;Xuanwo](https://redirect.github.com/Xuanwo) in
[https://github.com/Xuanwo/backon/pull/191](https://redirect.github.com/Xuanwo/backon/pull/191)
- feat: Add adjust support for Retry by
[@&#8203;Xuanwo](https://redirect.github.com/Xuanwo) in
[https://github.com/Xuanwo/backon/pull/192](https://redirect.github.com/Xuanwo/backon/pull/192)
- chore(deps): update spin requirement from 0.9.8 to 0.10.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/Xuanwo/backon/pull/188](https://redirect.github.com/Xuanwo/backon/pull/188)
- docs: Polish docs for backon by
[@&#8203;Xuanwo](https://redirect.github.com/Xuanwo) in
[https://github.com/Xuanwo/backon/pull/193](https://redirect.github.com/Xuanwo/backon/pull/193)
- feat: Allow to control the max sleep time of exponential backoff by
[@&#8203;XmchxUp](https://redirect.github.com/XmchxUp) in
[https://github.com/Xuanwo/backon/pull/187](https://redirect.github.com/Xuanwo/backon/pull/187)
- Bump version to 1.5.0 by
[@&#8203;Xuanwo](https://redirect.github.com/Xuanwo) in
[https://github.com/Xuanwo/backon/pull/194](https://redirect.github.com/Xuanwo/backon/pull/194)

#### New Contributors

- [@&#8203;XmchxUp](https://redirect.github.com/XmchxUp) made their
first contribution in
[https://github.com/Xuanwo/backon/pull/187](https://redirect.github.com/Xuanwo/backon/pull/187)

**Full Changelog**:
https://github.com/Xuanwo/backon/compare/v1.4.1...v1.5.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 09:54:22 +02:00
renovate[bot] 95d9d3a4c8
Update Rust crate codspeed-criterion-compat to v2.10.1 (#12867)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io)
([source](https://redirect.github.com/CodSpeedHQ/codspeed-rust)) |
dependencies | minor | `2.9.1` -> `2.10.1` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

###
[`v2.10.1`](https://redirect.github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.10.1)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/codspeed-rust/compare/v2.10.0...v2.10.1)

#### What's Changed

- chore(cargo-codspeed): bump `cargo_metadata` to v0.19.2 by
[@&#8203;Boshen](https://redirect.github.com/Boshen) in
[https://github.com/CodSpeedHQ/codspeed-rust/pull/94](https://redirect.github.com/CodSpeedHQ/codspeed-rust/pull/94)

##### Internals

- chore(ci): add time scale measurement benches by
[@&#8203;art049](https://redirect.github.com/art049) in
[https://github.com/CodSpeedHQ/codspeed-rust/pull/88](https://redirect.github.com/CodSpeedHQ/codspeed-rust/pull/88)
- tests: add an env variable bench for testing by
[@&#8203;art049](https://redirect.github.com/art049) in
[https://github.com/CodSpeedHQ/codspeed-rust/pull/89](https://redirect.github.com/CodSpeedHQ/codspeed-rust/pull/89)

**Full Changelog**:
https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.10.0...v2.10.1

###
[`v2.10.0`](https://redirect.github.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.10.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/codspeed-rust/compare/v2.9.1...v2.10.0)

#### What's Changed

- feat(cargo-codspeed): support `--jobs` flag in build command by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in
[https://github.com/CodSpeedHQ/codspeed-rust/pull/91](https://redirect.github.com/CodSpeedHQ/codspeed-rust/pull/91)
- fix: file name missing in codspeed rust flamegraph by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in
[https://github.com/CodSpeedHQ/codspeed-rust/pull/93](https://redirect.github.com/CodSpeedHQ/codspeed-rust/pull/93)

**Full Changelog**:
https://github.com/CodSpeedHQ/codspeed-rust/compare/v2.9.1...v2.10.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 09:52:50 +02:00
renovate[bot] ba3a2aa52e
Update Rust crate reqwest-middleware to v0.4.2 (#12864)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[reqwest-middleware](https://redirect.github.com/TrueLayer/reqwest-middleware)
| workspace.dependencies | patch | `0.4.1` -> `0.4.2` |

---

### Release Notes

<details>
<summary>TrueLayer/reqwest-middleware (reqwest-middleware)</summary>

###
[`v0.4.2`](https://redirect.github.com/TrueLayer/reqwest-middleware/releases/tag/reqwest-middleware-v0.4.2)

### Added

-   Deprecated `fetch_mode_no_cors` as it's been deprecated in reqwest.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 09:48:46 +02:00
konsti 6b7f60c1ea
Fix pre-release exclusive comparison operator in uv-pep440 (#12836)
From PEP 440:

> The exclusive ordered comparison <V MUST NOT allow a pre-release of
the specified version unless the specified version is itself a
pre-release. Allowing pre-releases that are earlier than, but not equal
to a specific pre-release may be accomplished by using <V.rc1 or
similar.

We had an additional check that would block this even if the specifier
did have a pre-release.

This likely didn't show up earlier because `Ranges` uses different code
in the resolver.

I checked these changes against `packaging` to verify their behavior:

```python
print(SpecifierSet("<1").contains("1a1", prereleases=True)) # False
print(SpecifierSet("<1a2").contains("1a1", prereleases=True)) # True
print(SpecifierSet("<1").contains("1dev1", prereleases=True)) # False
print(SpecifierSet("<1dev2").contains("1dev1", prereleases=True)) # True
print(SpecifierSet("<1a2").contains("1dev1", prereleases=True)) # True
```

Closes #12834
2025-04-12 16:57:06 -04:00
Aria Desires dd788a0f47
Revert "feat: Error on dependency object specifier (#12811)" (#12840)
This reverts commit c117acf905.

This is a minor breaking change, to be relanded in 0.7.0.
2025-04-11 18:32:48 +00:00
Zanie Blue 50de464425
Add integration test for GitHub provided free-threaded Python (#12471) 2025-04-10 16:51:50 -05:00
Aria Desires 591bc34d84
display aliases for long and short args in the cli reference (#12824)
Fixes #12494

(I don't feel like showing it in long-help matters too much...)
2025-04-10 16:36:22 -05:00
Charlie Marsh 039b3c5dda
Refine lack of musl distributions to ARM-only (#12825) 2025-04-10 16:35:41 -05:00
Chandra Kiran G c117acf905
feat: Error on dependency object specifier (#12811)
## Summary

This PR errors out when an Unknown Dependency Object Specifier is used
in dependency groups.


Fixes #12638 

## Test Plan

The current behaviour is as follows:

```bash
➜  example git:(12638/dependency-object-specifier) ✗ cargo run -- sync
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.21s
     Running `/home/luna/Documents/uv/target/debug/uv sync`
error: Failed to generate package metadata for `example==0.1.0 @ virtual+.`
  Caused by: Group `bar` contains a Dependency Object Specifier, which is not supported by uv
  ```


And the pyproject.toml to produce this is:

```toml
[project]
name = "example"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13.2"
dependencies = []

[dependency-groups]
foo = ["pyparsing"]
bar = [{set-phasers-to = "stun"}]
```
2025-04-10 16:56:47 -04:00
Aria Desires 713c0053ef
fix link to issue (#12823)
Also closes #12641
2025-04-10 16:23:33 -04:00
Arthur Bied-Charreton 73fd0aedd1
Split UV_INDEX on all whitespace (#12820)
## Summary
Closes #12806

Split `UV_INDEX` by any whitespace rather than only ASCII 32, which does
not align with the behavior of `PIP_EXTRA_INDEX_URL` and can possibly
lead to difficulties when migrating from pip to uv.

Clap unfortunately does not support passing multiple delimiters, writing
a custom parsing function involved parsing index into a Vec<Vec<Index>>
and flattening it afterwards in order to avoid breaking the --index
command line option.

There might be a prettier solution I overlooked, let me know if there is
anything I should change!
2025-04-10 16:22:17 -04:00
Haaris Rahman ef68fca591
Add env arg UV_NO_EDITABLE (#12773)
<!--
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? -->

Adds the env arg `UV_NO_EDITABLE`.
Closes #12735 

## Test Plan

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


![image](https://github.com/user-attachments/assets/0bfde9e1-ce6e-4fcc-a8c2-0bf970c9aa9e)


I could not find a place where to add tests, any help would be
appreciated

---------

Co-authored-by: Aria Desires <aria.desires@gmail.com>
2025-04-10 15:56:07 -04:00
johnthagen 719bab307c
Replace `--frozen` with `--locked` in Docker integration guide (#12818)
## Summary

Replace `--frozen` with `--locked` in Docker integration guide.
`--locked` additionally validates that `uv.lock` is "fresh"/up to date,
which will catch errors if the user accidentally updated
`pyproject.toml` but did not run `uv lock` before building the
container. This is probably a better/safer default to recommend to users
to avoid surprising/incorrect behavior.

## References

- External guides already recommend using `--locked` instead of
`--frozen`
  - https://hynek.me/articles/docker-uv/
- @zanieb seemed to indicate they might agree that `--locked` would be
better to avoid surprises
  - https://github.com/astral-sh/uv/issues/10793#issuecomment-2743956736

## Test Plan

Used `--locked` in `uv` Python projects using Docker and validated that
it works as expected.
2025-04-10 15:47:48 -04:00
johnthagen 59220ca507
Add `--locked` to `uv sync` in GitHub Actions guide (#12819)
## Summary

Closes #10793

As requested by @konstin in

- https://github.com/astral-sh/uv/issues/10793#issuecomment-2603869549
2025-04-10 15:47:00 -04:00
konsti 7a18e4429d
Fix CLI reference with code block (#12807)
Due to https://github.com/clap-rs/clap/issues/5900, clap folds docstring
code blocks in a way that breaks the rendering of the `uv publish
--index` option to html. As a workaround, `verbatim_doc_comment`
prevents this.


Release:

![image](https://github.com/user-attachments/assets/66d9af51-ac23-47f6-a859-7b20a4f1f4a2)

PR:

![image](https://github.com/user-attachments/assets/6a32a5a6-1dd8-49ff-a853-9df02f0141ad)


Release:
```
      --index <INDEX>
          The name of an index in the configuration to use for publishing.
          
          The index must have a `publish-url` setting, for example:
          
          ```toml [[tool.uv.index]] name = "pypi" url =
          "https://pypi.org/simple" publish-url =
          "https://upload.pypi.org/legacy/" ```
          
          The index `url` will be used to check for existing files to skip
          duplicate uploads.
          
          With these settings, the following two calls are equivalent:
          
          ``` uv publish --index pypi uv publish --publish-url
          https://upload.pypi.org/legacy/ --check-url https://pypi.org/simple
          ```
          
          [env: UV_PUBLISH_INDEX=]
```

PR:
```
      --index <INDEX>
          The name of an index in the configuration to use for publishing.
          
          The index must have a `publish-url` setting, for example:
          
          ```toml
          [[tool.uv.index]]
          name = "pypi"
          url = "https://pypi.org/simple"
          publish-url = "https://upload.pypi.org/legacy/"
          ```
          
          The index `url` will be used to check for existing files to skip
          duplicate uploads.
          
          With these settings, the following two calls are equivalent:
          
          ```shell
          uv publish --index pypi
          uv publish --publish-url https://upload.pypi.org/legacy/
          --check-url https://pypi.org/simple
          ```
          
          [env: UV_PUBLISH_INDEX=]
```	

Fixes #12652
2025-04-10 10:59:39 -05:00
Zanie Blue 29f57a28cf
Fix lockfile note (#12793) 2025-04-10 08:53:02 -05:00
Aria Desires 876b9aef50
update cargo-dist (#12790)
Putting this up to confirm that it does what it should:

* undirty the release.yml by including action-commits in the config
* add `persist-credentials=false` hardening
* includes but does not use `[package.metadata.dist.binaries]` overrides
(for #11786)
2025-04-10 09:42:41 -04:00
renovate[bot] 46e8f4b806
Update Rust crate tokio to v1.44.2 (#12791)
This PR contains the following updates:

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

### GitHub Vulnerability Alerts

####
[GHSA-rr8g-9fpq-6wmg](https://redirect.github.com/tokio-rs/tokio/pull/7232)

The broadcast channel internally calls `clone` on the stored value when
receiving it, and only requires `T:Send`. This means that using the
broadcast channel with values that are `Send` but not `Sync` can trigger
unsoundness if the `clone` implementation makes use of the value being
`!Sync`.

Thank you to Austin Bonander for finding and reporting this issue.

---

### Release Notes

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

###
[`v1.44.2`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.44.2):
Tokio v1.44.2

[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2)

This release fixes a soundness issue in the broadcast channel. The
channel
accepts values that are `Send` but `!Sync`. Previously, the channel
called
`clone()` on these values without synchronizing. This release fixes the
channel
by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding
and
reporting the issue).

##### Fixed

- sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232])

[#&#8203;7232]: https://redirect.github.com/tokio-rs/tokio/pull/7232

###
[`v1.44.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.44.1):
Tokio v1.44.1

[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.0...tokio-1.44.1)

### 1.44.1 (March 13th, 2025)

##### Fixed

-   rt: skip defer queue in `block_in_place` context ([#&#8203;7216])

[#&#8203;7216]: https://redirect.github.com/tokio-rs/tokio/pull/7216

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCIsInNlY3VyaXR5Il19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 10:26:48 +02:00
Zanie Blue a4cec56dca
Bump to 0.6.14 (#12786) 2025-04-09 16:29:25 -05:00
github-actions[bot] 1099867681
Sync latest Python releases (#12784)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2025-04-09 12:32:00 -05:00
konsti a45ca9a36d
Build backend: Check module dir exists for sdist build (#12779)
Check that the source and module directory exist when build a source
distribution, instead of delaying the check to building the wheel. This
prevents building source distributions that can never be built into
wheels.
2025-04-09 15:47:01 +00:00
leiserfg 980599f4fa
Fix sdist with long directories (#12764)
I removed the `set_cksum` as the value of it is replaced inside of
`append_data`.

## Summary

This should fix #12762 but I don't know how to test it.

---------

Co-authored-by: konstin <konstin@mailbox.org>
2025-04-09 13:01:21 +00:00
konsti 173d6f73d3
Add `uv-build` and `uv_build` aliases to `uv init --build-backend` (#12776)
This matches similar aliases for pdm/pdm-backend and hatch/hatchling.
2025-04-09 12:33:38 +00:00
Charlie Marsh d99983a630
Avoid querying GitHub on repeated install invocations (#12767)
## Summary

If you run `cargo run pip install "pip-test-package @
git+https://github.com/pypa/pip-test-package@5547fa909e83df8bd743d3978d6667497983a4b7"`
repeatedly, then every time, we'll take the "GitHub fast path" every
time, even if the package is already cached. This PR adds logic to skip
the fast path if the reference looks like a commit that we've already
checked out.

Closes https://github.com/astral-sh/uv/issues/12760.
2025-04-08 22:00:40 -04:00
Zanie Blue a38250d470
Fix mismatched pip interface header / nav titles (#12640) 2025-04-08 17:44:44 -05:00
Charlie Marsh 3ece75fc12
Error when `tool.uv.sources` is set in system-level configuration file (#12757)
## Summary

I think the lack of enforcement here is an oversight. We _do_ already
enforce this for user-level configuration files (contrary to the issue
-- at least, in my testing and from reading the code).

Closes https://github.com/astral-sh/uv/issues/12753.
2025-04-08 17:01:12 -04:00
renovate[bot] 17a2e423ec
Update Rust crate tokio to v1.44.0 (#12758) 2025-04-08 19:57:06 +00:00
Charlie Marsh 8a1967d299
Split workspace members onto their own lines in `uv init` (#12756)
## Summary

See the test cases. Previously, you could end up with something like:

```toml
[tool.uv.workspace]
members = [
    "foo",
    "bar",
    "baz", "bop",
]
```
2025-04-08 19:51:23 +00:00
renovate[bot] b9c5d4fed2
Update Rust crate tokio to v1.43.1 (#12733) 2025-04-08 15:42:58 -04:00
renovate[bot] e0b4dfe923
Update Rust crate unicode-width to 0.2.0 (#7632)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [unicode-width](https://redirect.github.com/unicode-rs/unicode-width)
| workspace.dependencies | minor | `0.1.13` -> `0.2.0` |

---

### Release Notes

<details>
<summary>unicode-rs/unicode-width (unicode-width)</summary>

###
[`v0.2.0`](https://redirect.github.com/unicode-rs/unicode-width/compare/v0.1.14...v0.2.0)

[Compare
Source](https://redirect.github.com/unicode-rs/unicode-width/compare/v0.1.14...v0.2.0)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: konstin <konstin@mailbox.org>
2025-04-08 19:33:00 +02:00
renovate[bot] df2d773d52
Update taiki-e/install-action digest to 2db3465 (#12697)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | digest | `6aca1cf` -> `2db3465` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIzNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 12:07:05 -05:00
konsti b0a6ef4dd6
Update maturin-action to v1.48.1 (#12736)
Initially, this was for testing CI for #12688, but I think it makes
sense to merge this independently and rebase #12688 on top of it.
2025-04-08 12:10:48 -04:00
Christopher Tee 7921667ced
Emit dedicated error message for Conda environment.yml files (#12669)
<!--
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
Fixes #12606.

Two options considered, thanks to @zanieb's guidance are:
1. Special-casing on parse error and encountering the `environment.yml`
filename, possibly at `RequirementsTxt::parse`
2. Adding a new `RequirementsSource::EnvironmentYml` variant and
erroring on `RequirementSpecification::from_source`

I went with the latter for the following reasons:
- This edge case is explicitly modelled within the type system. However,
it changes the semantics of `RequirementsSource` to also model
_unsupported_ sources.
- (**Separation of concerns**) The special-casing would occur in the
`uv-requirements-txt` crate, which seems to be relatively deep in the
guts of the codebase. In my opinion, maintainers working in
`uv-requirements-txt` would reasonably assume the input file to be a
`requirements.txt` file, instead of having to be concerned with it being
another file format (`environment.yml`, `pyproject.toml`, etc.)

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

## Test Plan
Manually tested as follows:
```sh
>>> cargo run -- pip install -r environment.yml
error: Conda environment file `environment.yml` is not supported

>>> cargo run -- add -r environment.yml
error: Conda environment file `environment.yml` is not supported
``` 

If you can point me to the appropriate test module, I can write up tests
for these to use `insta`.

<!-- How was it tested? -->
2025-04-07 18:11:43 -05:00
Olly E 335af984f2
Add lockfile note about PEP 751 (#12732)
## Summary

Adds note to docs about PEP 751 to documentation as discussed in #12641 

## Test Plan

Previewed locally

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-04-07 17:53:36 -05:00
Zanie Blue 8ea34b56a1
Extend the reference documentation for `uv pip sync` (#12683)
See https://github.com/astral-sh/uv/issues/12680
2025-04-07 22:40:26 +00:00
Charlie Marsh a0f5c7250b
Avoid infinite loop in `uv export` with conflicts (#12726)
## Summary

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

Closes https://github.com/astral-sh/uv/issues/12719.
2025-04-07 19:10:58 +00:00
Zanie Blue 1cca93c099
Bump version to 0.6.13 (#12725) 2025-04-07 13:44:32 -05:00
Charlie Marsh ce3affa07e
Unset `SCRIPT_PATH` in relocatable activation script (#12672)
## Summary

Restore it if it was previously set, etc.

Closes https://github.com/astral-sh/uv/issues/12662.
2025-04-07 13:11:47 -05:00
Meitar Reihan 2b62f73064
Add `UV_PYTHON_DOWNLOADS_JSON_URL` to set custom managed python sources (#10939)
## Summary

Add an option to overwrite the list of available Python downloads from a
local JSON file by using the environment variable
`UV_PYTHON_DOWNLOADS_JSON_URL`

as an experimental support for providing custom sources for Python
distribution binaries #8015

related #10203

I probably should make the JSON to be fetched from a remote URL instead
of a local file.
please let me know what you think and I will modify the code
accordingly.

## Test Plan

### normal run
```
root@75c66494ba8b:/# /code/target/release/uv python list
cpython-3.14.0a4+freethreaded-linux-x86_64-gnu    <download available>
cpython-3.14.0a4-linux-x86_64-gnu                 <download available>
cpython-3.13.1+freethreaded-linux-x86_64-gnu      <download available>
cpython-3.13.1-linux-x86_64-gnu                   <download available>
cpython-3.12.8-linux-x86_64-gnu                   <download available>
cpython-3.11.11-linux-x86_64-gnu                  <download available>
cpython-3.10.16-linux-x86_64-gnu                  <download available>
cpython-3.9.21-linux-x86_64-gnu                   <download available>
cpython-3.8.20-linux-x86_64-gnu                   <download available>
cpython-3.7.9-linux-x86_64-gnu                    <download available>
pypy-3.10.14-linux-x86_64-gnu                     <download available>
pypy-3.9.19-linux-x86_64-gnu                      <download available>
pypy-3.8.16-linux-x86_64-gnu                      <download available>
pypy-3.7.13-linux-x86_64-gnu                      <download available>
```

### empty JSON file
```sh
root@75c66494ba8b:/# export UV_PYTHON_DOWNLOADS_JSON_URL=/code/crates/uv-python/my-download-metadata.json 
root@75c66494ba8b:/# cat $UV_PYTHON_DOWNLOADS_JSON_URL 
{}
root@75c66494ba8b:/# /code/target/release/uv python list
root@75c66494ba8b:/# 
```

### JSON file with valid version
```sh
root@75c66494ba8b:/# export UV_PYTHON_DOWNLOADS_JSON_URL=/code/crates/uv-python/my-download-metadata.json 
root@75c66494ba8b:/# cat $UV_PYTHON_DOWNLOADS_JSON_URL 
{
  "cpython-3.11.9-linux-x86_64-gnu": {
    "name": "cpython",
    "arch": {
      "family": "x86_64",
      "variant": null
    },
    "os": "linux",
    "libc": "gnu",
    "major": 3,
    "minor": 11,
    "patch": 9,
    "prerelease": "",
    "url": "https://github.com/astral-sh/python-build-standalone/releases/download/20240814/cpython-3.11.9%2B20240814-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz",
    "sha256": "daa487c7e73005c4426ac393273117cf0e2dc4ab9b2eeda366e04cd00eea00c9",
    "variant": null
  }
}
root@75c66494ba8b:/# /code/target/release/uv python list
cpython-3.11.9-linux-x86_64-gnu    <download available>
root@75c66494ba8b:/# 
```

### Remote Path

```sh
root@75c66494ba8b:/# export UV_PYTHON_DOWNLOADS_JSON_URL=http://a.com/file.json 
root@75c66494ba8b:/# /code/target/release/uv python list
error: Remote python downloads JSON is not yet supported, please use a local path (without `file://` prefix)
```

---------

Co-authored-by: Aria Desires <aria.desires@gmail.com>
2025-04-07 13:55:00 -04:00
Aria Desires c0ed5693a7
only warn if CRC appears to be missing (#12722)
an alternative to #12706 

fixes #12694
2025-04-07 12:49:05 -05:00