93d3093a2a
Closes #810 Closes https://github.com/astral-sh/puffin/issues/812 Requires https://github.com/zanieb/pubgrub/pull/19 and https://github.com/zanieb/pubgrub/pull/18 - Always pair package ranges with names e.g. `... of a matching a<1.0` instead of `... of a matching <1.0` - Split range segments onto multiple lines when not a singleton as suggested in [#850](https://github.com/astral-sh/puffin/pull/850#discussion_r1446419610) - Improve formatting when ranges are split across multiple lines e.g. by avoiding extra spaces and improving wording Note review will require expanding the hidden files as there are significant changes to the report formatter and snapshots. Bear with me here as these are definitely not perfect still. The following changes build on top of this independently for further improvements: - #868 - #867 - #866 - #871
154 lines
5.3 KiB
TOML
154 lines
5.3 KiB
TOML
[workspace]
|
|
members = ["crates/*"]
|
|
exclude = ["scripts"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
rust-version = "1.74"
|
|
homepage = "https://astral.sh"
|
|
documentation = "https://astral.sh"
|
|
repository = "https://github.com/astral-sh/puffin"
|
|
authors = ["Astral Software Inc. <hey@astral.sh>"]
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[workspace.dependencies]
|
|
anstream = { version = "0.6.5" }
|
|
anyhow = { version = "1.0.79" }
|
|
async_http_range_reader = { git = "https://github.com/baszalmstra/async_http_range_reader", rev = "8dab2c08ac864fec1df014465264f9a7c8eae905" }
|
|
async_zip = { version = "0.0.16", features = ["tokio", "deflate"] }
|
|
bitflags = { version = "2.4.1" }
|
|
bytesize = { version = "1.3.0" }
|
|
cachedir = { version = "0.3.1" }
|
|
camino = { version = "1.1.6", features = ["serde1"] }
|
|
cargo-util = { version = "0.2.8" }
|
|
chrono = { version = "0.4.31" }
|
|
clap = { version = "4.4.13" }
|
|
configparser = { version = "3.0.4" }
|
|
csv = { version = "1.3.0" }
|
|
data-encoding = { version = "2.5.0" }
|
|
derivative = { version = "2.2.0" }
|
|
directories = { version = "5.0.1" }
|
|
dirs = { version = "5.0.1" }
|
|
# This tells flate2 (and all libraries that depend on it, including async_compression
|
|
# and async_zip) to use zlib-ng, which about 2x faster than the default flate2 backend
|
|
# at decompression. See https://github.com/rust-lang/flate2-rs#backends
|
|
flate2 = { version = "1.0.28", features = ["zlib-ng"], default-features = false }
|
|
fs-err = { version = "2.11.0" }
|
|
fs2 = { version = "0.4.3" }
|
|
futures = { version = "0.3.30" }
|
|
git2 = { version = "0.18.1" }
|
|
glob = { version = "0.3.1" }
|
|
goblin = { version = "0.8.0" }
|
|
hex = { version = "0.4.3" }
|
|
html-escape = { version = "0.2.13" }
|
|
http = { version = "0.2.11" }
|
|
http-cache-semantics = { version = "1.0.2" }
|
|
indicatif = { version = "0.17.7" }
|
|
indoc = { version = "2.0.4" }
|
|
itertools = { version = "0.12.0" }
|
|
mailparse = { version = "0.14.0" }
|
|
# For additional textwrap options: https://github.com/zkat/miette/pull/321, https://github.com/zkat/miette/pull/328
|
|
miette = { git = "https://github.com/zkat/miette.git", rev = "b0744462adbbfbb6d845f382db36be883c7f3c45" }
|
|
once_cell = { version = "1.19.0" }
|
|
owo-colors = { version = "3.5.0" }
|
|
petgraph = { version = "0.6.4" }
|
|
platform-info = { version = "2.0.2" }
|
|
plist = { version = "1.6.0" }
|
|
pubgrub = { git = "https://github.com/zanieb/pubgrub", rev = "0e02ea9fc8d021fb6a6b9e77b09ade4332068f42" }
|
|
pyo3 = { version = "0.20.2" }
|
|
pyo3-log = { version = "0.9.0"}
|
|
pyproject-toml = { version = "0.8.1" }
|
|
rand = { version = "0.8.5" }
|
|
rayon = { version = "1.8.0" }
|
|
reflink-copy = { version = "0.1.14" }
|
|
regex = { version = "1.10.2" }
|
|
reqwest = { version = "0.11.23", default-features = false, features = ["json", "gzip", "brotli", "stream", "rustls-tls"] }
|
|
reqwest-middleware = { version = "0.2.4" }
|
|
reqwest-retry = { version = "0.3.0" }
|
|
rfc2047-decoder = { version = "1.0.2" }
|
|
rmp-serde = { version = "1.1.2" }
|
|
rustc-hash = { version = "1.1.0" }
|
|
seahash = { version = "4.1.0" }
|
|
serde = { version = "1.0.194" }
|
|
serde_json = { version = "1.0.111" }
|
|
sha2 = { version = "0.10.8" }
|
|
tar = { version = "0.4.40" }
|
|
target-lexicon = { version = "0.12.13" }
|
|
tempfile = { version = "3.9.0" }
|
|
textwrap = { version = "0.15.2" }
|
|
thiserror = { version = "1.0.56" }
|
|
tl = { version = "0.7.7" }
|
|
tokio = { version = "1.35.1", features = ["rt-multi-thread"] }
|
|
tokio-util = { version = "0.7.10", features = ["compat"] }
|
|
toml = { version = "0.8.8" }
|
|
toml_edit = { version = "0.21.0" }
|
|
tracing = { version = "0.1.40" }
|
|
tracing-durations-export = { version = "0.1.0", features = ["plot"] }
|
|
tracing-indicatif = { version = "0.3.6" }
|
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
|
tracing-tree = { version = "0.3.0" }
|
|
unicode-width = { version = "0.1.11" }
|
|
unscanny = { version = "0.1.0" }
|
|
url = { version = "2.5.0" }
|
|
waitmap = { version = "1.1.0" }
|
|
walkdir = { version = "2.4.0" }
|
|
which = { version = "5.0.0" }
|
|
zip = { version = "0.6.6", default-features = false, features = ["deflate"] }
|
|
|
|
[patch.crates-io]
|
|
# For pyproject-toml
|
|
pep508_rs = { path = "crates/pep508-rs" }
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "warn"
|
|
unreachable_pub = "warn"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "warn", priority = -2 }
|
|
# Allowed pedantic lints
|
|
char_lit_as_u8 = "allow"
|
|
collapsible_else_if = "allow"
|
|
collapsible_if = "allow"
|
|
implicit_hasher = "allow"
|
|
match_same_arms = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
similar_names = "allow"
|
|
too_many_lines = "allow"
|
|
# Disallowed restriction lints
|
|
print_stdout = "warn"
|
|
print_stderr = "warn"
|
|
dbg_macro = "warn"
|
|
empty_drop = "warn"
|
|
empty_structs_with_brackets = "warn"
|
|
exit = "warn"
|
|
get_unwrap = "warn"
|
|
rc_buffer = "warn"
|
|
rc_mutex = "warn"
|
|
rest_pat_in_fully_bound_structs = "warn"
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
debug = true
|
|
|
|
# Config for 'cargo dist'
|
|
[workspace.metadata.dist]
|
|
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
|
|
cargo-dist-version = "0.3.1"
|
|
# CI backends to support
|
|
ci = ["github"]
|
|
# The installers to generate for each app
|
|
installers = ["shell"]
|
|
# Target platforms to build apps for (Rust target-triple syntax)
|
|
targets = ["x86_64-unknown-linux-gnu", "aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-pc-windows-msvc"]
|
|
# Publish jobs to run in CI
|
|
pr-run-mode = "skip"
|
|
|
|
# The profile that 'cargo dist' will build with
|
|
[profile.dist]
|
|
inherits = "release"
|
|
lto = "thin"
|