Asynchronous Python library for The Movie Database (TMDB) API v3
Project description
TMDb Python
tmdb-python, an async Python library for TMDb API.
Overview
The tmdb-python is an 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.9)
pip (Python package manager)
Install
The easiest way to install tmdb-python is via pip.
pip install tmdb-python
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
The first step is to initialize a TMDB object and set your API Key.
import asyncio
from tmdb import route, schema
async def main():
base = route.Base()
base.key = "YOUR_API_KEY"
movies = await route.Movie().search("fight club")
for movie in movies:
print(movie["name"])
movies = movies.to(schema.Movies) # convert `dict` to `schema.Movies`
for movie in movies:
print(movie.name)
asyncio.run(main())
Alternatively, you can export your API key as an environment variable.
$ export TMDB_KEY="YOUR_API_KEY"
And then you will no longer need to set your API key.
import asyncio
from tmdb import route
async def main():
# implicit env var: TMDB_KEY="YOUR_API_KEY"
movies = await route.Movie().popular()
for movie in movies:
print(movie["name"])
asyncio.run(main())
For more information, see the docs.
Configuration
Initialize a TMDB object and set your API Key, language and region.
from tmdb import route
async def main():
base = route.Base()
base.key = "YOUR_API_KEY"
base.language = "pt-BR"
base.region = "BR"
providers = await route.Movie().providers_list()
Alternatively, 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.
async def main():
# implicit env vars: TMDB_KEY="YOUR_API_KEY" TMDB_LANGUAGE="pt-BR" TMDB_REGION="BR"
providers = await route.Movie().providers_list()
You also can set language and region on object instantiation.
async def main():
# implicit env vars: TMDB_KEY="YOUR_API_KEY" TMDB_LANGUAGE="pt-BR" TMDB_REGION="BR"
movies = await route.Movie().discover() # discover with the BR regional release date
movies = await route.Movie(language="en-US", region="US").discover() # discover with the US regional release date
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.