#async #com #api-bindings #client #api #user #api-client

stremio

A fast & async library for Stremio written in Rust

4 releases

0.1.3 Jan 10, 2023
0.1.2 Jan 8, 2023
0.1.1 Jan 7, 2023
0.1.0 Jan 6, 2023

#159 in #com

MIT license

16KB
281 lines

stremio

crates.io Build docs.rs License deps.rs

A fast & async library for stremio.com APIs written in Rust.

Example

Examples can be found in this crate's examples directory.

A sample is provided below for reference.


use stremio::Client;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new(
        "user@mail.com".to_string(),
        "password".to_string(),
    );
    let client = client.login().await?;
    println!("client login result : {}", client.is_logged_in);
    println!("client auth key : {}", client.auth_key);
    let sessions = client.get_user_sessions().await?;
    println!("user sessions: {sessions:?}");
    let user = client.get_user().await?;
    println!("user details: {user:?}");
    let addon_collection = client.get_addon_collection().await?;
    println!("addon_collection: {addon_collection:?}");
    let datastore_meta = client.get_datastore_meta().await?;
    println!("datastore_meta: {datastore_meta:?}");
    let logout = client.logout().await?;
    println!("logout result: {logout:?}");
    Ok(())
}

Usage

To use this library, the user needs to have a Stremio account and use their credentials while calling the API. If you don't have an account, please sign up first on stremio.

Add the stremio dependency in Cargo.toml dependencies section :

stremio = "0.1"

You can follow the sample examples after adding the lib.

Contribution

Contributions and PRs are welcome.

Dependencies

~4–15MB
~226K SLoC