mirror of https://github.com/astral-sh/uv
<!-- 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. |
||
|---|---|---|
| .. | ||
| src | ||
| static | ||
| Cargo.toml | ||
| README.md | ||
| benchmark.sh | ||
| compare_in_git.sh | ||
| imasnake.py | ||
| oranda.json | ||
| venv_checker.py | ||
README.md
Gourgeist
Gourgeist is a rust library to create python virtual environments. It also has a CLI.
It currently supports only unix (linux/mac), windows support is missing.
Rust
use camino::Utf8PathBuf;
use gourgeist::{create_venv, get_interpreter_info, parse_python_cli};
let location = cli.path.unwrap_or(Utf8PathBuf::from(".venv"));
let python = parse_python_cli(cli.python)?;
let data = get_interpreter_info(&python)?;
create_venv(&location, &python, &data, cli.bare)?;
CLI
Use python as base for a virtualenv .venv:
gourgeist
Or use custom defaults:
gourgeist -p 3.11 my_env
