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
File details
Details for the file themoviedb-1.0.2.tar.gz
.
File metadata
- Download URL: themoviedb-1.0.2.tar.gz
- Upload date:
- Size: 31.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7835615142a44e7ca25e48645a3a3c5e06b382e8c518c38c3537effa9a2596ce |
|
MD5 | 1d67c558351ad675bb87a2755154fab4 |
|
BLAKE2b-256 | 04102a2350ac3d24e5be074b853fc6ce50a5072776ec44ccf00317a0de6fc446 |
File details
Details for the file themoviedb-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: themoviedb-1.0.2-py3-none-any.whl
- Upload date:
- Size: 61.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | badf85e91010c7085509f40270bf2a40ea30ee5ef3ed6fb3ec332c5e50adb576 |
|
MD5 | fc3da44317e858820abd7166a734bafb |
|
BLAKE2b-256 | 4ddb8ec611895d2007c67d481b18c9ad38ef13bbb344b05bdcb96fc821556097 |