Charlie Marsh
a261995449
Use base client pattern in more sites ( #13227 )
...
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
## Summary
For consistency. No functional changes.
2025-04-30 20:00:59 -04:00
Meitar Reihan
0593b967ba
Add python-downloads-json-url
option for uv.toml
to configure custom Python installations via JSON URL ( #12974 )
...
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
## Summary
Part of #12838 . Allow users to configure `python-downloads-json-url` in
`uv.toml` and not just from env.
I followed similar PR #8695 , so same as there it's also available in the
CLI (I think maybe it's better not to be configurable from the CLI, but
since the mirror parameters are, I think it's better to do the same)
## Test Plan
<!-- How was it tested? -->
2025-04-30 15:52:11 -04:00
Meitar Reihan
5ee54b4fa3
minify and filter embed managed pythons json on compile time ( #12967 )
...
## Summary
In #10939 I added the generated
`crates/uv-python/src/download-metadata-minified.json` file which is a
minified version of `crates/uv-python/download-metadata.json`.
The main reason for this PR is to avoid bloating the git objects as this
is a single-line file.
As a bonus, I also filtered the embed json to include only the versions
for the compiled target. Which should improve the binary size and
performance by a bit.
## Test Plan
<!-- How was it tested? -->
2025-04-30 15:51:03 -04:00
Zanie Blue
481d05d8df
Bump version to 0.7.2 ( #13240 )
2025-04-30 14:01:58 -05:00
Aria Desires
f91b4aeb66
hard error uv version
for more cli flags ( #13203 )
2025-04-30 17:39:11 +00:00
Zanie Blue
671d609127
Improve trace log for retryable errors ( #13228 )
...
Previously, this looked like
> TRACE Considering retry of error: Error { kind:
WrappedReqwestError(Url { scheme: "https", cannot_be_a_base: false,
username: "", password: None, host: Some(Domain("pkgs.dev.azure.com")),
port: None, path:
"/My-Project-Name/_packaging/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/pypi/download/rr-config/4/rr_config-4.0.0-py3-none-any.whl",
query: None, fragment: None },
WrappedReqwestError(Reqwest(reqwest::Error { kind: Status(405), url:
"https://pkgs.dev.azure.com/My-Project-Name/_packaging/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/pypi/download/rr-config/4/rr_config-4.0.0-py3-none-any.whl "
}))) }
2025-04-30 12:29:47 -05:00
Zanie Blue
d8e472cfa8
Use "error" instead of "warning" for self-update message ( #13229 )
...
Closes https://github.com/astral-sh/uv/issues/13221
2025-04-30 12:23:30 -05:00
Zanie Blue
a9ab39ad6f
Fix patching of clang
in managed Python sysconfig ( #13237 )
...
Regressed in
https://github.com/astral-sh/uv/pull/12239/files#r2069106892 because
additional entries override the previous one in the mapping. Now, we can
apply multiple patches in-order.
Closes #13236
2025-04-30 12:23:22 -05:00
konsti
9ea0fdcee9
Respect --project
in uv version
( #13230 )
...
Previously, we were using the wrong `Workspace` discovery and would
report the version of the workspace root, which would iterate up from
the `--project` directory and return the workspace root (with or without
a project in the root). Instead, we need `ProjectWorkspace` discovery
that returns the closest project.
This fixes `uv version --project <path>` where `<path>` belongs to a
workspace member.
Fixes #13213
2025-04-30 16:11:50 +00:00
Zanie Blue
3a87b6374a
Fix incorrect venv invalidation for pre-release Python versions ( #13234 )
...
I think this regressed in https://github.com/astral-sh/uv/pull/13027 — I
misunderstood what versions could be represented in the `pyvenv.cfg` (I
assumed they _never_ included pre-release components).
Closes #13233
2025-04-30 10:55:22 -05:00
konsti
90f46f89a5
Bump version to 0.7.1 ( #13218 )
...
Revert fix handling of authentication when encountering redirects
([#13215 ](https://github.com/astral-sh/uv/pull/13215 ))
2025-04-30 11:41:55 +02:00
John Mumm
c73819371c
Revert fix handling of authentication when encountering redirects ( #13215 )
...
These changes to redirect handling appear to have caused #13208 . This PR
reverts the redirect changes to give us time to investigate.
2025-04-30 10:53:10 +02:00
Charlie Marsh
6bce5d712f
Add support for BLAKE2b-256 ( #13204 )
...
CI / integration test | uv publish (push) Blocked by required conditions
CI / integration test | uv_build (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
## Summary
You can upload these to PyPI and `warehouse` will validate them.
2025-04-29 18:39:41 -04:00
Charlie Marsh
62bca8c34c
Stylize version warning with bold, yellow, etc. ( #13202 )
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
2025-04-29 16:37:00 -05:00
Zanie Blue
1e8e08def2
Bump version to 0.7.0 and write changelog ( #13201 )
...
The changelog diff is deranged. Rendered at
https://github.com/astral-sh/uv/blob/zb/changelog-07/CHANGELOG.md#070
---------
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2025-04-29 16:37:00 -05:00
Zanie Blue
f84faf726a
Make uv’s first-index strategy more secure by default by failing early on authentication failure ( #12805 )
...
uv’s default index strategy was designed with dependency confusion
attacks in mind. [According to the
docs](https://docs.astral.sh/uv/configuration/indexes/#searching-across-multiple-indexes ),
“if a package exists on an internal index, it should always be installed
from the internal index, and never from PyPI”. Unfortunately, this is
not true in the case where authentication fails on that internal index.
In that case, uv will simply try the next index (even on the
`first-index` strategy). This means that uv is not secure by default in
this common scenario.
This PR causes uv to stop searching for a package if it encounters an
authentication failure at an index. It is possible to opt out of this
behavior for an index with a new `pyproject.toml` option
`ignore-error-codes`. For example:
```
[[tool.uv.index]]
name = "my-index"
url = "<index-url>"
ignore-error-codes = [401, 403]
```
This will also enable users to handle idiosyncratic registries in a more
fine-grained way. For example, PyTorch registries return a 403 when a
package is not found. In this PR, we special-case PyTorch registries to
ignore 403s, but users can use `ignore-error-codes` to handle similar
behaviors if they encounter them on internal registries.
Depends on #12651
Closes #9429
Closes #12362
2025-04-29 16:37:00 -05:00
Charlie Marsh
11d00d21f7
Reject non-PEP 751 TOML files in install commands ( #13120 )
...
If you pass a TOML file to `uv pip install` that isn't recognized, we
should just reject it instead of assuming `requirements.txt`. I just
don't see a real case where it's better to let the command proceed.
2025-04-29 16:37:00 -05:00
Charlie Marsh
3ace372158
Reject non-PEP 751 filenames in uv pip compile
and uv export
( #13119 )
...
We shouldn't let users create files that won't work in subsequent
commands.
Closes https://github.com/astral-sh/uv/issues/13117 .
2025-04-29 16:37:00 -05:00
Zanie Blue
e8524ebea4
Fix display name for uvx --version
( #13109 )
...
Based on #13108 because I don't want to deal with rebasing conflicts
across `main` and `release/070`.
```
❯ .uvx --version
uv-tool-uvx 0.6.16+23 (33b8b7340
2025-04-25)
❯ uvx --version
uvx 0.6.16+23 (33b8b7340
2025-04-25)
```
For posterity, chased this down via
https://github.com/clap-rs/clap/pull/3693 and
https://github.com/clap-rs/clap/issues/1382
2025-04-29 16:37:00 -05:00
Zanie Blue
60a164abbb
Remove --version
from subcommands ( #13108 )
...
Supersedes https://github.com/astral-sh/uv/pull/12439 — does not use the
Clap macro so we retain control over the messages
Closes #12431
0077a67b34
pulls `uv run` and `uv tool run` test changes from
https://github.com/astral-sh/uv/pull/12439
2025-04-29 16:37:00 -05:00
Zanie Blue
b6df755c9b
Omit Python 3.7 downloads from managed versions ( #13022 )
...
Removes Python 3.7 installation support.
The following are available today and would no longer be available
```
cpython-3.7.9-windows-x86_64-none <download available>
cpython-3.7.9-windows-x86-none <download available>
cpython-3.7.9-macos-x86_64-none <download available>
cpython-3.7.9-linux-x86_64-gnu <download available>
cpython-3.7.7-windows-x86_64-none <download available>
cpython-3.7.7-windows-x86-none <download available>
cpython-3.7.7-macos-x86_64-none <download available>
cpython-3.7.7-linux-x86_64-gnu <download available>
cpython-3.7.6-windows-x86_64-none <download available>
cpython-3.7.6-windows-x86-none <download available>
pypy-3.7.13-windows-x86_64-none <download available>
pypy-3.7.13-macos-x86_64-none <download available>
pypy-3.7.13-linux-x86_64-gnu <download available>
pypy-3.7.13-linux-x86-gnu <download available>
pypy-3.7.13-linux-s390x-gnu <download available>
pypy-3.7.13-linux-aarch64-gnu <download available>
pypy-3.7.12-windows-x86_64-none <download available>
pypy-3.7.12-macos-x86_64-none <download available>
pypy-3.7.12-linux-x86_64-gnu <download available>
pypy-3.7.12-linux-x86-gnu <download available>
pypy-3.7.12-linux-s390x-gnu <download available>
pypy-3.7.12-linux-aarch64-gnu <download available>
pypy-3.7.10-windows-x86_64-none <download available>
pypy-3.7.10-macos-x86_64-none <download available>
pypy-3.7.10-linux-x86_64-gnu <download available>
pypy-3.7.10-linux-x86-gnu <download available>
pypy-3.7.10-linux-s390x-gnu <download available>
pypy-3.7.10-linux-aarch64-gnu <download available>
pypy-3.7.9-windows-x86-none <download available>
pypy-3.7.9-macos-x86_64-none <download available>
pypy-3.7.9-linux-x86_64-gnu <download available>
pypy-3.7.9-linux-x86-gnu <download available>
pypy-3.7.9-linux-s390x-gnu <download available>
pypy-3.7.9-linux-aarch64-gnu <download available>
```
All the CPython ones should absolutely not be available, as they're not
even the last security patch release. I'm on the fence about PyPy?
2025-04-29 16:37:00 -05:00
Charlie Marsh
8bb5b63009
Make --frozen
and --no-sources
conflicting options ( #12671 )
...
Alternatively, we could just warn.
Closes https://github.com/astral-sh/uv/issues/12653 .
2025-04-29 16:37:00 -05:00
Aria Desires
f401d9ba8f
change uv version
to be an interface for project version reads and edits ( #12349 )
...
This is a reimplementation of #7248 with a new CLI interface.
The old `uv version` is now `uv self version` (also it has gained a
`--short` flag for parity).
The new `uv version` is now an interface for getting/setting the project
version.
To give a modicum of support for migration, if `uv version` is run and
we fail to find/read a `pyproject.toml` we will fallback to `uv self
version`. `uv version --project .` prevents this fallback from being
allowed.
The new API of `uv version` is as follows:
* pass nothing to read the project version
* pass a version to set the project version
* `--bump major|minor|patch` to semver-bump the project version
* `--dry-run` to show the result but not apply it
* `--short` to have the final printout contain only the final version
* `--output-format json` to get the final printout as json
```
$ uv version
myfast 0.1.0
$ uv version --bump major --dry-run
myfast 0.1.0 => 1.0.0
$ uv version 1.2.3 --dry-run
myfast 0.1.0 => 1.2.3
$ uv version 1.2.3
myfast 0.1.0 => 1.2.3
$ uv version --short
1.2.3
$ uv version --output-format json
{
"package_name": "myfast",
"version": "1.2.3",
"commit_info": null
}
```
Fixes #6298
2025-04-29 16:37:00 -05:00
Zanie Blue
de1479c4ef
Use index URL instead of package URL for keyring credential lookups ( #12651 )
...
Some registries (like Azure Artifact) can require you to authenticate
separately for every package URL if you do not authenticate for the
/simple endpoint. These changes make the auth middleware aware of index
URL endpoints and attempts to fetch keyring credentials for such an
index URL when making a request to any URL it's a prefix of.
The current uv behavior is to cache credentials either at the request
URL or realm level. But with these changes, we also need to cache
credentials at the index level. Note that when uv does not detect an
index URL for a request URL, it will continue to apply the old behavior.
Addresses part of #4056
Closes #4583
Closes #11236
Closes #11391
Closes #11507
2025-04-29 16:37:00 -05:00
Zanie Blue
514a7ea6df
Require the command in uvx <name>
to be available in the Python environment ( #11603 )
...
Closes https://github.com/astral-sh/uv/issues/7804
Includes a few small minor changes to the messaging, but the primary
change is that in, e.g., `uvx foo`, if the `foo` package does not
provide the `foo` executable we will no longer execute an arbitrary
`foo` executable if present on the `PATH`. This prevents confusing and
surprising behavior, such as the user reported where they did `uv tool
install foobar` (which provides `foo`) then `uvx foo` (which does not
provide `foo`) later falls back to the executable provided by `foobar`
since it's on the `PATH`. We don't enforce this for `--from`, so things
like `uvx --from foo bash -c "..."` are still totally valid. We also
still allow `uvx foo` where the `foo` executable is provided by a
_dependency_ of `foo` instead of `foo` itself.
Most of the diff here is consolidating the logic of the
`hint_on_not_found` and `warn_executable_not_provided_by_package `
utilities.
2025-04-29 16:37:00 -05:00
Zanie Blue
6cc2202799
Ignore arbitrary Python requests in version files ( #12909 )
...
Closes https://github.com/astral-sh/uv/issues/12605
2025-04-29 16:37:00 -05:00
Zanie Blue
1988e209ef
Treat empty UV_PYTHON_INSTALL_DIR
as unset ( #12907 )
...
Same as https://github.com/astral-sh/uv/pull/12905 — found via regex
2025-04-29 16:37:00 -05:00
Zanie Blue
cac6560b4f
Treat empty UV_TOOL_DIR
as unset ( #12905 )
...
Closes https://github.com/astral-sh/uv/issues/8608
2025-04-29 16:37:00 -05:00
Aria Desires
318949ade6
Error on unknown dependency object specifiers ( #12841 )
...
This reverts commit dd788a0f47
.
And relands #12811 , for 0.7.0
2025-04-29 16:37:00 -05:00
Charlie Marsh
a3dae2512c
Disallow mixing requirements across PyTorch indexes ( #13179 )
...
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / integration test | uv_build (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
## Summary
If you use `--torch-backend=auto`, we want to avoid selecting (e.g.) a
`+cu124` build of `torch` alongside a `+cu126` build of `torchvision`.
2025-04-28 20:06:18 +00:00
Bartosz Sokorski
6292748371
Add poetry-core as a build backend option ( #12781 )
...
<!--
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 adds `poetry-core` as a build backend choice.
## Test Plan
<!-- How was it tested? -->
---------
Co-authored-by: konstin <konstin@mailbox.org>
2025-04-28 19:11:52 +00:00
Ahmed Ilyas
4680c9b22d
Add more default group tests and fix default groups for uv add
( #13182 )
...
## Summary
Brings in a bug fix for `uv add` w.r.t default groups from
https://github.com/astral-sh/uv/pull/12964 , see comment:
https://github.com/astral-sh/uv/pull/12964#discussion_r2060775131
Adds additional test coverage for default groups in `run`, `remove`,
`add`.
## Test Plan
`cargo test`
2025-04-28 15:02:43 -04:00
Ahmed Ilyas
f872917d33
Refactor ExtraSpecification
to support default-extras
( #12964 )
...
## Summary
Part of #8607 . This is a pure refactor aimed at paving the way for
supporting the `default-extras` configuration in the `pyproject.toml`
file.
The `ExtraSpecification` struct has been refactored to align more
closely with the
[`DependencyGroups`](256b100a9e/crates/uv-configuration/src/dependency_groups.rs (L9)
)
struct.
## Test Plan
Existing tests.
2025-04-28 13:30:14 -04:00
konsti
85d8b07026
Remove flyte-short-incompatible benchmark for too many false positives ( #13181 )
...
The benchmark has recurring false positives
(https://github.com/astral-sh/uv/issues?q=flyte-short-incompatible%20 ),
so we're removing it.
2025-04-28 18:01:34 +02:00
Charlie Marsh
bb0158d005
Use upload-time
rather than upload_time
in uv.lock
( #13176 )
...
## Summary
In https://github.com/astral-sh/uv/pull/12968 , we added support for
upload time to `uv.lock`, but stylized as `upload_time`. The other keys
in `uv.lock` use kebab casing, as in common in Python formats, so this
really should've been `upload-time`. I want to change it ASAP to
minimize churn for users. Any users that already upgraded will of course
experience churn in their files a second time. But if we don't change it
now, we'll only increase the surface area of affected users.
So, this PR uses `upload-time` instead, but continues reading
`upload_time` to make it non-breaking.
2025-04-28 11:01:17 -04:00
renovate[bot]
6402f98cbd
Update Rust crate windows to 0.61.0 ( #13159 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [windows](https://redirect.github.com/microsoft/windows-rs ) |
dependencies | minor | `0.59.0` -> `0.61.0` |
---
### Release Notes
<details>
<summary>microsoft/windows-rs (windows)</summary>
###
[`v0.61.0`](https://redirect.github.com/microsoft/windows-rs/releases/tag/0.61.0 )
[Compare
Source](https://redirect.github.com/microsoft/windows-rs/compare/0.60.0...0.61.0 )
Major crate updates:
- `windows` 0.59.0
- `windows-core` 0.59.0
- `windows-implement` 0.59.0
- `windows-interface` 0.59.0
- `windows-targets` 0.53.0
- `windows_i686_msvc` 0.53.0
- `windows_x86_64_msvc` 0.53.0
- `windows_aarch64_msvc` 0.53.0
- `windows_i686_gnu` 0.53.0
- `windows_x86_64_gnu` 0.53.0
- `windows_i686_gnullvm` 0.53.0
- `windows_x86_64_gnullvm` 0.53.0
- `windows_aarch64_gnullvm` 0.53.0
- `windows-bindgen` 0.59.0
- `windows-registry` 0.4.0
- `windows-result` 0.3.0
- `windows-strings` 0.3.0
- `cppwinrt` 0.2.0
Minor crate updates:
- `windows-version` 0.1.2
Excluded:
- `windows-sys` 0.59.0
Things to keep in mind:
- The tag/release names no longer map directly to the crate versions, so
to [find
samples](https://redirect.github.com/microsoft/windows-rs/tree/master/crates/samples )
for a particular release requires looking at [the
releases](https://redirect.github.com/microsoft/windows-rs/releases )
page and finding the release that most recently updated a particular
crate.
- The `windows-bindgen` crate includes the major code generation
overhaul that brings many improvements - be sure to check out the PR
description for more information. The resulting code gen depends on the
new version of `windows-core` and its dependencies, unless you include
the `--sys` option.
[#​3359](https://redirect.github.com/microsoft/windows-rs/issues/3359 )
- The `cppwinrt` crate constitutes a major update due to streamlining
the error handling.
[#​3415](https://redirect.github.com/microsoft/windows-rs/issues/3415 )
- The `windows-registry`, `windows-strings,` and `windows-result` crates
are also major version updates since they include small breaking
changes.
- The `windows-targets` crate finally receives a major version update,
the first in over a year. This is due to
[#​3359](https://redirect.github.com/microsoft/windows-rs/issues/3359 )
and
[#​3342](https://redirect.github.com/microsoft/windows-rs/issues/3342 )
potentially introducing breaking changes. Although unlikely, these
updates introduced sufficient changes that make it hard to ensure that
the `windows-targets` libs don't break existing code. As we're updating
`windows-targets` anyway, I took the liberty to bump the MSRV to 1.60 -
to match the latest version of `windows-sys` - and remove the old but
unused doc macro feature. Both remained for compatibility with very old
dependents of the `windows-targets` crate.
- The `windows-version` crate receives a minor update to update its
dependency on the `windows-targets` crate.
- Beyond these specifics, this update is the culmination of around 6
months worth of work on the `windows-rs` project. The biggest
improvements comes from the new code generation engine, but many other
improvements are now also available for production. This includes
support for many new lints, warnings, and suggestions provided by the
Rust toolchain; much smaller code gen thanks to deriving many more
traits; more efficient code gen; major improvements to WinRT type system
and implementation support; more robust and consistent error handling;
stock collection and async support; improved support for class
hierarchies; and much more!
In addition to "what's changed" below, check out what's changed for
notes for
[0.60.0](https://redirect.github.com/microsoft/windows-rs/releases/tag/0.60.0 )
and
[0.59.0](https://redirect.github.com/microsoft/windows-rs/releases/tag/0.59.0 )
for additional changes that roll up to the crates published as part of
this release.
#### What's Changed
- Remove improper_ctypes workaround by
[@​ChrisDenton](https://redirect.github.com/ChrisDenton ) in
[https://github.com/microsoft/windows-rs/pull/3296 ](https://redirect.github.com/microsoft/windows-rs/pull/3296 )
- Bump rollup from 2.79.1 to 2.79.2 in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3299 ](https://redirect.github.com/microsoft/windows-rs/pull/3299 )
- Update jsonschema requirement from 0.20 to 0.21 by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3301 ](https://redirect.github.com/microsoft/windows-rs/pull/3301 )
- Address Rust nightly compiler warnings by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3311 ](https://redirect.github.com/microsoft/windows-rs/pull/3311 )
- Update jsonschema requirement from 0.21 to 0.22 by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3310 ](https://redirect.github.com/microsoft/windows-rs/pull/3310 )
- Update workflows to ignore paths on pull request by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3312 ](https://redirect.github.com/microsoft/windows-rs/pull/3312 )
- Fix remaining `std` references in `windows` and `windows-core` crates
for `no_std` builds by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3317 ](https://redirect.github.com/microsoft/windows-rs/pull/3317 )
- Bump cookie and express in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3318 ](https://redirect.github.com/microsoft/windows-rs/pull/3318 )
- Fix nested struct sort order by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3321 ](https://redirect.github.com/microsoft/windows-rs/pull/3321 )
- Update jsonschema requirement from 0.22 to 0.23 by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3323 ](https://redirect.github.com/microsoft/windows-rs/pull/3323 )
- Add `unwrap` helper for `NTSTATUS` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3324 ](https://redirect.github.com/microsoft/windows-rs/pull/3324 )
- Bump http-proxy-middleware from 2.0.6 to 2.0.7 in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3331 ](https://redirect.github.com/microsoft/windows-rs/pull/3331 )
- Remove "implement" feature by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3333 ](https://redirect.github.com/microsoft/windows-rs/pull/3333 )
- Update web workflow by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3344 ](https://redirect.github.com/microsoft/windows-rs/pull/3344 )
- Update Windows metadata by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3342 ](https://redirect.github.com/microsoft/windows-rs/pull/3342 )
- Bump cross-spawn from 7.0.3 to 7.0.6 in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3347 ](https://redirect.github.com/microsoft/windows-rs/pull/3347 )
- fix: remove use of std in windows-strings h! macro by
[@​vthib](https://redirect.github.com/vthib ) in
[https://github.com/microsoft/windows-rs/pull/3356 ](https://redirect.github.com/microsoft/windows-rs/pull/3356 )
- Major `windows-bindgen` update by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3359 ](https://redirect.github.com/microsoft/windows-rs/pull/3359 )
- Harden reg-free class activation by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3365 ](https://redirect.github.com/microsoft/windows-rs/pull/3365 )
- Simpler bindings generation by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3367 ](https://redirect.github.com/microsoft/windows-rs/pull/3367 )
- `windows-bindgen` should generate `no_std` bindings by default by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3366 ](https://redirect.github.com/microsoft/windows-rs/pull/3366 )
- Prefer optional over convertible parameters by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3368 ](https://redirect.github.com/microsoft/windows-rs/pull/3368 )
- Remove unused extensions by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3369 ](https://redirect.github.com/microsoft/windows-rs/pull/3369 )
- Simpler code generation by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3370 ](https://redirect.github.com/microsoft/windows-rs/pull/3370 )
- Update dependencies by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3374 ](https://redirect.github.com/microsoft/windows-rs/pull/3374 )
- Simpler code gen for Boolean parameters by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3373 ](https://redirect.github.com/microsoft/windows-rs/pull/3373 )
- Remap `BOOLEAN` to `bool` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3376 ](https://redirect.github.com/microsoft/windows-rs/pull/3376 )
- Avoid generating `transmute` for input value type parameter bindings
by [@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3377 ](https://redirect.github.com/microsoft/windows-rs/pull/3377 )
- Fix macro docs by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3378 ](https://redirect.github.com/microsoft/windows-rs/pull/3378 )
- Streamline error handling in `windows-bindgen` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3379 ](https://redirect.github.com/microsoft/windows-rs/pull/3379 )
- Improve WinRT event representation and testing by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3382 ](https://redirect.github.com/microsoft/windows-rs/pull/3382 )
- Use `track_caller` to make debugging `bindgen` build script errors
easier by [@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3383 ](https://redirect.github.com/microsoft/windows-rs/pull/3383 )
- `windows-bindgen` now uses `Ref` and `OutRef` for COM interface traits
by [@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3386 ](https://redirect.github.com/microsoft/windows-rs/pull/3386 )
- Add static event test/sample for WinRT by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3389 ](https://redirect.github.com/microsoft/windows-rs/pull/3389 )
- Verify param direction by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3390 ](https://redirect.github.com/microsoft/windows-rs/pull/3390 )
- Ensure external references to static factories are generated correctly
by [@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3392 ](https://redirect.github.com/microsoft/windows-rs/pull/3392 )
- Update `windows-bindgen` to support `unsafe_op_in_unsafe_fn` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3393 ](https://redirect.github.com/microsoft/windows-rs/pull/3393 )
- Make `Ref` work with more than just interface types by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3394 ](https://redirect.github.com/microsoft/windows-rs/pull/3394 )
- Add PR preview deployments to web workflow by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3395 ](https://redirect.github.com/microsoft/windows-rs/pull/3395 )
- Adjust web workflow to use gh-pages branch by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3397 ](https://redirect.github.com/microsoft/windows-rs/pull/3397 )
- Streamline CRA deps and webpack config by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3396 ](https://redirect.github.com/microsoft/windows-rs/pull/3396 )
- Address nightly clippy warnings about operator precedence by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3414 ](https://redirect.github.com/microsoft/windows-rs/pull/3414 )
- Detect unsupported array parameters by
[@​iancormac84](https://redirect.github.com/iancormac84 ) in
[https://github.com/microsoft/windows-rs/pull/3402 ](https://redirect.github.com/microsoft/windows-rs/pull/3402 )
- `cppwinrt` should consistently panic on failure by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3415 ](https://redirect.github.com/microsoft/windows-rs/pull/3415 )
- Shorten sample crate names by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3416 ](https://redirect.github.com/microsoft/windows-rs/pull/3416 )
- Use `track_caller` to make debugging `cppwinrt` build script errors
easier by [@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3417 ](https://redirect.github.com/microsoft/windows-rs/pull/3417 )
- Fix provenance in direct32 sample by
[@​ChrisDenton](https://redirect.github.com/ChrisDenton ) in
[https://github.com/microsoft/windows-rs/pull/3419 ](https://redirect.github.com/microsoft/windows-rs/pull/3419 )
- Update web workflow to use external origin by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3420 ](https://redirect.github.com/microsoft/windows-rs/pull/3420 )
- Avoid `transmute` where possible by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3421 ](https://redirect.github.com/microsoft/windows-rs/pull/3421 )
- Update GitHub Actions runners by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3423 ](https://redirect.github.com/microsoft/windows-rs/pull/3423 )
- Improve feature search UX, add dark mode, and update deps by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3422 ](https://redirect.github.com/microsoft/windows-rs/pull/3422 )
- Release 0.61.0 by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3418 ](https://redirect.github.com/microsoft/windows-rs/pull/3418 )
#### New Contributors
- [@​iancormac84](https://redirect.github.com/iancormac84 ) made
their first contribution in
[https://github.com/microsoft/windows-rs/pull/3402 ](https://redirect.github.com/microsoft/windows-rs/pull/3402 )
**Full Changelog**:
https://github.com/microsoft/windows-rs/compare/0.60.0...0.61.0
###
[`v0.60.0`](https://redirect.github.com/microsoft/windows-rs/releases/tag/0.60.0 )
[Compare
Source](https://redirect.github.com/microsoft/windows-rs/compare/0.59.0...0.60.0 )
This release includes an update to the
[windows-registry](https://crates.io/crates/windows-registry ) and
[windows-strings](https://crates.io/crates/windows-strings ) crates,
mainly to provide various improvements to registry support for
[rustup](https://redirect.github.com/rust-lang/rustup ).
#### What's Changed
- Add precise registry types and allocation-free queries and updates by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3184 ](https://redirect.github.com/microsoft/windows-rs/pull/3184 )
- Add registry `Value` to/from `HSTRING` conversion by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3190 ](https://redirect.github.com/microsoft/windows-rs/pull/3190 )
- Replace `From<&str>` for `GUID` with `TryFrom<&str>` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3193 ](https://redirect.github.com/microsoft/windows-rs/pull/3193 )
- Remove uneeded feature dependencies by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3201 ](https://redirect.github.com/microsoft/windows-rs/pull/3201 )
- docs: add root level documentation for all libraries by
[@​Nerixyz](https://redirect.github.com/Nerixyz ) in
[https://github.com/microsoft/windows-rs/pull/3202 ](https://redirect.github.com/microsoft/windows-rs/pull/3202 )
- Cleanup doc testing by
[@​Nerixyz](https://redirect.github.com/Nerixyz ) in
[https://github.com/microsoft/windows-rs/pull/3205 ](https://redirect.github.com/microsoft/windows-rs/pull/3205 )
- Revert cfg doc by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3206 ](https://redirect.github.com/microsoft/windows-rs/pull/3206 )
- Remove workaround for "unused" private fields by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3207 ](https://redirect.github.com/microsoft/windows-rs/pull/3207 )
- Immutable Event implementation by
[@​lifers](https://redirect.github.com/lifers ) in
[https://github.com/microsoft/windows-rs/pull/3198 ](https://redirect.github.com/microsoft/windows-rs/pull/3198 )
- Always treat warnings as errors by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3210 ](https://redirect.github.com/microsoft/windows-rs/pull/3210 )
- Consistent allocation failure handling by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3209 ](https://redirect.github.com/microsoft/windows-rs/pull/3209 )
- Improve class hierarchy support by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3212 ](https://redirect.github.com/microsoft/windows-rs/pull/3212 )
- Consistent allocation failure for stock collections by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3216 ](https://redirect.github.com/microsoft/windows-rs/pull/3216 )
- Consistent allocation failure for `windows-registry` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3215 ](https://redirect.github.com/microsoft/windows-rs/pull/3215 )
- Add default "std" feature for `windows-registry` crate by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3214 ](https://redirect.github.com/microsoft/windows-rs/pull/3214 )
- Overhaul async and future support by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3213 ](https://redirect.github.com/microsoft/windows-rs/pull/3213 )
- Addressing new nightly Clippy warning by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3222 ](https://redirect.github.com/microsoft/windows-rs/pull/3222 )
- Add async `ready` support by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3221 ](https://redirect.github.com/microsoft/windows-rs/pull/3221 )
- Bump micromatch from 4.0.5 to 4.0.8 in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3223 ](https://redirect.github.com/microsoft/windows-rs/pull/3223 )
- Add file dialog sample by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3226 ](https://redirect.github.com/microsoft/windows-rs/pull/3226 )
- Use relative path for extension by
[@​glandium](https://redirect.github.com/glandium ) in
[https://github.com/microsoft/windows-rs/pull/3224 ](https://redirect.github.com/microsoft/windows-rs/pull/3224 )
- Simplify trait bounds for interface implementations by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3227 ](https://redirect.github.com/microsoft/windows-rs/pull/3227 )
- Remove unnecessary closure from generated code by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3228 ](https://redirect.github.com/microsoft/windows-rs/pull/3228 )
- Bump webpack from 5.90.2 to 5.94.0 in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3236 ](https://redirect.github.com/microsoft/windows-rs/pull/3236 )
- Add async `spawn` support by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3235 ](https://redirect.github.com/microsoft/windows-rs/pull/3235 )
- Nightly Clippy warning about assumed lifetime by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3243 ](https://redirect.github.com/microsoft/windows-rs/pull/3243 )
- Regenerate GNU libs by
[@​riverar](https://redirect.github.com/riverar ) in
[https://github.com/microsoft/windows-rs/pull/3241 ](https://redirect.github.com/microsoft/windows-rs/pull/3241 )
- Add support for composable constructors by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3246 ](https://redirect.github.com/microsoft/windows-rs/pull/3246 )
- Use workspace dependencies where practical by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3248 ](https://redirect.github.com/microsoft/windows-rs/pull/3248 )
- Add test folders by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3252 ](https://redirect.github.com/microsoft/windows-rs/pull/3252 )
- Improve interop testing by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3253 ](https://redirect.github.com/microsoft/windows-rs/pull/3253 )
- Avoid deriving `Eq` for structs containing floating point type
parameters by [@​kennykerr](https://redirect.github.com/kennykerr )
in
[https://github.com/microsoft/windows-rs/pull/3255 ](https://redirect.github.com/microsoft/windows-rs/pull/3255 )
- Add test for composable type authoring support by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3259 ](https://redirect.github.com/microsoft/windows-rs/pull/3259 )
- Factory cache statics don't need to be public by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3261 ](https://redirect.github.com/microsoft/windows-rs/pull/3261 )
- Allow `noexcept` methods in a composable hierarchy by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3262 ](https://redirect.github.com/microsoft/windows-rs/pull/3262 )
- Group more of the WinRT tests together by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3263 ](https://redirect.github.com/microsoft/windows-rs/pull/3263 )
- Remove "riddle" and metadata generation by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3266 ](https://redirect.github.com/microsoft/windows-rs/pull/3266 )
- Improvements to `windows-metadata` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3268 ](https://redirect.github.com/microsoft/windows-rs/pull/3268 )
- We can now derive `Eq` and `PartialEq` for structs containing
callbacks by [@​kennykerr](https://redirect.github.com/kennykerr )
in
[https://github.com/microsoft/windows-rs/pull/3270 ](https://redirect.github.com/microsoft/windows-rs/pull/3270 )
- Simpler "retval" heuristic by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3271 ](https://redirect.github.com/microsoft/windows-rs/pull/3271 )
- Test error handling for `windows-bindgen` crate by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3272 ](https://redirect.github.com/microsoft/windows-rs/pull/3272 )
- Exclude `web` on most workflows by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3279 ](https://redirect.github.com/microsoft/windows-rs/pull/3279 )
- Bump serve-static and express in /web/features by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3274 ](https://redirect.github.com/microsoft/windows-rs/pull/3274 )
- Update jsonschema requirement from 0.18 to 0.19 by
[@​dependabot](https://redirect.github.com/dependabot ) in
[https://github.com/microsoft/windows-rs/pull/3283 ](https://redirect.github.com/microsoft/windows-rs/pull/3283 )
- Move `VARIANT` support to the `windows` crate by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3282 ](https://redirect.github.com/microsoft/windows-rs/pull/3282 )
- Update `jsonschema` dependency by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3286 ](https://redirect.github.com/microsoft/windows-rs/pull/3286 )
- Expand `raw-dylib` testing by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3287 ](https://redirect.github.com/microsoft/windows-rs/pull/3287 )
- Fix for `cppwinrt` concurrency issue by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3289 ](https://redirect.github.com/microsoft/windows-rs/pull/3289 )
- Address Rust nightly compiler warnings by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3292 ](https://redirect.github.com/microsoft/windows-rs/pull/3292 )
- Add `Deref` implementation for `HSTRING` by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3291 ](https://redirect.github.com/microsoft/windows-rs/pull/3291 )
- Release 0.60.0 by
[@​kennykerr](https://redirect.github.com/kennykerr ) in
[https://github.com/microsoft/windows-rs/pull/3293 ](https://redirect.github.com/microsoft/windows-rs/pull/3293 )
#### New Contributors
- [@​lifers](https://redirect.github.com/lifers ) made their first
contribution in
[https://github.com/microsoft/windows-rs/pull/3198 ](https://redirect.github.com/microsoft/windows-rs/pull/3198 )
**Full Changelog**:
https://github.com/microsoft/windows-rs/compare/0.59.0...0.60.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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: konstin <konstin@mailbox.org>
2025-04-28 13:36:29 +02:00
konsti
b33a19689c
Optional managed Python archive download cache ( #12175 )
...
Part of #11834
Currently, all Python installation are a streaming download-and-extract.
With this PR, we add the `UV_PYTHON_CACHE_DIR` variable. When set, the
installation is split into downloading the interpreter into
`UV_PYTHON_CACHE_DIR` and extracting it there from a second step. If the
archive is already present in `UV_PYTHON_CACHE_DIR`, we skip the
download.
The feature can be used to speed up tests and CI. Locally for me, `cargo
test -p uv -- python_install` goes from 43s to 7s (1,7s in release mode)
when setting `UV_PYTHON_CACHE_DIR`. It can also be used for offline
installation of Python interpreter, by copying the archives to a
directory in the offline machine, while the path rewriting is still
performed on the target machine on installation.
2025-04-28 12:09:09 +02:00
John Mumm
4ee4a8861e
Implement RFC 7231 compliant relative URI and fragment handling in redirects ( #13050 )
...
This PR restores #13041 and integrates two PRs from @zanieb:
* #13038
* #13040
It also adds tests for relative URI and fragment handling.
Closes #13037 .
---------
Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-04-28 09:07:06 +02:00
Charlie Marsh
dc5b3762f3
Show tag hints when failing to find a compatible wheel in pylock.toml
( #13136 )
...
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
## Summary
Closes #13135 .
2025-04-27 12:56:50 -04:00
Charlie Marsh
78756de027
Respect build options (--no-binary
et al) in pylock.toml
( #13134 )
...
## Summary
Closes #13133 .
2025-04-27 12:28:30 -04:00
Charlie Marsh
17b4ebed8e
Avoid erroring on omitted wheel-only packages in pylock.toml
( #13132 )
...
## Summary
Closes https://github.com/astral-sh/uv/issues/13127 .
2025-04-27 11:58:20 -04:00
ReinforcedKnowledge
1b23035703
Add pylock.toml mentions where relevant ( #13115 )
...
Just a small PR to add mentions to `pylock.toml` in the CLI manual where
appropriate.
I tried to say "PEP-751 compatible lock files" when appropriate to also
include the case `r"^pylock\.([^.]+)\.toml$"`. Feel free to change that
if you think it's cluttery.
I also tried to include the "single-use" wording when it made sense.
I also have almost never used the `uv pip` interface, so maybe there are
some other minor things to add here and there about the usage of
`pylock.toml` that I missed.
---------
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-04-26 14:26:30 +00:00
Zanie Blue
fb08116800
Report Python versions in pyvenv.cfg
version mismatch ( #13027 )
...
CI / integration test | uv_build (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
When working on #13025 I noticed this message was lacking versions,
which seems frustrating if you're debugging things.
I refactored the general `matches_interpreter` utilities that were added
in https://github.com/astral-sh/uv/pull/12884 into a more purpose-fit
function that returns an `Option` with the versions if there's a
mismatch.
2025-04-25 18:06:46 +00:00
Charlie Marsh
8414e9f3dd
Bump version to v0.6.17 ( #13110 )
2025-04-25 12:57:07 -05:00
konsti
09129031a4
Fix panic with invalid last char in PEP 508 name ( #13105 )
...
Fixes #13102
2025-04-25 14:56:46 +02:00
konsti
ae5c77c0e4
Reject requires python even if not listed on the index page ( #13086 )
...
CI / integration test | uv_build (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
Reject distributions with an incompatible `Requires-Python`, even if the
index page is missing `data-requires-python`.
Fixes #13079
2025-04-25 12:52:02 +02:00
konsti
cd7621043e
Block scripts from overwriting python
( #13051 )
...
uv adds some binaries and scripts to a venv, and installed packages
should not be allowed to overwrite them.
Fixes #12983
2025-04-25 07:10:10 +00:00
John Mumm
9fb19cd43c
Check for mismatched package and distribution names on resolver thread ( #13088 )
...
CI / integration test | uv_build (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
This PR restores the `bogus_redirect` test that was
non-deterministically hanging (reverting #13076 ).
Mismatched package and distribution names were causing uv to hang prior
to #12917 (which added the `bogus_redirect` test). But with that fix, uv
was only checking for mismatched package names on the main thread (and
not the resolver thread). This allowed for a race condition which would
prevent uv from ever doing the check, triggering the original hang
condition. This PR adds the check to the resolver thread to prevent this
race condition.
2025-04-24 15:18:01 +02:00
Charlie Marsh
a4ea814159
Avoid panic for invalid Python versions ( #13077 )
...
CI / integration test | uv_build (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
CI / check system | windows registry (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
## Summary
We unwrap these further on, so we should validate them ahead of time.
Closes https://github.com/astral-sh/uv/issues/13075 .
2025-04-23 22:23:33 +00:00
Charlie Marsh
a6a0087f74
Temporarily remove bogus redirect test ( #13076 )
...
## Summary
This needs to be made more reliable.
2025-04-23 17:18:31 -04:00