Crates.io | consecrates |
lib.rs | consecrates |
version | 0.1.1 |
source | src |
created_at | 2021-02-14 13:43:14.65039 |
updated_at | 2021-02-15 12:35:23.927003 |
description | Tiny but virtuous crates.io client. |
homepage | |
repository | https://github.com/adamsky/consecrates |
max_upload_size | |
id | 355068 |
size | 49,459 |
Tiny but virtuous crates.io API client.
The main aim of this library is to provide an easy way to query crates information without bringing in too many dependencies.
It's loosely modeled after the crates_io_api crate. Main differences include:
about 70% cut in the number of dependencies
no async
no multi-request client methods like full_crate
or
all_crates
ability to use category
and keyword
specifiers for querying crates
ability to convert simple string composite queries such as
api category=web keyword=crates sort=update
into valid query objects
Paste the following into your project's Cargo.toml
file:
consecrates = "0.1.1"
Create a new client and issue a query:
let client = Client::new("my_app (github.com/me/me_app)");
let crates = client
.get_crates(Query {
string: Some("net".to_string()),
category: Some(Category::GameDevelopment),
sort: Some(Sorting::RecentUpdates),
..Default::default()
})
.expect("failed getting crates");
println!("{:?}", crates);
Please consult the official crawler policy before using this library. Rate limiting is fixed at the lowest tolerated value. When creating a client you will need to input a proper user-agent string.