[package]
name = "guppy"
version = "0.17.26"
description = "Track and query Cargo dependency graphs."
documentation = "https://docs.rs/guppy"
repository = "https://github.com/guppy-rs/guppy"
authors = ["Rain <rain1@fb.com>", "Brandon Williams <bmwill@fb.com>"]
license = "MIT OR Apache-2.0"
readme = "README.md"
keywords = ["cargo", "dependencies", "graph", "guppy"]
categories = [
    "config",
    "data-structures",
    "development-tools",
    "parser-implementations",
]
edition = "2024"
exclude = [
    # Readme template that doesn't need to be included.
    "README.tpl",
]
rust-version.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg=doc_cfg"]

[package.metadata.release]
pre-release-replacements = [
    { file="CHANGELOG.md", search="Unreleased", replace="[{{version}}]", min=1 },
    { file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1 },
    { file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## Unreleased - ReleaseDate\n", exactly=1 },
    { file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[{{version}}]: https://github.com/guppy-rs/guppy/releases/tag/{{crate_name}}-{{version}}", exactly=1 },
]

[badges]
maintenance = { status = "actively-developed" }

[dependencies]
ahash.workspace = true
guppy-workspace-hack.workspace = true
camino = "1.2.1"
cargo_metadata.workspace = true
cfg-if = "1.0.3"
debug-ignore = "1.0.5"
guppy-summaries = { version = "0.7.1", path = "../guppy-summaries", optional = true }
fixedbitset = { version = "0.5.7", default-features = false }
nested = "0.1.1"
indexmap = "2.11.4"
itertools = "0.14.0"
once_cell = "1.21.3"
pathdiff = { version = "0.2.3", features = ["camino"] }
petgraph = { version = "0.8.3", default-features = false }
proptest = { version = "1.7.0", optional = true }
proptest-derive = { version = "0.6.0", optional = true }
rayon = { version = "1.10.0", optional = true }
semver = "1.0.27"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
smallvec = "1.15.1"
static_assertions = "1.1.0"
target-spec = { version = "3.6.0", path = "../target-spec" }
toml = { version = "0.5.11", optional = true, features = ["preserve_order"] }

[dev-dependencies]
fixtures = { path = "../fixtures" }
pretty_assertions = "1.4.1"

[features]
proptest1 = ["proptest", "proptest-derive", "target-spec/proptest1"]
rayon1 = ["rayon"]
summaries = ["guppy-summaries", "target-spec/summaries", "toml"]

[lints]
workspace = true
