13 unstable releases
0.7.1 | Jul 24, 2024 |
---|---|
0.7.0 | Jul 21, 2023 |
0.6.2 | Jan 10, 2023 |
0.5.0 | Jun 19, 2022 |
#313 in Web programming
32KB
786 lines
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
- This library is forked from tmdb-rs
- The Movie Database (TMDb)
Dependencies
~6–18MB
~248K SLoC