Metadata-Version: 2.1
Name: ytpy
Version: 2021.1.31
Summary: Python asynchronous wrapper to get youtube data.
Home-page: https://github.com/madeyoga/ytpy
Author: yeogaa
Author-email: yeogaa02@gmail.com
License: UNKNOWN
Description: # ytpy
        [![CodeFactor](https://www.codefactor.io/repository/github/madeyoga/ytpy/badge)](https://www.codefactor.io/repository/github/madeyoga/ytpy)
        [![Downloads](https://pepy.tech/badge/ytpy)](https://pepy.tech/project/ytpy)
        ![pypi-version](https://img.shields.io/pypi/v/ytpy)
        [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/MadeYoga/aio-ytpy/issues)
        [![Discord Badge](https://discordapp.com/api/guilds/458296099049046018/embed.png)](https://discord.gg/Y8sB4ay)
        
        Python wrapper to extract youtube data. Simple *asynchronous* wrapper to get youtube video or playlist data.
        The purpose of this project is to make it easier for developers to extract data from YouTube.
        
        ## Requirements
        - Python 3.x
        - [Get Google API' Credential 'API KEY'](https://developers.google.com/youtube/registering_an_application) for `YoutubeApiV3Client` only
        
        ## Dependencies
        - urllib
        - aiohttp
        
        ## Install
        ```bash 
        pip install --upgrade ytpy
        ```
        
        ### Basic Usage 
        
        #### Search Video by `Keywords` without api key.
        
        params:
        - `q`, string. Search key. default: empty string.
        - `max_results`
        
        Example `Search` method (Without api key)
        ```py
        from ytpy import YoutubeClient
        import asyncio
        import aiohttp
        
        async def main(loop):
            session = aiohttp.ClientSession()
        
            client = YoutubeClient(session)
            
            response = await client.search('chico love letter')
            print(response)
        
            await session.close()
        
        loop = asyncio.get_event_loop()
        loop.run_until_complete(main(loop))
        
        ```
        
        #### Search Video by `Keywords` with YoutubeApiV3Client
        https://developers.google.com/youtube/v3/docs/search
        
        params:
        - `q`, string. Search key. default: empty string.
        - `part`, string. Valid parts: snippet, contentDetails, player, statistics, status. default: snippet.
        - `type`, string. Valid types: video, playlist, channel.
        
        Example `Search` method
        ```py
        import os
        import asyncio
        import aiohttp
        from ytpy import YoutubeApiV3Client
        
        async def main(loop):
            session = aiohttp.ClientSession()
            
            # Pass the aiohttp client session
            ayt = YoutubeApiV3Client(session, dev_key=os.environ["DEVELOPER_KEY"])
            
            # test search
            results = await ayt.search(q="d&e lost", 
                                       search_type="video",
                                       max_results=1)
            print(results)
        
            await session.close()
        
        loop = asyncio.get_event_loop()
        loop.run_until_complete(main(loop))
        loop.close()
        ```
        
        
        ### Examples
        Check [examples](https://github.com/madeyoga/ytpy/tree/master/examples) for the full code example 
        
        
        ## Contributing
        Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
        
        Please make sure to update tests/examples as appropriate.
        
Keywords: youtube-api-v3 python youtube-search asynchronous
Platform: UNKNOWN
Description-Content-Type: text/markdown
