No-boilerplate, async and typed YouTube Data API access.
Project description
Sly YouTube Data API for Python
🚧 This library is an early work in progress! Breaking changes may be frequent.
🐍 For Python 3.10+
No-boilerplate, async, typed access to YouTube Data API 😋
pip install slyytdapi
This library does not have full coverage. All methods are read-only. Currently, the following topics are supported:
- Videos & Playlists
- Channels
- Comment threads
- Video search
- Channel members (requires approval from YouTube)
For collecting statistics about your own channel using the YouTube analytics API, see YTAAPI.
Example usage:
import asyncio
from SlyYTDAPI import *
async def main():
# don't forget to keep your secrets secret!
yt = YouTubeData(open('api_key.txt').read())
my_video = await yt.video('dQw4w9WgXcQ')
print(F"Check this out!\n{my_video.link()}")
# keep it simple
_ = await my_video.comments(limit=10) # list[Comment]
# or opt in to generators
print('\n---\n'.join([
F"{c.author_name} > {c.body}"
async for c in my_video.comments(limit=10)
]))
asyncio.run(main())
Access to YouTube Data API is free is limited by a quota. See YouTube's determine quota cost article for more information.
If you are using OAuth2 instead of an API Key, a CLI is provided to grant credentials to yourself:
# WINDOWS
py -m SlyYTDAPI grant
# MacOS or Linux
python3 -m SlyYTDAPI grant
Both methods require a Google Cloud Console account and project credentials. Please see https://docs.dunkyl.net/SlyAPI-Python/tutorial/oauth2.html for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for SlyYTDAPI-0.4.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 794b3e3851b2f5d45eb8e40f22d2d38a15adf5e034f427f0eb98f6d2c7040e7e |
|
MD5 | 34c46e659efc03564ed20ff3bfad9cbe |
|
BLAKE2b-256 | a390b27520cf5ab7753899f4dffb37c08df59d3bd6b36e0f459b62f2355f2c3b |