Metadata-Version: 2.1
Name: youtubepy
Version: 6.0.2
Summary: youtubepy is a package to search for youtube videos with python
Home-page: https://github.com/toxicrecker/youtubepy
Author: toxicrecker
Author-email: reck.channel.mainlead@gmail.com
License: UNKNOWN
Description: # youtubepy
        youtubepy is a package to search for youtube videos through python code.
        
        # Installation
        
        ```
        pip install youtubepy
        ```
        
        OR
        
        ```
        pip3 install youtubepy
        ```
        
        # Usage
        
        ## Video class
        ```python
        from youtubepy import Video
        video = Video("me at the zoo")
        result = video.search()
        print(result)
        
        > https://www.youtube.com/watch?v=A8AlbaDmaec
        ```
        
        ### SafeSearch Filter
        ```python
        from youtubepy import Video
        video = Video("fuck", safesearch=True)
        result = video.search()
        print(result)
        
        > "youtubepy.BlockedWordError: A blocked word detected in the result video! Don't use safesearch to ignore this error!"
        ```
        
        Functions available in Video class
        ```
        search() - Returns video url
        source_url() - Returns the source url of the video
        audio_source() - Returns the audio source url of the video
        download(/path/to/directory/filename.mp4) - Downloads the video
        audio_download(/path/to/directory/filename.mp3) - Downloads the audio of a youtube video
        title() - Returns video title
        description() - Returns description of the video
        channel_url() - Returns the url of the channel that published the video
        channel_name() - Returns the name of the channel that published the video
        published_date() - Returns the date the video was published to YouTube
        thumbnail_url() - Returns thumbnail url of the video
        thumbnail_save(/path/to/directory/filename.jpg) - Saves the thumbnail of the video, if path is not given, saves to the path in which the script is saved
        duration() - Returns duration of the video
        view_count() - Returns view count of the video
        like_count() - Returns like count of the video
        dislike_count() - Returns dislike count of the video
        average_rating() - Returns average rating of the video
        ```
        
        ## ExtractData class
        ```python
        from youtubepy import ExtractData
        video = ExtractData("https://youtu.be/A8AlbaDmaec")
        title = video.title()
        print(title)
        
        > Me at the zoo - 4k Upscaled, 60 FPS
        ```
        
        Functions available in ExtractData class
        ```
        source_url() - Returns the source url of the video
        audio_source() - Returns the audio source url of the video
        download(/path/to/directory/filename.mp4) - Downloads the video
        audio_download(/path/to/directory/filename.mp3) - Downloads the audio of a youtube video
        title() - Returns video title
        description() - Returns description of the video
        channel_url() - Returns the url of the channel that published the video
        channel_name() - Returns the name of the channel that published the video
        published_date() - Returns the date the video was published to YouTube
        thumbnail_url() - Returns thumbnail url of the video
        thumbnail_save(/path/to/directory/to/save/filename.jpg) - Saves the thumbnail of the video, if path is not given, saves to the path in which the script is saved
        duration() - Returns duration of the video
        view_count() - Returns view count of the video
        like_count() - Returns like count of the video
        dislike_count() - Returns dislike count of the video
        average_rating() - Returns average rating of the video
        ```
        
        This package also has asynchronous working classes that are used in discord.py for creating non-blocking commands!
        
        ## AsyncVideo class
        ```python
        #discord.py example!
        
        import discord
        import asyncio
        import youtubepy
        from discord.ext import commands
        
        bot = commands.Bot(command_prefix="!")
        
        @bot.command()
        async def youtube(ctx, query):
        	video = youtubepy.AsyncVideo("spooky scary skeletons")
        	url = await video.search()
        	await ctx.send(url)
        ```
        
        Functions of AsyncVideo class are same as Video class
        
        ## AsyncExtractData class
        ```python
        #Not a discord.py example!
        
        import youtubepy
        import asyncio
        
        async def get_title():
        	video = youtubepy.AsyncExtractData("https://youtu.be/XTgFtxHhCQ0")
        	title = await video.title()
        	print(title)
        	
        asyncio.run(get_title())
        ```
        
        Functions of AsyncExtractData class are same as ExtractData class
        
        It is highly recommended to use the asynchronous classes while using youtubepy in discord.py as using non-asynchronous classes in discord.py can make your code extremely blocking! In simple language, using non-asynchronous classes in discord.py is same as using time.sleep() in your bot code!
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
