Open-Source Wikis

/

uv

/

Crates

/

uv-pypi-types

astral-sh/uv

uv-pypi-types

crates/uv-pypi-types/ holds wire types shared with PyPI-compatible APIs (Simple HTML / PEP 691 JSON / Core Metadata).

Purpose

uv has to round-trip data through PyPI: parse Simple API responses, parse METADATA files embedded in wheels, parse the pyproject.toml [project] table, and parse PEP 658 sidecar files. Each of these has its own format but shares the underlying types (Metadata 2.x, project URLs, classifiers). This crate is the home of those types.

Key abstractions

  • Metadata23 — the Core Metadata model (PEP 621-aligned).
  • ResolutionMetadata — the slimmer view used during resolution.
  • HashAlgorithm, HashDigest — hash representations.
  • VerbatimParsedUrl, ParsedUrl, ParsedDirectoryUrl — URL classifications.
  • Identifier, IdentifierParseError — package/extra identifier validation.
  • ConflictItem, ConflictItemRef, Conflicts, ConflictKindRef — used by the resolver's conflict-marker machinery.

Integration points

Used by uv-resolver, uv-distribution, uv-build-backend, uv-publish, and several others.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

uv-pypi-types – uv wiki | Factory