What is lib.rs?

Lib.rs is a catalog of programs and libraries written in the Rust programming language. It has 103,725 packages, including 103,086 (minus spam) crates from the crates.io registry, and a few notable projects published only on GitHub or GitLab.

Why use lib.rs?

Ranking algorithm

Sorting of crates by their download numbers tends to favor old crates and incumbents, and makes it difficult for new, high-quality crates to gain users.

The algorithm has been designed based on research for RFC 1824, feedback from Rust users, as well as inspired by Open Hub analysis, SourceRank, CocoaPods' QualityIndex, and npm search.

Crates are sorted by their overall quality score, which is a weighed combination of:

The score is combined with relevance of crate's keywords to a given category or search query.

Overall, this algorithm is very good at discovering quality crates. If you find any cases where this algorithm gives wrong results, please report them.

Dependency freshness

Versions are considered out of date not merely when they're less than the latest, but when more than half of users of that crate uses a newer version. This way lib.rs only warns about crates that are really lagging behind, and doesn't complain about minor / irrelevant / experimental / unupgradable versions of dependencies.

Crate pages highlight out-of-date dependency versions:


lib.rs follows crates-io's policies and Rust's Code of Conduct.