rustnao

Crates.iorustnao
lib.rsrustnao
version0.3.4
sourcesrc
created_at2019-06-09 03:03:16.740598
updated_at2024-07-25 04:36:25.807989
descriptionA Rust implementation of a wrapper for the SauceNAO API.
homepage
repositoryhttps://github.com/ClementTsang/RustNAO
max_upload_size
id139896
size259,507
Clement Tsang (ClementTsang)

documentation

https://docs.rs/rustnao/

README

RustNAO

A Rust implementation of a wrapper for the SauceNAO API.

crates.io link Documentation

Installation

Add the following to your Cargo.toml file:

[dependencies]
rustnao = "0.3.4"

Examples

Here's a simple example:

use rustnao::{HandlerBuilder, Sauce};

fn main() {
    let api_key = "your_api_key";
    let file = "https://i.imgur.com/W42kkKS.jpg";

    // Specifying our key, test_mode set to 0, only want to see Pixiv and Sankaku using a mask, nothing excluded, no one specific source, and 15 results at most
    let handle = HandlerBuilder::default().api_key(api_key).db_mask([Handler::PIXIV, Handler::SANKAKU_CHANNEL].to_vec()).num_results(15).build();

    // Set the minimum similarity to 45.
    handle.set_min_similarity(45);

    // Returns a vector of Sauce objects if successful
    let result: Vec<Sauce> = handle.get_sauce(file, None, None).unwrap();

    // Or perhaps you prefer a JSON output
    let result_json: String = handle.get_sauce_as_pretty_json(file, None, None).unwrap();

    // Or maybe you wish to only get 5 results with a min similarity of 50.0
    let result_json_filtered: String = handle.get_sauce_as_pretty_json(file, Some(5), Some(50 as f64)).unwrap();
}

See more examples here.

Documentation

Further documentation can be found here. You can also see SauceNAO's API documentation here.

Development

Interested in helping? Found a problem/bug? Let me know!

Thanks/Credits

I was inspired by Sagiri, so I have to give a shoutout that project. Furthermore, thanks to SauceNAO which provides this amazing functionality for free.

Also, credit to Pixiv user リン ☆ ユウ@1 日目 西れ 44b for this image I used frequently for examples and tests. I couldn't seem to find the image I used for local testing (SauceNAO failed me), if anyone knows let me know so I can credit them.

Commit count: 108

cargo fmt