uv/crates
Charlie Marsh 7bac708b97
Treat resolver failures as fatal in lockfile validation (#8083)
## Summary

In the routine we use to verify whether the lockfile is up-to-date, we
sometimes have to resolve package metadata. If that resolution step
fails, the resolver is left in a bad state, as various tasks are marked
as pending despite the error. Treating that as a recoverable failure
thus leads to a deadlock.

This PR modifies the errors to be treated as fatal.

I think a more holistic fix here would be to add some kind of guard to
ensure that any tasks that fail are no longer marked as pending (or
enforce this in the type system).

Closes https://github.com/astral-sh/uv/issues/8074.
2024-10-10 14:01:20 +00:00
..
uv Treat resolver failures as fatal in lockfile validation (#8083) 2024-10-10 14:01:20 +00:00
uv-auth Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-bench Rename `install-wheel-rs` library (#7855) 2024-10-01 20:45:39 -04:00
uv-build-backend Bump version to 0.4.20 (#8016) 2024-10-08 19:55:21 +00:00
uv-build-frontend Improve legibility of build failure errors (#7854) 2024-10-03 12:52:53 +00:00
uv-cache Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-cache-info Avoid verbose warnings for non-existent cache keys (#8077) 2024-10-10 09:35:03 +00:00
uv-cache-key Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-cli Use comma-separated values for `UV_FIND_LINKS` (#8061) 2024-10-09 23:05:51 +00:00
uv-client Use a higher timeout for publishing (#7923) 2024-10-04 15:52:23 +02:00
uv-configuration Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-console Add a custom suggestion for `uv add dotenv` (#7799) 2024-09-30 17:00:31 +00:00
uv-dev Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-dispatch Rename `install-wheel-rs` library (#7855) 2024-10-01 20:45:39 -04:00
uv-distribution Use a higher timeout for publishing (#7923) 2024-10-04 15:52:23 +02:00
uv-distribution-filename Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-distribution-types Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-extract Remove dead Sha256Reader (#7929) 2024-10-04 15:25:52 -05:00
uv-fs uv run: List available scripts when a script is not specified (#7687) 2024-10-08 19:34:50 +00:00
uv-git Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-install-wheel Downgrade installer verbose logging to trace (#8078) 2024-10-10 12:28:18 +00:00
uv-installer Rename `install-wheel-rs` library (#7855) 2024-10-01 20:45:39 -04:00
uv-macros Autogenerate possible values for enums in reference documentation (#5137) 2024-07-17 12:37:33 -04:00
uv-metadata Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-normalize Remove `serde::Serialize` implementations for rkyv-able structs (#7663) 2024-09-24 13:23:47 -04:00
uv-once-map Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-options-metadata Autogenerate possible values for enums in reference documentation (#5137) 2024-07-17 12:37:33 -04:00
uv-pep440 Add gap-preserving range-to-PEP 440 routine (#8060) 2024-10-09 22:48:53 +00:00
uv-pep508 uv-pep508: fix disjointness bug 2024-10-10 09:46:42 -04:00
uv-performance-flate2-backend Update Rust crate flate2 to v1.0.34 (#7788) 2024-09-29 21:00:38 -04:00
uv-performance-memory-allocator No jemalloc on freebsd (#7780) 2024-09-29 17:49:07 +02:00
uv-platform-tags Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-pubgrub Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-publish Hint at wrong endpoint in publish (#7872) 2024-10-08 19:16:02 +00:00
uv-pypi-types Metadata transformation for the build backend (#7781) 2024-10-07 10:38:40 +02:00
uv-python Fix `uv python pin 3.13t` failure when parsing version for project requires check (#8056) 2024-10-10 00:17:20 +00:00
uv-requirements Respect dynamic extras in `uv lock` and `uv sync` (#8091) 2024-10-10 16:00:31 +02:00
uv-requirements-txt Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-resolver Treat resolver failures as fatal in lockfile validation (#8083) 2024-10-10 14:01:20 +00:00
uv-scripts Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-settings Remove unnecessary `Deserialize` derives on settings (#7856) 2024-10-02 02:32:37 +00:00
uv-shell Expand tildes when matching against PATH (#6829) 2024-08-29 19:50:09 +00:00
uv-state Migrate to XDG and Linux strategy for macOS directories (#5806) 2024-08-20 11:31:46 -05:00
uv-tool Remove unnecessary `Deserialize` derives on settings (#7856) 2024-10-02 02:32:37 +00:00
uv-trampoline Update Rust crate thiserror to v1.0.64 (#7630) 2024-09-22 22:33:03 -04:00
uv-types Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
uv-version Bump version to 0.4.20 (#8016) 2024-10-08 19:55:21 +00:00
uv-virtualenv fix(venv.relocatable): script entrypoints should work if symlinked to (#8079) 2024-10-10 14:00:56 +02:00
uv-warnings Upgrade to Rust 1.80.0 (#5472) 2024-07-27 01:49:47 +00:00
uv-workspace Respect dynamic extras in `uv lock` and `uv sync` (#8091) 2024-10-10 16:00:31 +02:00
README.md Rename `uv-build` to `uv-build-frontend` (#7688) 2024-09-25 14:17:54 -04:00

README.md

Crates

bench

Functionality for benchmarking uv.

cache-key

Generic functionality for caching paths, URLs, and other resources across platforms.

distribution-filename

Parse built distribution (wheel) and source distribution (sdist) filenames to extract structured metadata.

distribution-types

Abstractions for representing built distributions (wheels) and source distributions (sdists), and the sources from which they can be downloaded.

install-wheel-rs

Install built distributions (wheels) into a virtual environment.]

once-map

A waitmap-like concurrent hash map for executing tasks exactly once.

pep440-rs

Utilities for interacting with Python version numbers and specifiers.

pep508-rs

Utilities for interacting with PEP 508 dependency specifiers.

platform-host

Functionality for detecting the current platform (operating system, architecture, etc.).

platform-tags

Functionality for parsing and inferring Python platform tags as per PEP 425.

uv

Command-line interface for the uv package manager.

uv-build-frontend

A PEP 517-compatible build frontend for uv.

uv-cache

Functionality for caching Python packages and associated metadata.

uv-client

Client for interacting with PyPI-compatible HTTP APIs.

uv-dev

Development utilities for uv.

uv-dispatch

A centralized struct for resolving and building source distributions in isolated environments. Implements the traits defined in uv-types.

uv-distribution

Client for interacting with built distributions (wheels) and source distributions (sdists). Capable of fetching metadata, distribution contents, etc.

uv-extract

Utilities for extracting files from archives.

uv-fs

Utilities for interacting with the filesystem.

uv-git

Functionality for interacting with Git repositories.

uv-installer

Functionality for installing Python packages into a virtual environment.

uv-python

Functionality for detecting and leveraging the current Python interpreter.

uv-normalize

Normalize package and extra names as per Python specifications.

uv-package

Types and functionality for working with Python packages, e.g., parsing wheel files.

uv-requirements

Utilities for reading package requirements from pyproject.toml and requirements.txt files.

uv-resolver

Functionality for resolving Python packages and their dependencies.

uv-shell

Utilities for detecting and manipulating shell environments.

uv-types

Shared traits for uv, to avoid circular dependencies.

pypi-types

General-purpose type definitions for types used in PyPI-compatible APIs.

uv-virtualenv

A venv replacement to create virtual environments in Rust.

uv-warnings

User-facing warnings for uv.

uv-workspace

Workspace abstractions for uv.

requirements-txt

Functionality for parsing requirements.txt files.