Crate crates_index
source · [−]Expand description
Library for retrieving and interacting with the crates.io index.
Examples
Getting information about a single crate
let index = crates_index::Index::new_cargo_default()?;
let serde_crate = index.crate_("serde").expect("you should handle errors here");
println!("Serde is at v{}", serde_crate.highest_normal_version().unwrap().version());
Iterating over all crates in the index
let index = crates_index::Index::new_cargo_default()?;
for crate_ in index.crates() {
let latest = crate_.most_recent_version();
println!("crate name: {}", latest.name());
println!("most recently released version: {}", latest.version());
}
// or faster:
use rayon::prelude::*;
index.crates_parallel().for_each(|crate_| {
/* etc. */
});
Structs
A whole crate with all its versions
Iterator over all crates in the index. Skips crates that failed to parse.
Unknown error from
crate::Index::crates_parallel
A single dependency of a specific crate version
Wrapper around managing the crates.io-index git repository
Global configuration of an index, reflecting the contents of config.json.
A single version of a crate (package) published to the index
Enums
Section in which this dependency was defined
Oops