Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
tmdbsimple is a wrapper, written in Python, for The Movie Database (TMDb) API v3. By calling the functions available in tmdbsimple you can simplify your code and easily access a vast amount of movie, tv, and cast data. To learn more about The Movie Database API, check out the overview and documentation.
tmdbsimple is available on the Python Package Index (PyPI) at https://pypi.python.org/pypi/tmdbsimple.
You can install tmdbsimple using one of the following techniques.
pip install tmdbsimple
If you install it yourself, also install requests.
You will need an API key to The Movie Database to access the API. To obtain a key, follow these steps:
Once you have the tmdbsimple package installed and a TMDb API key, you can start to play with the data.
First, import the library and assign your API_KEY.
import tmdbsimple as tmdb
tmdb.API_KEY = 'YOUR_API_KEY_HERE'
Optionally, set a timeout for requests. See here for more info.
tmdb.REQUESTS_TIMEOUT = 5 # seconds, for both connect and read
or
tmdb.REQUESTS_TIMEOUT = (2, 5) # seconds, for connect and read specifically
Optionally, configure the library to use your own REQUESTS_SESSION. See here for more info.
import requests
tmdb.REQUESTS_SESSION = requests.Session()
To communicate with The Movie Database API, create an instance of one of the object types, call one of the methods on the instance, and access the instance attributes. Use keys to access the values of attributes that are dictionaries. In this example, we create a movie instance for 'The Matrix' and determine the budget and certification.
>>> movie = tmdb.Movies(603)
>>> response = movie.info()
>>> movie.title
'The Matrix'
>>> movie.budget
63000000
>>> response = movie.releases()
>>> for c in movie.countries:
... if c['iso_3166_1'] == 'US':
... print(c['certification'])
...
'R'
Let's play with the interface a bit more. Suppose you and your friend are arguing over which movie in the Bourne series was most popular. Your friend says the first in a series is always most popular. You disagree.
>>> search = tmdb.Search()
>>> response = search.movie(query='The Bourne')
>>> for s in search.results:
... print(s['title'], s['id'], s['release_date'], s['popularity'])
...
The Bourne Ultimatum 2503 2007-08-03 55.2447062124256
The Bourne Supremacy 2502 2004-07-23 43.4553609681985
The Bourne Identity 2501 2002-06-06 38.5531563780592
The Bourne Legacy 49040 2012-08-10 9.90635210153143
The Bourne Identity 8677 1988-05-08 1.53988446573129
Bette Bourne: It Goes with the Shoes 179304 0.23
You are correct! Now you claim the producers should be able to make sequels cheaper, based on what they learned from making the first movie. To be fair, you compute the budget per minute of runtime. Your friend disagrees, claiming the producers spend more money trying to out do the previous sequel.
>>> identity = tmdb.Movies(2501)
>>> response = identity.info()
>>> identity.budget, identity.runtime
(60000000, 119)
>>> int(identity.budget/identity.runtime)
504201
>>> supremacy = tmdb.Movies(2502)
>>> response = supremacy.info()
>>> supremacy.budget, supremacy.runtime
(75000000, 108)
>>> int(supremacy.budget/supremacy.runtime)
694444
>>> ultimatum = tmdb.Movies(2503)
>>> response = ultimatum.info()
>>> ultimatum.budget, ultimatum.runtime
(70000000, 115)
>>> int(ultimatum.budget/ultimatum.runtime)
608695
In this case you are both correct. The third movie was cheaper than the second, which was more expensive than the first.
You also can call one of the methods without explicitly instanciating an object.
>>> response = tmdb.Movies(603).info()
>>> response['budget']
63000000
If you use Authentication to access a user Account, be sure to check out https://www.themoviedb.org/documentation/api/sessions.
If you like this wrapper, and would like access to even more movie and TV data, check out rtsimple https://pypi.python.org/pypi/rtsimple, a wrapper for the Rotten Tomatoes API.
FAQs
A Python wrapper for The Movie Database API v3
We found that tmdbsimple demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.