tmdb-async

Crates.iotmdb-async
lib.rstmdb-async
version0.7.1
sourcesrc
created_at2022-04-04 21:37:43.563544
updated_at2024-07-24 05:25:42.771743
descriptionThe Movie Database (TMDb) API for async Rust
homepagehttps://gitlab.cronce.io/foss/tmdb-rs
repositoryhttps://gitlab.com/foss/tmdb-rs
max_upload_size
id562323
size75,609
Mike Cronce (mcronce)

documentation

https://docs.rs/crate/tmdb-async

README

The Movie Database

The Movie Database

This is an async wrapper around the TMDb API.

Usage

use tmdb_async::Client;

#[tokio::main]
async fn main() {
	let tmdb = Client::new(env!("TMDB_API_KEY").to_string());
	let search_result = client.movie_search("Interstellar", Some(2014)).await.unwrap();
	let movie = client.movie_by_id(search_result.results[0].id, false, false).await.unwrap();
	println!("{:#?}", movie);
}

Actions

Currently there are 3 actions available:

  • Fetching by ID
  • Searching by name and (optionally) year of release
  • Finding by external ID (IMDb ID, TVDB ID)

Additionally, two media types are currently supported:

  • Movies
  • TV series

Fetching

If you know its ID, you can fetch a movie using that.

let movie = tmdb.movie_by_id(157336).await.unwrap();

You can request some more data with the append to response feature.

let movie = tmdb.movie_by_id(2277, true, true).await.unwrap();

Searching

You can search for movies and series by title and year.

let page = tmdb.movie_search("Bicentennial Man", Some(1999)).await.unwrap();
let movies = page.results;

If you require additional details that aren't returned by the search, you can search then fetch:

let page = tmdb.movie_search("Bicentennial Man", Some(1999)).await.unwrap();
let movie = tmdb.movie_by_id(page.results[0].id, true, true).await.unwrap();

Finding

Finding a movie with an external ID is currently supported with IMDB IDs and, for TV series, TVDB IDs.

let movie = tmdb.movie_by_imdb_id(816692).await.unwrap();

Acknowledgements

Commit count: 0

cargo fmt