Charlie Marsh c8477991a9 Use local versions of PEP 440 and PEP 508 crates (#32)
This PR modifies the PEP 440 and PEP 508 crates to pass CI, primarily by
fixing all lint violations.

We're also now using these crates in the workspace via `path`.
(Previously, we were still fetching them from Cargo.)
2023-10-07 00:16:44 +00:00
2023-10-06 20:59:17 +00:00
2023-10-05 12:45:38 -04:00
2023-10-05 12:45:38 -04:00
2023-10-06 20:31:03 +00:00
2023-10-06 01:03:07 -04:00

puffin

An experimental Python package manager.

Usage

To resolve a requirements.in file:

cargo run -p puffin-cli -- compile requirements.in

To install from a resolved requirements.txt file:

cargo run -p puffin-cli -- sync requirements.txt

Benchmarks

To compare a warm run of puffin to pip:

hyperfine --runs 10 --warmup 3 \
    "./target/release/puffin-cli sync requirements.txt" \
    "pip install -r requirements.txt"

To compare a cold run of puffin to pip:

hyperfine --runs 10 --warmup 3 \
    "./target/release/puffin-cli sync requirements.txt --no-cache" \
    "pip install -r requirements.txt --ignore-installed --no-cache-dir"

License

Puffin is licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Puffin by you, as defined in the Apache-2.0 license, shall be dually licensed as above, without any additional terms or conditions.

Description
No description provided
Readme 189 MiB
Languages
Rust 97.4%
Python 2%
RenderScript 0.3%
Shell 0.1%