uv/crates
konsti 4038c9a6af
Rename distribution to packages in lockfile (#5861)
Currently, the entry for a package+version+source table is called
`distribution`. That is incorrect, the `sdist` and `wheel` fields inside
of that table are distributions, the table itself is for a package. We
also align ourselves closer with PEP 751.

I went through `lock.rs` and renamed all occurrences of "distribution"
that actually referred to a "package".

This change invalidates all existing lockfiles.

Bikeshedding: Do we call it `package` or `packages`? See also
https://github.com/python/peps/pull/3877

`package` is nice because it looks like a header:

```toml
[[package]]
name = "anyio"
version = "4.3.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
    { name = "idna" },
    { name = "sniffio" },
]
sdist = { url = "3970183622/anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6", size = 159642 }
wheels = [
    { url = "2f20c40b45/anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8", size = 85584 },
]
```

`packages` is nice because the field is not a single entry, but a list.

2/3 for https://github.com/astral-sh/uv/issues/4893

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2024-08-08 11:25:06 -04:00
..
bench Add --no-sources to avoid reading from tool.uv.sources (#5801) 2024-08-06 14:14:19 +00:00
cache-key Use hasher to compute resolution hash (#5495) 2024-07-26 23:24:09 +00:00
distribution-filename Match wheel tags against Requires-Python major-minor (#5289) 2024-07-22 14:33:53 +00:00
distribution-types Strip URL fragments from lockfile (#5805) 2024-08-06 10:00:38 -04:00
install-wheel-rs feat: more rust in trampoline (#5750) 2024-08-07 08:19:38 +00:00
once-map Use lockfile to prefill resolver index (#4495) 2024-07-12 18:49:28 -04:00
pep440-rs Use prettier to format the documentation (#5708) 2024-08-02 08:58:31 -05:00
pep508-rs Use prettier to format the documentation (#5708) 2024-08-02 08:58:31 -05:00
platform-tags Process completed Python installs and uninstalls as a stream (#5203) 2024-07-19 12:50:38 +00:00
pypi-types Assume git+ prefix when URLs end in .git (#5868) 2024-08-07 15:50:36 +00:00
requirements-txt Rename Error::IO to Error::Io (#5174) 2024-07-18 04:13:45 +00:00
uv Rename distribution to packages in lockfile (#5861) 2024-08-08 11:25:06 -04:00
uv-auth Upgrade to Rust 1.80.0 (#5472) 2024-07-27 01:49:47 +00:00
uv-build Support no-build-isolation-package (#5894) 2024-08-08 01:35:56 +00:00
uv-cache Grouping GlobalArgs to dedicated heading (#5665) 2024-08-01 10:01:22 -05:00
uv-cli Support no-build-isolation-package (#5894) 2024-08-08 01:35:56 +00:00
uv-client uv-client: switch heuristic freshness lifetime to hard-coded value 2024-07-31 08:12:11 -07:00
uv-configuration Add --no-sources to avoid reading from tool.uv.sources (#5801) 2024-08-06 14:14:19 +00:00
uv-dev Replace uv help python references in CLI documentation with links (#5871) 2024-08-07 12:21:09 -05:00
uv-dispatch Allow downloading wheels for metadata with --no-binary (#5707) 2024-08-06 18:14:12 +00:00
uv-distribution Combine fetch and resolve steps in Git resolver (#5886) 2024-08-07 22:35:05 +00:00
uv-extract Avoid monomorphization of untar (#5743) 2024-08-03 23:29:17 +00:00
uv-fs Capture portable path serialization in a struct (#5652) 2024-07-31 16:00:37 +00:00
uv-git Fix reuse of Git commits in lockfile (#5908) 2024-08-08 13:01:59 +00:00
uv-installer Avoid panic when re-locking with precise commit (#5863) 2024-08-07 10:56:15 -04:00
uv-macros Autogenerate possible values for enums in reference documentation (#5137) 2024-07-17 12:37:33 -04:00
uv-normalize Support dev dependencies in virtual workspace roots (#5709) 2024-08-01 21:04:30 +00:00
uv-options-metadata Autogenerate possible values for enums in reference documentation (#5137) 2024-07-17 12:37:33 -04:00
uv-python Enable mirror for python-build-standalone downloads (#5719) 2024-08-07 21:34:19 -04:00
uv-requirements Rename distribution to packages in lockfile (#5861) 2024-08-08 11:25:06 -04:00
uv-resolver Rename distribution to packages in lockfile (#5861) 2024-08-08 11:25:06 -04:00
uv-scripts Support empty dependencies in PEP 723 scripts (#5864) 2024-08-07 10:56:05 -04:00
uv-settings Support no-build-isolation-package (#5894) 2024-08-08 01:35:56 +00:00
uv-shell fix(venv): make relocatable activation scripts support ksh (#5640) 2024-07-31 12:18:11 -04:00
uv-state Cache tool environments in uv tool run (#4784) 2024-07-03 19:25:39 -04:00
uv-tool Respect malformed .dist-info directories in tool installs (#5756) 2024-08-03 19:43:03 -04:00
uv-trampoline feat: more rust in trampoline (#5750) 2024-08-07 08:19:38 +00:00
uv-types Support no-build-isolation-package (#5894) 2024-08-08 01:35:56 +00:00
uv-version Bump version to v0.2.34 (#5889) 2024-08-07 16:33:53 -04:00
uv-virtualenv fix(venv): make relocatable activation scripts support ksh (#5640) 2024-07-31 12:18:11 -04:00
uv-warnings Upgrade to Rust 1.80.0 (#5472) 2024-07-27 01:49:47 +00:00
uv-workspace Avoid requires-python warning in virtual-only workspace (#5895) 2024-08-07 20:43:19 -04:00
README.md Use prettier to format the documentation (#5708) 2024-08-02 08:58:31 -05:00

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

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.