#cargo

bin+lib cargo-udeps

Find unused dependencies in Cargo.toml

17 releases

0.1.16 Nov 20, 2020
0.1.14 Aug 28, 2020
0.1.13 Jul 19, 2020
0.1.10 Mar 16, 2020
0.1.5 Sep 27, 2019

#20 in Development tools

Download history 350/week @ 2020-08-13 333/week @ 2020-08-20 495/week @ 2020-08-27 481/week @ 2020-09-03 352/week @ 2020-09-10 395/week @ 2020-09-17 336/week @ 2020-09-24 481/week @ 2020-10-01 595/week @ 2020-10-08 503/week @ 2020-10-15 445/week @ 2020-10-22 347/week @ 2020-10-29 449/week @ 2020-11-05 502/week @ 2020-11-12 882/week @ 2020-11-19 755/week @ 2020-11-26

1,933 downloads per month

MIT/Apache

41KB
1K SLoC

cargo-udeps

crates.io dependency status

Find unused dependencies in Cargo.toml.

While compilation of this tool also works on Rust stable, it needs Rust nightly to actually run.

Installation

GitHub Releases

https://github.com/est31/cargo-udeps/releases

cargo install (crates.io)

cargo install cargo-udeps --locked

cargo install (master)

cargo install --git https://github.com/est31/cargo-udeps --locked

Dedicated packages

Some GNU/Linux distros have packaged cargo-udeps:

  • Nix/Nix OS: cargo-udeps
  • Arch via AUR: yay -S cargo-udeps

Usage

cargo +nightly udeps

It either prints out a "unused crates" line listing the crates, or it prints out a line saying that no crates were unused.

Ignoring some of the dependencies

To ignore some of the dependencies, add package.metadata.cargo-udeps.ignore to Cargo.toml.

[package.metadata.cargo-udeps.ignore]
normal = ["if_chain"]
#development = []
#build = []

[dependencies]
if_chain = "1.0.0" # Used only in doc-tests, which `cargo-udeps` cannot check.

Known bugs

  • Some unused crates might not be detected. This includes crates used by std and its dependencies as well as crates that are already being used by dependencies of the studied crate.

  • Crates are currently only handled on a per name basis. Two crates with the same name but different versions would be a problem.

Trophy case

This is a list of cases where unused dependencies were found using cargo-udeps. You are welcome to expand it:

License

This tool is distributed under the terms of both the MIT license and the Apache License (Version 2.0), at your option.

See LICENSE for details.

License of your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~35MB
~818K SLoC