Skip to main content

An extension of yt-dlp targeting YoutubeDL with pydantic support.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yt_dlp_bonus-0.2.7.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yt_dlp_bonus-0.2.7-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file yt_dlp_bonus-0.2.7.tar.gz.

File metadata

  • Download URL: yt_dlp_bonus-0.2.7.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for yt_dlp_bonus-0.2.7.tar.gz
Algorithm Hash digest
SHA256 3f569b3c9f584b11f6c37c3e2439a8344b77069670a5c273dc1fb2d1d693aaf9
MD5 e0cc5d8b98d5a1b6862676728df761fc
BLAKE2b-256 4f86875bafd80afe576b8c98c917b12ca6c9de50ec51c249833fc3c3782cf9ed

See more details on using hashes here.

File details

Details for the file yt_dlp_bonus-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: yt_dlp_bonus-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for yt_dlp_bonus-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1ee6dd509124c5b204b0d639737e6af0e1d5200f78247b95dede71ad182e35a0
MD5 67334ea9a8d59e3f3b856dc5d6917ec2
BLAKE2b-256 8f2e5f3e57f28cadcdefc48c9e9d7c41016ea4fc3e907511d261482d23df8449

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page