mirror of https://github.com/astral-sh/uv
## Summary Right now, we have virtualenv construction encoded in a few different places. Namely, it happens in both `gourgeist` and `virtualenv_layout.rs` -- _and_ `interpreter.rs` also encodes some knowledge about how they work, by way of reconstructing the `SysconfigPaths`. Instead, `gourgeist` now returns the complete layout, enumerating all the directories it created. So, rather than returning a root directory, and re-creating all those paths in `uv-interpreter`, we pass the data directly back to it. |
||
|---|---|---|
| .. | ||
| 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
