Skip to main content

A Python wrapper for TMDb API

Project description

yelp

ezapi-tmdb

pytest Code style: black all-contributors PyPI - License PyPI - Python Version PyPI Downloads

A Python wrapper for TMDb API, supporting version 3 and 4

Install

From PyPi

pip install ezapi-tmdb

From GitHub

pip install git+https://github.com/zehengl/ezapi-tmdb.git

Usage

  1. All endpoints are mapped to functions in a TMDb object
  2. All query string params are used as keyword arguments

Version 3 Example

See Version 3 documents for detailed API usage.

from tmdb import TMDb3

api_key = "..."

tmdb = TMDb3(api_key)

# query string params are used as keyword arguments
print(tmdb.get_popular_movies(region="US"))
print(tmdb.get_tvs_on_the_air(page=10))

# create session_id with username/password login
username = "..."
password = "..."
request_token = tmdb.create_request_token().get("request_token")
tmdb.create_session_with_login(username, password, request_token)
session_id = tmdb.create_session(request_token).get("session_id")

# some endpoints require session_id
print(tmdb.get_account_details(session_id=session_id))

# store global options, language / region for example
tmdb.set_options(language="de", region="de")
tmdb.get_trending("all", "week")

# reset global options
tmdb.reset_options()

# configure image languages globally
tmdb.set_options(include_image_language=["en", "null"])
tmdb.get_movie_images(597)

# url param per request would overwrite global options
tmdb.get_movie_images(597, include_image_language=["de", "fr"])

Version 4 Example

See Version 4 documents for detailed API usage.

from tmdb import TMDb4

# API Read Access Token from the settings page
access_token = "..."

tmdb = TMDb4(access_token)

# create a user access token
request_token = tmdb.create_request_token().get("request_token")
print(f"https://www.themoviedb.org/auth/access?request_token={request_token}")

# click on the link above, sign in, then approve access
resp = tmdb.create_access_token(request_token)

# extract the user access token and account id for v4 api
user_access_token = resp.get("access_token")
account_id = resp.get("account_id")

tmdb.update_access_token(user_access_token)

tmdb.get_list(14105)
tmdb.get_account_favorite_movies(account_id)

Test

git clone git@github.com:zehengl/ezapi-tmdb.git
cd ezapi-tmdb
export tmdb_api_key="..."
export tmdb_username="..."
export tmdb_password="..."
export tmdb_access_token="..."
python -m venv .venv
source .venv/bin/activate
pip install -e .
pip install -r requirements-test.txt
pytest

Use $Env:tmdb_api_key="..." , $Env:tmdb_username="...", $Env:tmdb_password="...", and $Env:tmdb_access_token="..." to set the api key, username, password, and access token environment variables on Windows.

Credits

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Cologler
Cologler

💻
Rafael Pierre
Rafael Pierre

💻
joselimajr
joselimajr

🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezapi-tmdb-0.8.3.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

ezapi_tmdb-0.8.3-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file ezapi-tmdb-0.8.3.tar.gz.

File metadata

  • Download URL: ezapi-tmdb-0.8.3.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.4

File hashes

Hashes for ezapi-tmdb-0.8.3.tar.gz
Algorithm Hash digest
SHA256 d46aaaf8f05b9d2fdfed78e31fe5098f6d27da3a71fd2963af4f06888c2d2973
MD5 3d788ac66c0cded630f72a7e317daaf6
BLAKE2b-256 6a6ec8f2c8778e5204e0cb908cfa3159a1a83fba5a6f38291bf5dc0a2934f022

See more details on using hashes here.

File details

Details for the file ezapi_tmdb-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: ezapi_tmdb-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.4

File hashes

Hashes for ezapi_tmdb-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e7f769111553911722107b0515215d6f81f86897a0c9a2c0bf9a45fd57bfc281
MD5 cf3606b204935e66aceae81163e0595a
BLAKE2b-256 6221f1ba05835adea70e1c58a4f6a12aed738b3a347f15fbcd53a1faa8b0707a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page