uv/crates
Charlie Marsh 07e1e85c5d
Avoid deserialization error for paths above the root (#10789)
## Summary

Closes https://github.com/astral-sh/uv/issues/10777

## Test Plan

Copied over this lockfile:

```toml
version = 1
requires-python = ">=3.12"
resolution-markers = [
    "sys_platform == 'win32'",
    "sys_platform != 'win32'",
]

[[package]]
name = "pyasn1"
version = "0.6.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "01f1a642459aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322 }
wheels = [
    { url = "d6a797abb18c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135 },
]

[[package]]
name = "pyasn1-modules"
version = "0.4.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
    { name = "pyasn1" },
]
sdist = { url = "6afbf0d507a72057e9c23797a737c9/pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c", size = 310028 }
wheels = [
    { url = "bc88a6711982eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd", size = 181537 },
]

[[package]]
name = "python-ldap"
version = "3.4.4"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
    "sys_platform != 'win32'",
]
dependencies = [
    { name = "pyasn1", marker = "sys_platform != 'win32'" },
    { name = "pyasn1-modules", marker = "sys_platform != 'win32'" },
]
sdist = { url = "1eeb4025dc4955b72db5ce7a4dbfbd/python-ldap-3.4.4.tar.gz", hash = "sha256:7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828", size = 377889 }

[[package]]
name = "python-ldap"
version = "3.4.4"
source = { path = "../../../uti/Python/python_ldap-3.4.4-cp312-cp312-win_amd64.whl" }
resolution-markers = [
    "sys_platform == 'win32'",
]
dependencies = [
    { name = "pyasn1", marker = "sys_platform == 'win32'" },
    { name = "pyasn1-modules", marker = "sys_platform == 'win32'" },
]
wheels = [
    { filename = "python_ldap-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:94d2ca2b3ced81c9d89aa5c79d4965d03053e1ffdcfae73e9fac85d25b692e85" },
]

[package.metadata]
requires-dist = [
    { name = "pyasn1", specifier = ">=0.3.7" },
    { name = "pyasn1-modules", specifier = ">=0.1.5" },
]

[[package]]
name = "uv-test"
version = "1.0"
source = { virtual = "." }
dependencies = [
    { name = "python-ldap", version = "3.4.4", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'win32'" },
    { name = "python-ldap", version = "3.4.4", source = { path = "../../../uti/Python/python_ldap-3.4.4-cp312-cp312-win_amd64.whl" }, marker = "sys_platform == 'win32'" },
]

[package.metadata]
requires-dist = [
    { name = "python-ldap", marker = "sys_platform != 'win32'" },
    { name = "python-ldap", marker = "sys_platform == 'win32'", path = "../../../../../../../../../../../../uti/Python/python_ldap-3.4.4-cp312-cp312-win_amd64.whl" },
]
```

Verified that `cargo run sync --frozen` installs `python-ldap` from
PyPI, without erroring.
2025-01-20 16:36:18 -05:00
..
uv Add tag incompatibility hints to sync failures (#10739) 2025-01-20 12:46:46 -05:00
uv-auth Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-bench Use structured wheel tags everywhere (#10542) 2025-01-14 01:39:39 +00:00
uv-build-backend Reduce `WheelFilename` to 48 bytes (#10583) 2025-01-14 14:49:17 +00:00
uv-build-frontend Detect cyclic dependencies during builds (#10258) 2024-12-31 22:22:42 -05:00
uv-cache Use structured wheel tags everywhere (#10542) 2025-01-14 01:39:39 +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 Remove separate test files in favor of same-file `mod tests` (#9199) 2024-11-18 20:11:46 +00:00
uv-cli Remove trailing commas before brackets (#10740) 2025-01-18 19:56:46 +00:00
uv-client Remove trailing commas before brackets (#10740) 2025-01-18 19:56:46 +00:00
uv-configuration Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-console Support interactive input in `uv publish` (#8158) 2024-10-15 10:00:43 +02:00
uv-dev Shrink `Dist` from 352 to 288 bytes (#10389) 2025-01-08 09:33:19 -05:00
uv-dirs Eliminate dependencies on `directores` and `dirs-sys` (#8048) 2024-11-07 14:29:54 -06:00
uv-dispatch Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-distribution Fetch `pyproject.toml` from GitHub API (#10765) 2025-01-20 17:50:39 +00:00
uv-distribution-filename Store unsupported tags in wheel filename (#10665) 2025-01-17 04:41:53 +00:00
uv-distribution-types Remove trailing commas before brackets (#10740) 2025-01-18 19:56:46 +00:00
uv-extract Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-fs Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-git Include version and contact information in GitHub User Agent (#10785) 2025-01-20 14:30:04 -05:00
uv-globfilter Build backend: Revamp include/exclude (#9525) 2024-12-01 11:32:35 +00:00
uv-install-wheel Remove `import re` from entrypoint wrapper scripts (#10627) 2025-01-15 19:45:32 +01:00
uv-installer Log source file on compile timeout (#10672) 2025-01-16 10:01:23 -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 Add a shared `uv-small-str` crate (#10545) 2025-01-12 20:23:18 +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 Remove trailing commas before brackets (#10740) 2025-01-18 19:56:46 +00:00
uv-pep508 Avoid deserialization error for paths above the root (#10789) 2025-01-20 16:36:18 -05:00
uv-performance-flate2-backend Re-enable zlib-ng on all platforms (except s390x, PowerPC, and FreeBSD) (#10370) 2025-01-07 13:04:34 -05:00
uv-performance-memory-allocator Run `cargo update` (#10173) 2024-12-26 12:00:58 -05:00
uv-platform-tags Store unsupported tags in wheel filename (#10665) 2025-01-17 04:41:53 +00:00
uv-publish Remove trailing commas before brackets (#10740) 2025-01-18 19:56:46 +00:00
uv-pypi-types Avoid deserialization error for paths above the root (#10789) 2025-01-20 16:36:18 -05:00
uv-python Improve log when distutils is missing (#10713) 2025-01-20 17:29:29 +00:00
uv-requirements Omit dynamic versions from the lockfile (#10622) 2025-01-15 11:54:32 -05:00
uv-requirements-txt Warn-and-ignore for unsupported `requirements.txt` options (#10420) 2025-01-09 13:19:51 -05:00
uv-resolver Avoid deserialization error for paths above the root (#10789) 2025-01-20 16:36:18 -05:00
uv-scripts Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-settings fix: ignore permission errors too when looking for user file (#10697) 2025-01-17 12:28:00 -05:00
uv-shell Refactor shell quoting (#9055) 2024-11-15 09:06:54 +00:00
uv-small-str Add a shared `uv-small-str` crate (#10545) 2025-01-12 20:23:18 +00:00
uv-state Add `uv-dirs` to consolidate directory lookup methods (#8453) 2024-10-22 11:33:25 -05:00
uv-static Add `UV_VENV_SEED` environment variable (#10715) 2025-01-17 12:08:55 -05:00
uv-tool Guard against self-deletion in `uv venv` and `uv tool` (#10206) 2024-12-29 10:46:45 -05:00
uv-trampoline chore: update trampoline windows crate to 0.59.0 (#10524) 2025-01-14 08:54:19 -06:00
uv-trampoline-builder Upgrade Rust toolchain to 1.84.0 (#10533) 2025-01-11 22:19:33 -05:00
uv-types Avoid generating unused hashes during `uv lock` (#10307) 2025-01-06 00:58:07 +00:00
uv-version Bump version to v0.5.21 (#10723) 2025-01-17 20:53:36 +00:00
uv-virtualenv Revert "improve shell compatibility of venv activate scripts (#10397)" (#10497) 2025-01-11 09:23:07 -05:00
uv-warnings chore: Move all integration tests to a single binary (#8093) 2024-10-11 16:41:35 +02:00
uv-workspace Remove trailing commas before brackets (#10740) 2025-01-18 19:56:46 +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.