rs621 0.1.1

Rust crate for the E621 API (a large online archive of furry art).
Documentation

rs621 ยท GitHub license Build Status codecov

Rust bindings for the e621.net API.

E621 is a large online archive of furry (anthropomorphic) art. rs621 provides easy-to-use bindings to its public HTTP API. It uses the reqwest crate to make the requests over HTTPS.

Features

  • Regular tag searching, using any of the search options from the website.
  • Unlimited result count (automatically makes more requests in sequence to go beyond the API limit of 320 posts per request).

Usage

First, create a Client. You have to provide a descriptive User-Agent for your project. The official API encourages you to include your E621 username so that you may be contacted if your project causes problems.

let client = Client::new("MyProject/1.0 (by username on e621)")?;

Now it's ready to go! For example you can get post #8595 like this:

let post = client.get_post(8595)?;

assert_eq!(post.id, 8595);

Or you can make a search like on the website, using tags:

let posts = client.list(&["fluffy", "rating:s"][..], 5)?;

assert_eq!(posts.len(), 5);

Requirements

rs621 uses the reqwest crate, which itself uses rust-openssl. It has some requirements:

On Linux:

  • OpenSSL 1.0.1, 1.0.2, or 1.1.0 with headers (see rust-openssl).

On Windows and macOS:

  • Nothing.

See reqwest on crates.io for more details.

License

rs621 is licensed under the terms of both the MIT license and the Apache License (Version 2.0), at your choice.

See LICENSE-MIT and LICENSE-APACHE-2.0 files for the full texts.