yt-dlp-bonus
This library does a simple yet the Lord's work; extends yt-dlp (YoutubeDL) and adds modelling support to the extracted YoutubeDL results using pydantic.
Installation
pip install yt-dlp-bonus -U
Usage
Search videos
from yt_dlp_bonus import YoutubeDLBonus
yt = YoutubeDLBonus()
search_results = yt.search_and_form_model(
query="hello",
limit=1
)
print(search_results)
Download Video
from yt_dlp_bonus import YoutubeDLBonus, Downloader
video_url = "https://youtu.be/S3wsCRJVUyg"
yt_bonus = YoutubeDLBonus()
extracted_info = yt_bonus.extract_info_and_form_model(url=video_url)
downloader = Downloader(yt=yt_bonus)
downloader.ydl_run(
extracted_info, video_format="bestvideo"
)
Download Audio
from yt_dlp_bonus import YoutubeDLBonus, Downloader
video_url = "https://youtu.be/S3wsCRJVUyg"
yt_bonus = YoutubeDLBonus()
extracted_info = yt_bonus.extract_info_and_form_model(url=video_url)
downloader = Downloader(yt=yt_bonus)
downloader.ydl_run(
extracted_info, video_format=None, audio_format="bestaudio"
)
CLI
Download Video
Usage : $ yt-dlpb download-video <VIDEO-URL>
$ python -m yt_dlp_bonus download-video --help
Usage: python -m yt_dlp_bonus download-video [OPTIONS] URL
Download a youtube video
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * url TEXT Link pointing to a Youtube video [default: None] │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --quality [144p|240p|360p|480p Video quality to │
│ |720p|1080p|2k|4k|8k download │
│ |best] [default: best] │
│ --dir DIRECTORY Directory to save the │
│ video to │
│ [default: │
│ /home/smartwa/git/sm… │
│ --format [webm|mp4] Video format to │
│ process ie. mp4 or │
│ webm │
│ [default: webm] │
│ --quiet --no-quiet Do not stdout │
│ anything │
│ [default: no-quiet] │
│ --subtitle-lang TEXT Subtitle language to │
│ embed in the video │
│ [default: None] │
│ --help Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
Download Audio
Usage : $ yt-dlp download-audio <VIDEO-URL>
$ python -m yt_dlp_bonus download-audio --help
Usage: python -m yt_dlp_bonus download-audio [OPTIONS] URL
Download audio version of a YouTube video
╭─ Arguments ──────────────────────────────────────────────────────────────────╮
│ * url TEXT Link pointing to a Youtube video [default: None] │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --quality [ultralow|low|medium|be Video quality to │
│ staudio] download │
│ [default: bestaudio] │
│ --dir DIRECTORY Directory to save the │
│ video to │
│ [default: │
│ /home/smartwa/git/smart… │
│ --format [webm|mp4] Video format to process │
│ ie. mp4 or webm │
│ [default: webm] │
│ --bitrate [64k|96k|128k|192k|256k Audio bitrate while │
│ |320k] converting to mp3 │
│ [default: None] │
│ --quiet --no-quiet Do not stdout anything │
│ [default: no-quiet] │
│ --help Show this message and │
│ exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
$ python -m yt_dlp_bonus --help
Usage: python -m yt_dlp_bonus [OPTIONS] COMMAND [ARGS]...
Download Youtube videos in a number of formats.
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy │
│ it or customize the installation. │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ download-video Download a youtube video │
│ download-audio Download audio version of a YouTube video │
╰──────────────────────────────────────────────────────────────────────────────╯
[!NOTE] For more information on how to bypass bot detection then consider going through this Wiki.
License
Release files for yt-dlp-bonus 0.2.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| yt_dlp_bonus-0.2.8.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| yt_dlp_bonus-0.2.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.0 kB
Release files / yt_dlp_bonus-0.2.8.tar.gz
| Download URL | yt_dlp_bonus-0.2.8.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a0efe7aee3149bb27b729e40ac72dff0a18ff1461f58670aaece848e69c96096
|
|
BLAKE2b-256 checksum How to use checksums |
95735da1766f7d37db189289a22c87c0091089d01b1e89282e3283ed817fb3a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / yt_dlp_bonus-0.2.8-py3-none-any.whl
| Download URL | yt_dlp_bonus-0.2.8-py3-none-any.whl |
|---|---|
| Size | 19.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bcc15ac458f6f4acd9fe999106cecf8e11e944eb0241cd547a0ebef389f388a7
|
|
BLAKE2b-256 checksum How to use checksums |
3d86c558912f39e8982054d1bbcc4f946418802b069ffccb2325596c70d4202b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|