
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
ayt-api
Advanced tools
A Basic, Asynchronous, Object-Oriented YouTube API Wrapper Written in Python.
The library is designed towards being used in python based discord bots that use an asynchronous discord api wrapper
The latest stable version is available on pypi
python -m pip install -U ayt-api
The pip command can vary between different unix based OSes but should be simular to these:
python3 -m pip install -U ayt-api
# or
pip3 install -U ayt-api
Installing the latest commit from here. You will need git or something simular installed to download the library
python -m pip install -U "git+https://github.com/Revnoplex/ayt-api.git"
The pip command can vary between diffrent unix based OSes but should be simular to these:
python3 -m pip install -U git+https://github.com/Revnoplex/ayt-api.git
# or
pip3 install -U git+https://github.com/Revnoplex/ayt-api.git
First of all to use this library, you will need an API key. To get one, see here for instructions
import asyncio
import ayt_api
api = ayt_api.AsyncYoutubeAPI("Your API Key")
async def video_example():
video_data = await api.fetch_video("Video ID")
print(video_data.id)
print(video_data.channel_id)
print(video_data.url)
print(video_data.title)
print(video_data.thumbnails.default.url)
print(video_data.visibility)
print(video_data.duration)
print(video_data.view_count)
print(video_data.like_count)
print(video_data.embed_html)
print(video_data.published_at)
print(video_data.description)
print(video_data.age_restricted)
loop = asyncio.new_event_loop()
loop.run_until_complete(video_example())
import asyncio
import ayt_api
api = ayt_api.AsyncYoutubeAPI("Your API Key")
async def playlist_example():
playlist_data = await api.fetch_playlist("Playlist ID")
print(playlist_data.id)
print(playlist_data.channel_id)
print(playlist_data.url)
print(playlist_data.title)
print(playlist_data.thumbnails.default.url)
print(playlist_data.visibility)
print(playlist_data.published_at)
print(playlist_data.description)
print(playlist_data.embed_html)
print(playlist_data.item_count)
loop = asyncio.new_event_loop()
loop.run_until_complete(playlist_example())
import asyncio
import ayt_api
api = ayt_api.AsyncYoutubeAPI("Your API Key")
async def playlist_video_example():
playlist_videos = await api.fetch_playlist_videos("Playlist ID")
video = playlist_videos[0]
print(video.id)
print(video.channel_id)
print(video.url)
print(video.title)
print(video.thumbnails.default.url)
print(video.visibility)
print(video.published_at)
print(video.description)
print(video.duration)
loop = asyncio.new_event_loop()
loop.run_until_complete(playlist_video_example())
More examples are listed here
FAQs
A basic, asynchronous, object-oriented YouTube API wrapper written in Python.
We found that ayt-api 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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.