15 stable releases
1.6.0 | Dec 7, 2023 |
---|---|
1.5.0 | Jun 26, 2023 |
1.4.0 | Nov 23, 2022 |
1.2.5 | Jun 23, 2022 |
0.1.0 | Jul 9, 2020 |
#59 in Cargo plugins
303 downloads per month
37KB
756 lines
cargo-depgraph
Creates dependency graphs for cargo projects using cargo metadata
and graphviz.
Installation
cargo install cargo-depgraph
If you are using Arch Linux, you can alternatively install via pacman -S cargo-depgraph
.
Usage
Note: This assumes you have Graphviz installed. There are also online
tools that can generate graphics from the textual graphviz graphs cargo depgraph
generates, if
the command-line graphviz tools like dot
aren't your thing.
cargo depgraph [options] | dot -Tpng > graph.png
The full list of options can be seen by running
cargo depgraph --help
Commonly useful options:
--all-deps
--all-deps --dedup-transitive-deps
Output explanation
- square node = root / workspace member
- grey background = target-specific dependency
- dotted lines = optional dependency (could be removed by disabling a cargo feature)
- dashed lines = transitively optional dependency (could be removed by removing one of the dotted edges)
- line colors = dependency kinds w.r.t. root / workspace members
- black = normal
- blue = dev-dependency
- green = build-dependency
- light turquoise = build-dependency of a dev-dependency
- dark green = both normal and build-dependency
- violet = both dev-dependency and build-dependency
- … not seen in the wild yet, but theoretically possible:
- dark turquoise = both normal and build-dependency of a dev-dependency
- pastel blue = both dev-dependency and build-dependency of a dev-dependency
- red = you broke it
Dependencies
~4–5MB
~85K SLoC