4adaa9a700
The normalized name abstractions were not consistently, this PR uses them where they were previously missing: * `WheelFilename::distribution` * `Requirement::name` * `Requirement::extras` * `Metadata21::name` * `Metadata21::provides_dist` With `puffin-package` depending on `pep508_rs` this would be cyclical crate dependency, so `puffin-normalize` gets split out from `puffin-package`. `DistInfoName` has the same task and semantics as `PackageName`, so it's merged into the latter. `PackageName` and `ExtraName` documentation is moved onto the type and their constructors are called `new` instead of `normalize`. We now use these constructors rarely enough the implicit allocation by `to_string()` shouldn't matter anymore, while more actual cloning becomes visible.
68 lines
2.2 KiB
TOML
68 lines
2.2 KiB
TOML
[package]
|
|
name = "puffin-cli"
|
|
version = "0.0.1"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[[bin]]
|
|
name = "puffin"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
gourgeist = { path = "../gourgeist" }
|
|
install-wheel-rs = { path = "../install-wheel-rs", default-features = false }
|
|
pep440_rs = { path = "../pep440-rs" }
|
|
pep508_rs = { path = "../pep508-rs" }
|
|
platform-host = { path = "../platform-host" }
|
|
platform-tags = { path = "../platform-tags" }
|
|
pubgrub = { path = "../../vendor/pubgrub" }
|
|
puffin-client = { path = "../puffin-client" }
|
|
puffin-dispatch = { path = "../puffin-dispatch" }
|
|
puffin-distribution = { path = "../puffin-distribution" }
|
|
puffin-installer = { path = "../puffin-installer" }
|
|
puffin-interpreter = { path = "../puffin-interpreter" }
|
|
puffin-normalize = { path = "../puffin-normalize" }
|
|
puffin-package = { path = "../puffin-package" }
|
|
puffin-resolver = { path = "../puffin-resolver", features = ["clap"] }
|
|
puffin-workspace = { path = "../puffin-workspace" }
|
|
|
|
anyhow = { workspace = true }
|
|
bitflags = { workspace = true }
|
|
cacache = { workspace = true }
|
|
clap = { workspace = true, features = ["derive"] }
|
|
colored = { workspace = true }
|
|
directories = { workspace = true }
|
|
fs-err = { workspace = true, features = ["tokio"] }
|
|
futures = { workspace = true }
|
|
indicatif = { workspace = true }
|
|
itertools = { workspace = true }
|
|
miette = { workspace = true, features = ["fancy"] }
|
|
pyproject-toml = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
toml = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
tracing-tree = { workspace = true }
|
|
url = { workspace = true }
|
|
which = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
assert_cmd = { version = "2.0.8" }
|
|
assert_fs = { version = "1.0.13" }
|
|
insta-cmd = { version = "0.4.0" }
|
|
insta = { version = "1.34.0", features = ["filters"] }
|
|
predicates = { version = "3.0.4" }
|
|
|
|
[features]
|
|
# Introduces a dependency on a local Python installation.
|
|
python = []
|
|
# Introduces a dependency on PyPI.
|
|
pypi = []
|