Skip to main content

yt-dlp-bonus

Python version License PyPi Latest release Black Downloads Total hits

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

The Unlicense

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)

Source distribution for yt-dlp-bonus 0.2.8
File Size Uploaded
yt_dlp_bonus-0.2.8.tar.gz 21.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yt-dlp-bonus 0.2.8
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.2.8 This release

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page