uv/crates/gourgeist
Charlie Marsh 0ca17a1cf2
Use local copy of gourgeist (#62)
This PR gets `gourgeist` passing our local CI and integrated into the
broader workspace.

There's some duplicate between concepts in `gourgeist` (like the
`InterpreterInfo`) and structs we have elsewhere, but we can tackle
those later.
2023-10-08 18:45:08 +00:00
..
src Use local copy of gourgeist (#62) 2023-10-08 18:45:08 +00:00
static Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00
benchmark.sh Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00
Cargo.toml Use local copy of gourgeist (#62) 2023-10-08 18:45:08 +00:00
compare_in_git.sh Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00
imasnake.py Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00
oranda.json Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00
Readme.md Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00
venv_checker.py Copy over gourgeist crate (#61) 2023-10-08 14:37:09 -04:00

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

Jessie's gourgeist

Jessie's gourgeist, a pokemon with a jack o'lantern as body