uv/crates
konsti bf4c7afe8b
A minimal build backend for uv: uv_build (#11446)
uv itself is a large package with many dependencies and lots of
features. To build a package using the uv build backend, you shouldn't
have to download and install the entirety of uv. For platform where we
don't provide wheels, it should be possible and fast to compile the uv
build backend. To that end, we're introducing a python package that
contains a trimmed down version of uv that only contains the build
backend, with a minimal dependency tree in rust.

The `uv_build` package is publish from CI just like uv itself. It is
part of the workspace, but has much less dependencies for its own
binary. We're using cargo deny to enforce that the network stack is not
part of the dependencies. A new build profile ensure we're getting the
minimum possible binary size for a rust binary.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-03-06 13:27:20 -06:00
..
uv A minimal build backend for uv: uv_build (#11446) 2025-03-06 13:27:20 -06:00
uv-auth Migrate from `urlencoding` to `percent-encoding` (#11144) 2025-01-31 16:29:46 -05:00
uv-bench Remove warnings for missing lower bounds (#11195) 2025-02-03 16:03:31 -06:00
uv-build A minimal build backend for uv: uv_build (#11446) 2025-03-06 13:27:20 -06:00
uv-build-backend A minimal build backend for uv: uv_build (#11446) 2025-03-06 13:27:20 -06:00
uv-build-frontend Remove unused `thiserror` variants (#11713) 2025-02-22 12:12:22 -10:00
uv-cache Avoid silently dropping errors in directory enumeration (#11890) 2025-03-03 02:39:17 +00:00
uv-cache-info Fix git-tag cache-key reader in case of slashes (#10467) (#10500) 2025-01-11 21:30:46 -05:00
uv-cache-key Use hash instead of full wheel name in wheels bucket (#11738) 2025-02-26 22:41:57 +00:00
uv-cli Add `NO_BUILD` and `NO_BUILD_PACKAGE` environment variables (#11968) 2025-03-04 22:58:19 -06:00
uv-client Use hash instead of full wheel name in wheels bucket (#11738) 2025-02-26 22:41:57 +00:00
uv-configuration Replace outdated DevGroups* naming (#11921) 2025-03-03 16:39:44 +01:00
uv-console explicitly handle ctrl-c in confirmation prompt instead of signal handler (#11897) 2025-03-03 10:30:48 -05:00
uv-dev Migrate to `zlib-rs` (again) (#11894) 2025-03-03 17:29:31 +00:00
uv-dirs Eliminate dependencies on `directores` and `dirs-sys` (#8048) 2024-11-07 14:29:54 -06:00
uv-dispatch Add `uv sync --dry-run` (#11299) 2025-02-06 23:52:49 +00:00
uv-distribution Allow users to set `package = true` on `tool.uv.sources` (#12014) 2025-03-06 18:28:09 +00:00
uv-distribution-filename Fix version string truncation while generating cache_key (#11830) 2025-02-27 08:48:43 -05:00
uv-distribution-types Edition 2024 prep: Escape `r#gen` and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
uv-extract Use `SmallString` on `Hashes` (#11756) 2025-02-24 10:32:00 -10:00
uv-fs Edition 2024 prep: Escape `r#gen` and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
uv-git Move `GIT_TERMINAL_PROMPT` to env vars (#11789) 2025-02-26 03:56:24 +00:00
uv-git-types Avoid using owned `String` in deserializers (#11764) 2025-02-25 14:28:16 +00:00
uv-globfilter Build backend: Revamp include/exclude (#9525) 2024-12-01 11:32:35 +00:00
uv-install-wheel Remove unused `thiserror` variants (#11713) 2025-02-22 12:12:22 -10:00
uv-installer Allow overrides in all satisfies checks (#11995) 2025-03-05 21:54:19 -05:00
uv-macros Remove unnecessary prefixes (#10158) 2024-12-25 14:18:01 -05:00
uv-metadata chore: Move all integration tests to a single binary (#8093) 2024-10-11 16:41:35 +02:00
uv-normalize Avoid using owned `String` in deserializers (#11764) 2025-02-25 14:28:16 +00:00
uv-once-map Use shared resolver state between add and lock (#8146) 2024-10-12 14:58:07 +00:00
uv-options-metadata Upgrade minimum Rust version to 1.83 (#9815) 2024-12-11 10:06:19 -06:00
uv-pep440 Move `LowerBound` and `UpperBound` structs in `uv-pep440` (#11950) 2025-03-04 12:35:16 -05:00
uv-pep508 Edition 2024 prep: Escape `r#gen` and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
uv-performance-memory-allocator Run `cargo update` (#10173) 2024-12-26 12:00:58 -05:00
uv-platform-tags Allow installation of manylinux wheels on loongarch64 (#10927) 2025-01-24 14:36:03 +01:00
uv-publish Use `SmallString` on `Hashes` (#11756) 2025-02-24 10:32:00 -10:00
uv-pypi-types Edition 2024 prep: Escape `r#gen` and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
uv-python Fix `include_system_side_packages` typo (#11967) 2025-03-05 00:49:35 +00:00
uv-requirements Replace outdated DevGroups* naming (#11921) 2025-03-03 16:39:44 +01:00
uv-requirements-txt Skip unquote allocation for non-quoted strings (#11813) 2025-02-26 21:56:31 +00:00
uv-resolver Invalidate lockfile when empty dependency groups are added or removed (#12010) 2025-03-06 12:44:20 -05:00
uv-scripts Add `tool.uv.build-constraint-dependencies` to `pyproject.toml` (#11585) 2025-02-17 20:58:36 -05:00
uv-settings Remove `Serialize` implementations from some settings (#11969) 2025-03-05 02:55:57 +00:00
uv-shell Suggest `uv tool update-shell` in PowerShell (#11846) 2025-02-28 22:32:48 -05:00
uv-small-str Edition 2024 prep: Escape `r#gen` and remove redundant ref (#11922) 2025-03-03 11:13:56 +00:00
uv-state Add `uv-dirs` to consolidate directory lookup methods (#8453) 2024-10-22 11:33:25 -05:00
uv-static Add `NO_BUILD` and `NO_BUILD_PACKAGE` environment variables (#11968) 2025-03-04 22:58:19 -06:00
uv-tool Avoid string allocation when enumerating tool names (#11910) 2025-03-03 10:13:54 -05:00
uv-trampoline Upgrade Rust toolchain to 1.85 (#11720) 2025-02-23 16:52:34 +01:00
uv-trampoline-builder Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-types A minimal build backend for uv: uv_build (#11446) 2025-03-06 13:27:20 -06:00
uv-version Bump version to 0.6.4 (#11934) 2025-03-03 16:04:11 -06:00
uv-virtualenv Update code page to 65001 before setting environment variables, fix #11828 (#11831) 2025-02-27 16:14:34 -05:00
uv-warnings chore: Move all integration tests to a single binary (#8093) 2024-10-11 16:41:35 +02:00
uv-workspace Allow users to set `package = true` on `tool.uv.sources` (#12014) 2025-03-06 18:28:09 +00:00
README.md Link to Dependency specifiers instead of PEP 508 (#8411) 2024-10-21 14:43:38 -04:00

README.md

Crates

uv-bench

Functionality for benchmarking uv.

uv-cache-key

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

uv-distribution-filename

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

uv-distribution-types

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

uv-install-wheel-rs

Install built distributions (wheels) into a virtual environment.

uv-once-map

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

uv-pep440-rs

Utilities for interacting with Python version numbers and specifiers.

uv-pep508-rs

Utilities for parsing and evaluating dependency specifiers, previously known as PEP 508.

uv-platform-tags

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

uv-cli

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-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.

uv-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.

uv-requirements-txt

Functionality for parsing requirements.txt files.