Metadata-Version: 1.2
Name: themoviedb
Version: 0.3.3
Summary: A modern and easy to use API wrapper for The Movie Database (TMDb) API v3 written in Python
Home-page: https://github.com/leandcesar/themoviedb
Author: Leandro César
Author-email: ccleandroc@gmail.com
License: MIT
Description: |Code Quality Score| |Code Grade| |Code Coverage| |PyPI Version| |Code style: black| |PyPI License|
        
        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) <https://www.themoviedb.org>`__ is a
        community built movie and TV database.
        
        The `TMDb API <https://www.themoviedb.org/documentation/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 <https://www.themoviedb.org/account/signup>`__ 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
        
        API Key
        -------
        
        You will need an API key to The Movie Database to access the API. To
        obtain a key, follow these steps:
        
        1. `Register <https://www.themoviedb.org/account/signup>`__ for and
           verify an account.
        2. `Log <https://www.themoviedb.org/login>`__ into your account.
        3. Select the `API section <https://www.themoviedb.org/settings/api>`__
           on left side of your account page.
        4. Click on the link to generate a new API key and follow the
           instructions.
        
        Usage
        =====
        
        Sync mode
        ---------
        
        .. code:: python
        
            from themoviedb import TMDb
        
        Async mode
        ----------
        
        .. code:: python
        
            from themoviedb import aioTMDb
        
        Configuration
        -------------
        
        Initialize a TMDb object and set your API Key, language and region.
        
        .. code:: python
        
            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.
        
        .. code:: python
        
            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.
        
        .. code:: bash
        
            $ 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.
        
        .. code:: python
        
            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).
        
        .. code:: py
        
            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).
        
        .. code:: py
        
            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.
        
        .. code:: py
        
            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.
        
        .. code:: py
        
            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())
        
        .. |Code Quality Score| image:: https://api.codiga.io/project/36067/score/svg
           :target: https://app.codiga.io/hub/project/36067/themoviedb
        .. |Code Grade| image:: https://api.codiga.io/project/36067/status/svg
           :target: https://app.codiga.io/hub/project/36067/themoviedb
        .. |Code Coverage| image:: https://codecov.io/gh/leandcesar/themoviedb/branch/master/graph/badge.svg?token=OOILIE0RTS 
           :target: https://codecov.io/gh/leandcesar/themoviedb
        .. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
           :target: https://github.com/psf/black
        .. |PyPI Version| image:: https://img.shields.io/pypi/v/themoviedb?color=blue
           :target: https://pypi.org/project/themoviedb/
        .. |PyPI License| image:: https://img.shields.io/pypi/l/themoviedb.svg
           :target: https://img.shields.io/pypi/l/themoviedb.svg
        
Keywords: tmdb,tmdb3,aiotmdb,aiotmdb3,themoviedb,themoviedb3,sync,async,await,aio,movie,movies,tv,tv show,tv shows,api,wrapper
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.7
