A modern and easy to use API wrapper for The Movie Database (TMDb) API v3 written in Python
Project description
themoviedb
A modern and easy to use API wrapper for The Movie Database (TMDb) API v3 written in Python. Supports sync and async requests!
Overview
The themoviedb is a synchronous and asynchronous wrapper, written in Python, for The Movie Database (TMDb) API v3.
The Movie Database (TMDb) is a community built movie and TV database.
The TMDb API service is for those of you interested in using our movie, TV show or actor images and/or data in your application.
A TMDb user account is required to request an API key.
Getting started
Requirements
python (Python >=3.8)
pip (Python package manager)
Install
The easiest way to install themoviedb is via pip.
pip install themoviedb[full]
Or only the sync version (with requests).
pip install themoviedb[sync]
Or only the async version (with aiohttp).
pip install themoviedb[async]
API Key
You will need an API key to The Movie Database to access the API. To obtain a key, follow these steps:
Register for and verify an account.
Log into your account.
Select the API section on left side of your account page.
Click on the link to generate a new API key and follow the instructions.
Usage
Sync mode
from themoviedb import TMDb
Async mode
from themoviedb import aioTMDb
Configuration
Initialize a TMDb object and set your API Key, language and region.
tmdb = TMDb(key="YOUR_API_KEY", language="pt-BR", region="BR")
# or: tmdb = aioTMDb(key="YOUR_API_KEY", language="pt-BR", region="BR")
Alternatively, set after initialize.
tmdb = TMDb()
# or: tmdb = aioTMDb()
tmdb.key = "YOUR_API_KEY"
tmdb.language = "pt-BR" # default: en-US
tmdb.region = "BR" # default: US
Alternatively too, you can export your API key, language and region logger as an environment variable.
$ export TMDB_KEY="YOUR_API_KEY"
$ export TMDB_LANGUAGE="pt-BR" # ISO 639-1
$ export TMDB_REGION="BR" # ISO-3166-1
And then you will no longer need to set your API key, language and region.
tmdb = TMDb() # from env: TMDB_KEY="YOUR_API_KEY", TMDB_LANGUAGE="pt-BR", TMDB_REGION="BR"
# or: tmdb = aioTMDb()
Examples
Get the list of top rated movies (sync mode).
from themoviedb import TMDb
tmdb = TMDb()
movies = tmdb.movies().top_rated()
for movie in movies:
print(movie)
Get the list of popular TV shows (async mode).
import asyncio
from themoviedb import aioTMDb
async def main():
tmdb = aioTMDb()
movies = await tmdb.tvs().popular()
for movie in movies:
print(movie)
asyncio.run(main())
Discover movies by different types of data.
from themoviedb import TMDb
tmdb = TMDb()
movies = tmdb.discover().movie(
sort_by="vote_average.desc",
primary_release_date__gte="1997-08-15",
vote_count__gte=10000,
vote_average__gte=6.0,
)
for movie in movies:
print(movie)
Get the details of movie for a search.
import asyncio
from themoviedb import aioTMDb
async def main():
tmdb = aioTMDb()
movies = await tmdb.search().movies("fight club")
movie_id = movies[0].id # get first result
movie = await tmdb.movie(movie_id).details(append_to_response="credits,external_ids,images,videos")
print(movie.title, movie.year)
print(movie.tagline)
print(movie.poster_url)
print(movie.external_ids.imdb_url)
for person in movie.credits.cast:
print(person.name, person.character)
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for themoviedb-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | badf85e91010c7085509f40270bf2a40ea30ee5ef3ed6fb3ec332c5e50adb576 |
|
MD5 | fc3da44317e858820abd7166a734bafb |
|
BLAKE2b-256 | 4ddb8ec611895d2007c67d481b18c9ad38ef13bbb344b05bdcb96fc821556097 |