mirror of https://github.com/astral-sh/uv
Bump version to v0.5.3 (#9229)
This commit is contained in:
parent
dae630ae50
commit
56d3622087
79
CHANGELOG.md
79
CHANGELOG.md
|
|
@ -1,5 +1,82 @@
|
|||
# Changelog
|
||||
|
||||
## 0.5.3
|
||||
|
||||
This release includes support for conflicting optional dependencies and dependency groups in the uv resolver, including the ability to specify dependency sources (like index assignment) on a per-extra or per-group basis.
|
||||
|
||||
For example, you can now select CPU-only vs. GPU-enabled PyTorch builds at runtime by defining conflicting extras in a `pyproject.toml`, and assigning different extras to different PyTorch indexes:
|
||||
|
||||
```toml
|
||||
[project]
|
||||
name = "project"
|
||||
version = "0.1.0"
|
||||
requires-python = ">=3.12.0"
|
||||
|
||||
[project.optional-dependencies]
|
||||
# Include `torch` whenever `--extra cpu` or `--extra gpu` is provided.
|
||||
cpu = ["torch>=2.5.1"]
|
||||
gpu = ["torch>=2.5.1"]
|
||||
|
||||
[tool.uv]
|
||||
# But allow `cpu` and `gpu` to choose conflicting versions of `torch`.
|
||||
conflicts = [[{ extra = "cpu" }, { extra = "gpu" }]]
|
||||
|
||||
[tool.uv.sources]
|
||||
torch = [
|
||||
# With `--extra cpu`, pull PyTorch from the CPU-only index.
|
||||
{ index = "pytorch-cpu", extra = "cpu", marker = "platform_system != 'Darwin'" },
|
||||
# With `--extra gpu`, pull PyTorch from the GPU-enabled index.
|
||||
{ index = "pytorch-gpu", extra = "gpu" },
|
||||
]
|
||||
|
||||
[[tool.uv.index]]
|
||||
name = "pytorch-cpu"
|
||||
url = "https://download.pytorch.org/whl/cpu"
|
||||
explicit = true
|
||||
|
||||
[[tool.uv.index]]
|
||||
name = "pytorch-gpu"
|
||||
url = "https://download.pytorch.org/whl/cu124"
|
||||
explicit = true
|
||||
```
|
||||
|
||||
See the [PyTorch](https://docs.astral.sh/uv/guides/integration/pytorch/) documentation for more.
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Allow conflicting extras in explicit index assignments ([#9160](https://github.com/astral-sh/uv/pull/9160))
|
||||
- Support overrides and constraints in PEP 723 scripts ([#9162](https://github.com/astral-sh/uv/pull/9162))
|
||||
- Update `uv tool install --force` to imply `--reinstall-package <name>` ([#9074](https://github.com/astral-sh/uv/pull/9074))
|
||||
- Turn `--verify-hashes` on by default ([#9170](https://github.com/astral-sh/uv/pull/9170))
|
||||
|
||||
### Performance
|
||||
|
||||
- Enable `zlib-rs` on all platforms ([#9202](https://github.com/astral-sh/uv/pull/9202))
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- Allow apostrophe in virtual environment name ([#8984](https://github.com/astral-sh/uv/pull/8984))
|
||||
- Automatically retry body errors when processing response ([#9213](https://github.com/astral-sh/uv/pull/9213))
|
||||
- Detect nested workspace inside the current workspace and members with identical names ([#9094](https://github.com/astral-sh/uv/pull/9094))
|
||||
- Only install the specified project with `--frozen --package` in legacy non-`[project]` workspaces ([#9215](https://github.com/astral-sh/uv/pull/9215))
|
||||
- Respect `[[tool.uv.index]]` in PEP 723 scripts ([#9208](https://github.com/astral-sh/uv/pull/9208))
|
||||
- Show derivation markers for resolutions with project name ([#9136](https://github.com/astral-sh/uv/pull/9136))
|
||||
- Sort distributions when computing hash ([#9185](https://github.com/astral-sh/uv/pull/9185))
|
||||
- Include trampolines in source distributions on Windows ([#9172](https://github.com/astral-sh/uv/pull/9172))
|
||||
|
||||
### Documentation
|
||||
|
||||
- Add `--index <name>=<url>` syntax to index documentation ([#9139](https://github.com/astral-sh/uv/pull/9139))
|
||||
- Add documentation for using uv with PyTorch ([#9210](https://github.com/astral-sh/uv/pull/9210))
|
||||
|
||||
### Error messages
|
||||
|
||||
- Add a dedicated error for `include = "dev"` with `tool.uv.dev-dependencies` ([#9173](https://github.com/astral-sh/uv/pull/9173))
|
||||
- Avoid showing disjoint marker error with `true` ([#9169](https://github.com/astral-sh/uv/pull/9169))
|
||||
- Improve error message when `git` is not found ([#9206](https://github.com/astral-sh/uv/pull/9206))
|
||||
- Include extras and dependency groups in derivation chains ([#9113](https://github.com/astral-sh/uv/pull/9113))
|
||||
- Include version constraints in derivation chains ([#9112](https://github.com/astral-sh/uv/pull/9112))
|
||||
|
||||
## 0.5.2
|
||||
|
||||
### Enhancements
|
||||
|
|
@ -256,7 +333,7 @@ Previously, uv used a single `tool.uv.dev-dependencies` list for declaration of
|
|||
|
||||
For compatibility, and to simplify usage for people that do not need multiple groups, uv special-cases the group named `dev`. The `dev` group is equivalent to `tool.uv.dev-dependencies`. The contents of `tool.uv.dev-dependencies` will merged into the `dev` group in uv's resolver. The `--dev`, `--only-dev`, and `--no-dev` flags remain as aliases for the corresponding `--group` options. Support for `tool.uv.dev-dependencies` remains in this release, but will display warnings in a future release.
|
||||
|
||||
uv syncs the `dev` group by default — this matches the exististing behavior for `tool.uv.dev-dependencies`. The default groups can be changed with the `tool.uv.default-groups` setting.
|
||||
uv syncs the `dev` group by default — this matches the existing behavior for `tool.uv.dev-dependencies`. The default groups can be changed with the `tool.uv.default-groups` setting.
|
||||
|
||||
Thank you to Stephen Rosen who authored PEP 735.
|
||||
|
||||
|
|
|
|||
|
|
@ -4394,7 +4394,7 @@ checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a"
|
|||
|
||||
[[package]]
|
||||
name = "uv"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anyhow",
|
||||
|
|
@ -5586,7 +5586,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "uv-version"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
|
||||
[[package]]
|
||||
name = "uv-virtualenv"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "uv-version"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
edition = { workspace = true }
|
||||
rust-version = { workspace = true }
|
||||
homepage = { workspace = true }
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "uv"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
edition = { workspace = true }
|
||||
rust-version = { workspace = true }
|
||||
homepage = { workspace = true }
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ uv provides a standalone installer to download and install uv:
|
|||
Request a specific version by including it in the URL:
|
||||
|
||||
```console
|
||||
$ curl -LsSf https://astral.sh/uv/0.5.2/install.sh | sh
|
||||
$ curl -LsSf https://astral.sh/uv/0.5.3/install.sh | sh
|
||||
```
|
||||
|
||||
=== "Windows"
|
||||
|
|
@ -41,7 +41,7 @@ uv provides a standalone installer to download and install uv:
|
|||
Request a specific version by including it in the URL:
|
||||
|
||||
```console
|
||||
$ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.5.2/install.ps1 | iex"
|
||||
$ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.5.3/install.ps1 | iex"
|
||||
```
|
||||
|
||||
!!! tip
|
||||
|
|
@ -217,7 +217,7 @@ If you need to remove uv from your system, just remove the `uv` and `uvx` binari
|
|||
|
||||
!!! note
|
||||
|
||||
Prior to 0.5.2, uv was installed into `~/.cargo/bin`. The binaries can be removed from there to
|
||||
Prior to 0.5.3, uv was installed into `~/.cargo/bin`. The binaries can be removed from there to
|
||||
uninstall. Upgrading from an older version will not automatically remove the binaries from
|
||||
`~/.cargo/bin`.
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ $ docker run ghcr.io/astral-sh/uv --help
|
|||
uv provides a distroless Docker image including the `uv` binary. The following tags are published:
|
||||
|
||||
- `ghcr.io/astral-sh/uv:latest`
|
||||
- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.5.2`
|
||||
- `ghcr.io/astral-sh/uv:{major}.{minor}.{patch}`, e.g., `ghcr.io/astral-sh/uv:0.5.3`
|
||||
- `ghcr.io/astral-sh/uv:{major}.{minor}`, e.g., `ghcr.io/astral-sh/uv:0.5` (the latest patch
|
||||
version)
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ In addition, uv publishes the following images:
|
|||
|
||||
As with the distroless image, each image is published with uv version tags as
|
||||
`ghcr.io/astral-sh/uv:{major}.{minor}.{patch}-{base}` and
|
||||
`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.5.2-alpine`.
|
||||
`ghcr.io/astral-sh/uv:{major}.{minor}-{base}`, e.g., `ghcr.io/astral-sh/uv:0.5.3-alpine`.
|
||||
|
||||
For more details, see the [GitHub Container](https://github.com/astral-sh/uv/pkgs/container/uv)
|
||||
page.
|
||||
|
|
@ -100,13 +100,13 @@ Note this requires `curl` to be available.
|
|||
In either case, it is best practice to pin to a specific uv version, e.g., with:
|
||||
|
||||
```dockerfile
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.5.2 /uv /uvx /bin/
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.5.3 /uv /uvx /bin/
|
||||
```
|
||||
|
||||
Or, with the installer:
|
||||
|
||||
```dockerfile
|
||||
ADD https://astral.sh/uv/0.5.2/install.sh /uv-installer.sh
|
||||
ADD https://astral.sh/uv/0.5.3/install.sh /uv-installer.sh
|
||||
```
|
||||
|
||||
### Installing a project
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ jobs:
|
|||
uses: astral-sh/setup-uv@v3
|
||||
with:
|
||||
# Install a specific version of uv.
|
||||
version: "0.5.2"
|
||||
version: "0.5.3"
|
||||
```
|
||||
|
||||
## Setting up Python
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ To compile requirements via pre-commit, add the following to the `.pre-commit-co
|
|||
```yaml title=".pre-commit-config.yaml"
|
||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||
# uv version.
|
||||
rev: 0.5.2
|
||||
rev: 0.5.3
|
||||
hooks:
|
||||
# Compile requirements
|
||||
- id: pip-compile
|
||||
|
|
@ -20,7 +20,7 @@ To compile alternative files, modify `args` and `files`:
|
|||
```yaml title=".pre-commit-config.yaml"
|
||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||
# uv version.
|
||||
rev: 0.5.2
|
||||
rev: 0.5.3
|
||||
hooks:
|
||||
# Compile requirements
|
||||
- id: pip-compile
|
||||
|
|
@ -33,7 +33,7 @@ To run the hook over multiple files at the same time:
|
|||
```yaml title=".pre-commit-config.yaml"
|
||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||
# uv version.
|
||||
rev: 0.5.2
|
||||
rev: 0.5.3
|
||||
hooks:
|
||||
# Compile requirements
|
||||
- id: pip-compile
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ build-backend = "maturin"
|
|||
|
||||
[project]
|
||||
name = "uv"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
description = "An extremely fast Python package and project manager, written in Rust."
|
||||
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
|
||||
requires-python = ">=3.8"
|
||||
|
|
|
|||
Loading…
Reference in New Issue