Socket
Socket
Sign inDemoInstall

aiotube

Package Overview
Dependencies
1
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    aiotube

Access YouTube Public Data without YouTube API


Maintainers
1

Readme

|Release|

.. |Release| image:: https://github.com/jnsougata/aiotube/actions/workflows/publish.yml/badge.svg :target: https://github.com/jnsougata/aiotube/actions/workflows/publish.yml

aiotube

A library to access YouTube Public Data without YouTubeAPI

  • Discord <https://discord.gg/YAFGAaMrTC>_
  • GitHub <https://github.com/jnsougata/AioTube>_
  • REST API (BETA) <https://aiotube.deta.dev/>_

Table of Contents

  • Installation <#installing>_
  • Building <#build-from-source>_
  • Quick Start <#quick-start>_
  • Usage <#usage>_
  • Channel <#channel>_
  • Video <#video>_
  • Playlist <#playlist>_

Installing

Python 3.6 or higher is required

.. code:: sh

# Linux/macOS
python3 -m pip install -U aiotube

.. code:: sh

# Windows
python -m pip install -U aiotube

Build from source

.. code:: sh

pip install git+https://github.com/jnsougata/aiotube

Quick Start

.. code:: py

import aiotube


channel = aiotube.Channel('UCU9FEimjiOV3zN_5kujbCMQ')
print(channel.metadata)  # channel metadata in dict format


video = aiotube.Video('WVDT4lSozHk')
print(video.metadata)  # video metadata in dict format


playlist = aiotube.Playlist('PL-xXQjd8X_Q-xXQjd8X_Q-xXQjd8X_Q-')
print(playlist.metadata)  # playlist metadata in dict format


search = aiotube.Search.video('YouTube Rewind 2018')
print(search.metadata)  # searched video metadata in dict format


search = aiotube.Search.channel('PewDiePie')
print(search.metadata)  # searched channel metadata in dict format


search = aiotube.Search.playlist('Unlock Your Third Eye')
print(search.metadata)  # searched playlist metadata in dict format

Usage

Channel

.. csv-table::
   :header: "Method", "Return Type", "Description"
   :widths: 80, 80, 100


   "live()", "bool", "Returns True if the channel is live"
   "streaming_now()", "Video", "Returns the video the channel is streaming now"
   "current_streams()", "List[str]", "Returns a list of ids of currently streaming videos"
   "old_streams()", "List[str]", "Returns a list of ids of previously streaming videos"
   "video_count()", "int", "Returns the number of videos uploaded by the channel"
   "upcoming()", "Video", "Returns a video object of the upcoming video"
   "upcomings()", "List[str]", "Returns a list of ids of upcoming videos"
   "playlists()", "List[str]", "Returns a Playlist object"
   "uploads(limit: int)", "List[str]", "Returns a list of video ids of the uploaded videos"
   "last_uploaded()", "Video", "Video object of the most recently uploaded video"
   "last_streamed()", "Video", "Video object of the most recently streamed video"

.. csv-table::
   :header: "Properties", "Return Types", "Description"
   :widths: 80, 80, 100

   "metadata", "dict", "Returns the metadata of the channel in dict format"


Video
~~~~~
.. csv-table::
   :header: "Properties", "Return Types", "Description"
   :widths: 80, 80, 100

   "metadata", "Dict[str, Any]", "dictionary of video metadata"


Playlist

.. csv-table:: :header: "Property", "Return Type", "Description" :widths: 80, 80, 100

"metadata", "Dict[str, Any]", "dictionary of playlist metadata"

Search

.. csv-table::
   :header: "Methods", "Return Types", "Description"
   :widths: 80, 80, 100

   "channel(name: str)", "Channel", "Channel object of the channel with the given keywords"
   "video(name: str)", "Video", "Video object of the video with the given keywords"
   "playlist(name: str)", "Playlist", "Playlist object of the playlist with the given keywords"
   "channels(name: str, limit: int)", "List[str]", "list of channel ids of the channels found with the given keywords"
   "videos(name: str, limit: int)", "List[str]", "list of video ids of the videos found with the given keywords"
   "playlists(name: str, limit: int)", "List[str]", "list of playlist ids of the playlists found with the given keywords"

Keywords

FAQs


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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc