krate 📦

Asynchonously get information and metadata for a Rust Crate published on Crates.io!

krate additionally comes with struct Krate which contains a partially implemented data model for the &Crates.io API/V1 Contract.

NOTE: Currently there is no publically docuemented API contract for the Crates.io API/V1 Contract so any changes or null values passed via the API could break serialization. 🤷‍♂️

Please see the crawler policy on Crates.io if you are planning to use this library to crawl or access the crates data.

Usage

$> cargo add krate

main.rs ```rust

[tokio::main]

async fn main() { // Use Krate::getasync to get information on a particular Krate! match krate::getasync("serde", "My User Agent Tool).await { Ok(serdecrate) => { println!("Krate: {}", serdecrate.krate.name); println!("Latest Version: {}", serdecrate.getlatest()); println!("Description: {}", serde_crate.krate.description ); }, Err(e) => println!("Error: {e}"), }
} ```

This is a very small implementation! For more robust client see @TheDuke's crates-io-api