jdrouet / tmdb-api

Yet another TMDB api client written in rust, working with async
13 stars 8 forks source link
hacktoberfest

Rust client for The Movie DB API

This is yet another client for TMDB, but it supports async functions.

Installing

cargo add tmdb-api

Usage

use tmdb_api::tvshow::search::TVShowSearch;
use tmdb_api::prelude::Command;
use tmdb_api::client::Client;
use tmdb_api::client::reqwest::ReqwestExecutor;

#[tokio::main]
async fn main() {
    let secret = std::env::var("TMDB_TOKEN_V3").unwrap();
    let client = Client::<ReqwestExecutor>::new(secret);
    let cmd = TVShowSearch::new("simpsons".into());

    let result = cmd.execute(&client).await.unwrap();
    let item = result.results.first().unwrap();
    println!("TVShow found: {}", item.inner.name);
}

Features

Running the tests

cargo test

If you want to run some integration tests, just export a TMDB_TOKEN_V3 environment variable and run

cargo test --features integration