uv/crates
samypr100 2fa67eae6f
feat: allow passing extra config k,v pairs for pyvenv.cfg when creating a venv (#1852)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

This modifies `gourgeist` to allow passing additional k,v pairs to add
to the `pyvenv.cfg` file as proposed in #1697.
I made it allow an arbitrary set of pairs (to decouple from `uv` since
this is mainly a change to `gourgeist`) , but I can slim it down to just
allow just a name and version strings if that's desired.

The `pyvenv.cfg` will also have a `uv = <uv-crate-version>` when a venv
is created via `uv venv` ~~and `uv-build = <uv-build-crate-version>`
when it's created via `SourceBuild::setup`~~.

Example below via `uv venv`:

```ini
home = ...
implementation = CPython
version_info = 3.12
include-system-site-packages = false
base-prefix = ...
base-exec-prefix = ...
base-executable = ...
uv = 0.1.6
prompt = uv
```

Open to any suggestions, thanks!

Closes #1697 

## Test Plan

Added new test in `tests/venv.rs` called `verify_pyvenv_cfg` to verify
that it contains the right uv version string. I didn't see tests
configured in `gourgeist` itself, so I didn't add any there.
2024-02-22 20:39:37 +01:00
..
bench Rename to uv (#1302) 2024-02-15 11:19:46 -06:00
cache-key Retain passwords in Git URLs (#1717) 2024-02-21 00:12:56 +00:00
distribution-filename Rename to uv (#1302) 2024-02-15 11:19:46 -06:00
distribution-types Avoid enforcing URL correctness for installed distributions (#1793) 2024-02-21 09:06:31 -05:00
gourgeist feat: allow passing extra config k,v pairs for pyvenv.cfg when creating a venv (#1852) 2024-02-22 20:39:37 +01:00
install-wheel-rs Win Trampoline: Use Python executable path encoded in binary (#1803) 2024-02-22 16:10:02 +01:00
once-map Remove unused deps (#1273) 2024-02-11 18:53:58 +00:00
pep440-rs Backport changes from publish crates (#1739) 2024-02-20 19:33:27 +01:00
pep508-rs Fix pep508-rs tests without features (#1778) 2024-02-20 19:35:36 +00:00
platform-host platform-host: check /bin/sh, then /bin/dash and then /bin/ls (#1818) 2024-02-21 11:49:28 -05:00
platform-tags Treat ARM wheels as higher-priority than universal (#1843) 2024-02-22 01:38:56 +00:00
pypi-types Add fixup for prefect<1.0.0 (#1825) 2024-02-21 19:47:34 +00:00
requirements-txt Backport changes from publish crates (#1739) 2024-02-20 19:33:27 +01:00
uv feat: allow passing extra config k,v pairs for pyvenv.cfg when creating a venv (#1852) 2024-02-22 20:39:37 +01:00
uv-build feat: allow passing extra config k,v pairs for pyvenv.cfg when creating a venv (#1852) 2024-02-22 20:39:37 +01:00
uv-cache Ensure that builds within the cache aren't considered Git repositories (#1782) 2024-02-20 15:37:05 -05:00
uv-client Retain authentication attached to URLs when making requests to the same host (#1874) 2024-02-22 17:56:38 +00:00
uv-dev Move conflicting dependencies into PubGrub (#1796) 2024-02-21 21:27:58 -05:00
uv-dispatch Move conflicting dependencies into PubGrub (#1796) 2024-02-21 21:27:58 -05:00
uv-distribution Allow non-nested archives for hexdump and others (#1564) 2024-02-16 23:17:36 -05:00
uv-extract Preserve executable bit when untarring archives (#1790) 2024-02-21 14:18:44 +00:00
uv-fs Apply percent-decoding to file-based URLs (#1541) 2024-02-16 16:11:16 -05:00
uv-git Improve error message when git ref cannot be fetched (#1826) 2024-02-22 01:22:00 +00:00
uv-installer Ensure extras trigger an install (#1727) 2024-02-20 03:37:35 +00:00
uv-interpreter Search PATH when python can't be found with py (#1711) 2024-02-22 08:47:33 +01:00
uv-normalize Backport changes from publish crates (#1739) 2024-02-20 19:33:27 +01:00
uv-resolver Avoid displaying "root" package when formatting terms (#1871) 2024-02-22 18:04:19 +00:00
uv-traits Fix diagram alignment (#1354) 2024-02-15 15:32:33 -06:00
uv-trampoline Win Trampoline: Use Python executable path encoded in binary (#1803) 2024-02-22 16:10:02 +01:00
uv-warnings Rename to uv (#1302) 2024-02-15 11:19:46 -06:00
README.md Rename to uv (#1302) 2024-02-15 11:19:46 -06: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.

gourgeist

A venv replacement to create virtual environments in Rust.

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

User-facing warnings for uv.

requirements-txt

Functionality for parsing requirements.txt files.