uv/crates
Ibraheem Ahmed 85183c1c36
Custom lock-file serialization (#3909)
## Summary

This PR changes the lock-file format to use inline tables for wheels and
source distributions, which currently use separate tables that make the
file harder to follow.

```diff
[[distribution]]
name = "typing-extensions"
version = "4.10.0"
source = "registry+https://pypi.org/simple"

- [distribution.sdist]
- url = "0d26ce356c7c323176620b7b483e44/typing_extensions-4.10.0.tar.gz"
- hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"
- size = 77558
-
- [[distribution.wheel]]
- url = "dc04a3ea60b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl"
- hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"
- size = 33926

+ sdist = { url = "0d26ce356c7c323176620b7b483e44/typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb", size = 77558 }
+ wheel = [{ url = "dc04a3ea60b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }]
```

The downside is that the inline-tables end up quite long and TOML
doesn't support line breaks in inline tables, yet.

Part of https://github.com/astral-sh/uv/issues/3611.
2024-05-30 19:08:29 +00:00
..
bench fix: remove unused `Result` in uv-cache (#3875) 2024-05-28 09:19:08 +00:00
cache-key Avoid panic for file url (#3306) 2024-04-29 16:39:16 +02:00
distribution-filename Incorporate build tag into wheel prioritization (#3781) 2024-05-23 21:12:53 +00:00
distribution-types Remove dead code from distribution-types (#3910) 2024-05-29 12:02:42 -04:00
install-wheel-rs Support x86 windows (#3873) 2024-05-28 16:07:39 +00:00
once-map Use `FxHasher` in resolver (#3641) 2024-05-17 15:04:22 -04:00
pep440-rs feat: bump pep580 and pep440 types (#3860) 2024-05-27 09:38:39 +02:00
pep508-rs pep508: make 'simplify_extras' more flexible 2024-05-30 14:23:14 -04:00
platform-tags Add missing i686 alias for x86 (#3899) 2024-05-29 11:31:39 -04:00
pypi-types Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
requirements-txt Remove special-casing for editable requirements (#3869) 2024-05-28 15:49:34 +00:00
uv Custom lock-file serialization (#3909) 2024-05-30 19:08:29 +00:00
uv-auth Increase verbosity of credential fetch logs (#3550) 2024-05-13 15:55:57 +00:00
uv-build Remove unnecessary `pub` in uv-build (#3900) 2024-05-29 09:30:21 +00:00
uv-cache Remove special-casing for editable requirements (#3869) 2024-05-28 15:49:34 +00:00
uv-client Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
uv-configuration Move extra specification into `uv-configuration` (#3897) 2024-05-29 04:49:57 +00:00
uv-dev Add persistent storage of installed toolchains (#3797) 2024-05-27 03:54:49 +00:00
uv-dispatch Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
uv-distribution Remove special-casing for editable requirements (#3869) 2024-05-28 15:49:34 +00:00
uv-extract Remove unused `seek` methods (#3526) 2024-05-11 17:31:32 +00:00
uv-fs Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
uv-git Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
uv-installer Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
uv-interpreter Add missing i686 alias for x86 (#3899) 2024-05-29 11:31:39 -04:00
uv-normalize Improve JSON Schema and add export script (#3461) 2024-05-08 16:15:16 +00:00
uv-requirements Include all extras when generating lockfile (#3912) 2024-05-29 15:08:20 -04:00
uv-resolver Custom lock-file serialization (#3909) 2024-05-30 19:08:29 +00:00
uv-state Add persistent storage of installed toolchains (#3797) 2024-05-27 03:54:49 +00:00
uv-trampoline Support x86 windows (#3873) 2024-05-28 16:07:39 +00:00
uv-types Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
uv-version Bump version to v0.2.5 (#3885) 2024-05-28 18:05:32 +00:00
uv-virtualenv Rewrite Python interpreter discovery (#3266) 2024-05-21 14:37:23 -05:00
uv-warnings Rename to `uv` (#1302) 2024-02-15 11:19:46 -06:00
uv-workspace Fix workspace settings - remove deny unknown fields (#3907) 2024-05-29 11:31:07 -04:00
README.md Rename `uv-traits` and split into separate modules (#2674) 2024-03-26 15:39:43 -05: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

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

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

requirements-txt

Functionality for parsing requirements.txt files.