Creates graphviz dependency graphs for Rust projects that use Cargo
- Rust 100%
| .github/workflows | ci: Run clippy for all targets | |
| src | Upgrade to Rust edition 2024 | |
| .gitignore | Initial commit | |
| .rustfmt.toml | Initial commit | |
| Cargo.lock | Update Cargo.lock for 1.6.0 | |
| Cargo.toml | Upgrade to Rust edition 2024 | |
| CHANGELOG.md | Publish v1.6.0 | |
| graph_all.png | Update README images | |
| graph_all_deduped.png | Update README images | |
| LICENSE | Initial commit | |
| README.md | Update the installation instructions for Arch Linux | |
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
cargo-depgraph's dependency graph
--all-deps --dedup-transitive-deps
cargo-depgraph's dependency graph with transitive dependency edges de-duplicated
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