uv/crates
samypr100 93f5609476
feat: add uv version to user agent (#2136)
## Summary

Closes #1977

This allows us to send uv's version in the `uv-client` User Agent
header.

Here's how request headers look like to a server now:
```
...
Accept: application/vnd.pypi.simple.v1+json, application/vnd.pypi.simple.v1+html;q=0.2, text/html;q=0.01
User-Agent: uv/0.1.13
...
```

~~I went for a mix of Option 1 and 2 from #1977.~~ Open to alternative
naming as well, not tied too strongly here to the names picked.

~~Another possibility for this new crate is that we can use it to
consolidate metadata that exists across crates to ultimately be able to
create linehaul information described in #1958, but I haven't looked
into what those changes might look like.~~

<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan

<!-- How was it tested? -->
Added initial tests in the new crate to exercise its public API and
added a new test to uv-client to validate the headers using a 1-time
disposable server.
2024-03-04 19:48:41 +00:00
..
bench Rename to `uv` (#1302) 2024-02-15 11:19:46 -06:00
cache-key Clippy pedantic (#1963) 2024-02-25 14:04:05 -05:00
distribution-filename Clippy pedantic (#1963) 2024-02-25 14:04:05 -05:00
distribution-types tweak the order of index priority (#2083) 2024-02-29 11:57:07 -05:00
install-wheel-rs Allow empty values in WHEEL files (#2170) 2024-03-04 19:39:01 +00:00
once-map Remove unused deps (#1273) 2024-02-11 18:53:58 +00:00
pep440-rs pep440: remove redundant `without_local()` (#2019) 2024-02-27 11:00:58 -05:00
pep508-rs Expand environment variables in `-r` and `-c` subfile paths (#2143) 2024-03-03 18:47:04 -05:00
platform-host Clippy pedantic (#1963) 2024-02-25 14:04:05 -05:00
platform-tags Clippy pedantic (#1963) 2024-02-25 14:04:05 -05:00
pypi-types Bump serde_json from 1.0.113 to 1.0.114 (#1996) 2024-02-26 23:12:54 +00:00
requirements-txt Expand environment variables in `-r` and `-c` subfile paths (#2143) 2024-03-03 18:47:04 -05:00
uv feat: add uv version to user agent (#2136) 2024-03-04 19:48:41 +00:00
uv-auth Clippy pedantic (#1963) 2024-02-25 14:04:05 -05:00
uv-build Rename `gourgeist` to `uv-virtualenv` (#2118) 2024-03-01 14:02:40 -05:00
uv-cache Centralize up-to-date checking for path installations (#2168) 2024-03-04 14:10:51 -05:00
uv-client feat: add uv version to user agent (#2136) 2024-03-04 19:48:41 +00:00
uv-dev Rename `gourgeist` to `uv-virtualenv` (#2118) 2024-03-01 14:02:40 -05:00
uv-dispatch Rename `gourgeist` to `uv-virtualenv` (#2118) 2024-03-01 14:02:40 -05:00
uv-distribution Centralize up-to-date checking for path installations (#2168) 2024-03-04 14:10:51 -05:00
uv-extract Add `fs_err` to `disallowed_method` in clippy.toml (#1950) 2024-02-26 14:15:07 +00:00
uv-fs Add support for Python installed from Windows Store (#2122) 2024-03-03 17:55:36 +00:00
uv-git Use `Simplified` instead of `Normalized` for path prefix stripping (#2071) 2024-02-29 01:44:50 +00:00
uv-installer Respect local freshness when auditing installed environment (#2169) 2024-03-04 19:40:52 +00:00
uv-interpreter Add support for Python installed from Windows Store (#2122) 2024-03-03 17:55:36 +00:00
uv-normalize Clippy pedantic (#1963) 2024-02-25 14:04:05 -05:00
uv-resolver Preserve environment variables in resolved Git dependencies (#2125) 2024-03-01 20:38:34 -05:00
uv-traits Preserve environment variables in resolved Git dependencies (#2125) 2024-03-01 20:38:34 -05:00
uv-trampoline Win Trampoline: Use Python executable path encoded in binary (#1803) 2024-02-22 16:10:02 +01:00
uv-version feat: add uv version to user agent (#2136) 2024-03-04 19:48:41 +00:00
uv-virtualenv Add support for Python installed from Windows Store (#2122) 2024-03-03 17:55:36 +00:00
uv-warnings Rename to `uv` (#1302) 2024-02-15 11:19:46 -06:00
README.md Rename `gourgeist` to `uv-virtualenv` (#2118) 2024-03-01 14:02:40 -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-traits.

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

Functionality for resolving Python packages and their dependencies.

uv-traits

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.