uv/crates/gourgeist
Charlie Marsh a4002fe132
Make cache non-optional in most crates (#293)
This PR makes the cache non-optional in most of Puffin, which simplifies
the code, allows us to reuse the cache within a single command (even
with `--no-cache`), and also allows us to use the cache for disk storage
across an invocation.

I left the cache as optional for the `Virtualenv` and `InterpreterInfo`
abstractions, since those are generic enough that it seems nice to have
a non-cached version, but it's kind of arbitrary.
2023-11-02 13:40:20 -04:00
..
src Make cache non-optional in most crates (#293) 2023-11-02 13:40:20 -04: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 Fix musl compilation (#234) 2023-10-30 18:10:17 +01: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 Enable release builds via cargo-dist (#79) 2023-10-09 20:48:55 +00:00
venv_checker.py Unify python interpreter abstractions (#178) 2023-10-25 20:11:36 +00: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