Skip to main content

๐Ÿง› The Dracula โ€” A powerful YouTube downloader CLI + TUI powered by yt-dlp

Project description

๐Ÿง› The Dracula โ€” YouTube Downloader CLI

  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— 
  โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—
  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘
  โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•
  โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
  โ•‘   ๐Ÿง› The Dracula  ยท  YouTube Downloader CLI  v1.0.1    โ•‘
  โ•‘      Powered by yt-dlp  ยท  Rising from the dark...     โ•‘
  โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

A powerful, dark-themed YouTube Downloader CLI built with Python and yt-dlp.
Download videos, audio, and full playlists โ€” all from the terminal.


โœจ Features

Feature Description
๐ŸŽฌ Video Download Download any YouTube video with quality selector
๐ŸŽต Audio Only Extract audio as MP3, M4A, WAV, FLAC, OPUS
๐Ÿ“‹ Playlist Download entire playlists (video or audio)
๐Ÿ“Š Format Lister View all available formats/qualities for a URL
๐ŸŽจ Rich TUI Coloured progress bars, ASCII art header
๐Ÿ–ฅ๏ธ Interactive Menu-driven interactive mode (no args needed)

๐Ÿ“ฆ Installation & Update

1. Install via PyPI (Recommended)

To install the latest version of The Dracula globally from PyPI, run:

pip install dracula-dl

[!NOTE] Unlike npm which uses @latest to install the latest package version, Python's pip installs the latest version by default.

2. Upgrade to the Latest Version

To upgrade an existing installation to the latest version, run:

pip install --upgrade dracula-dl

[!NOTE] pip does not have a separate upgrade subcommand; instead, it uses the --upgrade (or -U) flag to fetch the latest version.

3. Install from Source (Local Development)

If you are running or developing from the source repository:

pip install -r requirements.txt

2. Install FFmpeg (required for merging video+audio and audio extraction)

Windows (via winget):

winget install --id=Gyan.FFmpeg -e

Windows (via Chocolatey):

choco install ffmpeg

macOS:

brew install ffmpeg

Linux (Ubuntu/Debian):

sudo apt install ffmpeg

๐Ÿš€ Usage

Interactive Mode (recommended for beginners)

If you installed via pip, just run:

dracula

If you are running directly from the source code:

python dracula.py

You'll get a full interactive TUI menu to guide you.


Command Line Mode

Download a Video

# Best quality (default)
python dracula.py video -u "https://youtube.com/watch?v=..."

# Specific quality
python dracula.py video -u "https://youtube.com/watch?v=..." -q 1080p
python dracula.py video -u "https://youtube.com/watch?v=..." -q 720p
python dracula.py video -u "https://youtube.com/watch?v=..." -q 4k

# Specific format ID (from formats command)
python dracula.py video -u "https://youtube.com/watch?v=..." -f 137

# Custom output directory
python dracula.py video -u "https://youtube.com/watch?v=..." -q 1080p -o "C:\Videos"

Quality Options: best | 4k | 1440p | 1080p | 720p | 480p | 360p | worst


Download Audio Only

# Default: MP3 at 192kbps
python dracula.py audio -u "https://youtube.com/watch?v=..."

# High quality MP3
python dracula.py audio -u "https://youtube.com/watch?v=..." -f mp3 -b 320

# FLAC lossless
python dracula.py audio -u "https://youtube.com/watch?v=..." -f flac

# M4A format
python dracula.py audio -u "https://youtube.com/watch?v=..." -f m4a -b 256

Format Options: mp3 | m4a | wav | flac | opus | aac
Bitrate Options: 128 | 192 | 256 | 320


Download a Playlist

# Full playlist at 720p
python dracula.py playlist -u "https://youtube.com/playlist?list=..."

# Full playlist at 1080p
python dracula.py playlist -u "https://youtube.com/playlist?list=..." -q 1080p

# Playlist as audio only (MP3)
python dracula.py playlist -u "https://youtube.com/playlist?list=..." --audio-only

# Playlist as FLAC audio
python dracula.py playlist -u "https://youtube.com/playlist?list=..." --audio-only -f flac

# Download items 5 through 10 only
python dracula.py playlist -u "https://youtube.com/playlist?list=..." --start 5 --end 10

List Available Formats

python dracula.py formats -u "https://youtube.com/watch?v=..."

This shows a full table of all format IDs, resolutions, codecs, and file sizes.


๐Ÿ“ Output Location

By default, files are saved to:

~/Downloads/Dracula/

Playlists are saved in a subfolder named after the playlist:

~/Downloads/Dracula/<Playlist Title>/01 - Video Title.mp4
~/Downloads/Dracula/<Playlist Title>/02 - Video Title.mp4

Use -o <path> to change the output directory for any command.


๐Ÿง› The Dracula Commands Summary

If installed via pip:

dracula                                 # Interactive menu
dracula video    -u URL                 # Download video
dracula audio    -u URL                 # Download audio only
dracula playlist -u URL                 # Download playlist
dracula formats  -u URL                 # List formats

If running from the source code:

python dracula.py                       # Interactive menu
python dracula.py video    -u URL       # Download video
python dracula.py audio    -u URL       # Download audio only
python dracula.py playlist -u URL       # Download playlist
python dracula.py formats  -u URL       # List formats

โš™๏ธ Full Option Reference

video command

Flag Short Default Description
--url -u required YouTube video URL
--quality -q best Quality: best/4k/1440p/1080p/720p/480p/360p/worst
--format-id -f โ€” Specific yt-dlp format ID
--output -o ~/Downloads/Dracula Output directory

audio command

Flag Short Default Description
--url -u required YouTube video URL
--format -f mp3 Audio format: mp3/m4a/wav/flac/opus/aac
--bitrate -b 192 Bitrate in kbps: 128/192/256/320
--output -o ~/Downloads/Dracula Output directory

playlist command

Flag Short Default Description
--url -u required Playlist URL
--quality -q 720p Video quality
--audio-only โ€” off Download audio only
--format -f mp3 Audio format (with --audio-only)
--start โ€” โ€” Start at item number
--end โ€” โ€” End at item number
--output -o ~/Downloads/Dracula Output directory

๐Ÿ”ง Requirements


๐Ÿ“œ License

MIT โ€” Free to use, modify, and distribute.


๐Ÿง› The Dracula rises on PyPI โ€” and the world shall download in darkness.


Made with โค๏ธ by Ajaymyth
๐Ÿ“ง javaliajayakumar8574@gmail.com

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

dracula_dl-1.0.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

dracula_dl-1.0.1-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file dracula_dl-1.0.1.tar.gz.

File metadata

  • Download URL: dracula_dl-1.0.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dracula_dl-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7f8120f1bab2ea248ebe877fcac16890c23f4baa3d2e7ec70a390602401322ba
MD5 8d899a49e761aaa594360aae208fe9d0
BLAKE2b-256 1ec6ee5317b6a1585df13c42d0005b6b882cc8104538d195e696118ff4ab8565

See more details on using hashes here.

File details

Details for the file dracula_dl-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: dracula_dl-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dracula_dl-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c3caa1ec92cec05bd58a0ac578e95d90cdfa6be9d9d24c9a3e57bd115371e99
MD5 c2dd4c0f482f6f1d3647792691d0c681
BLAKE2b-256 f8d2af2a1574dacf72a45ab279dd83af15789544e7f064279d0c5182d6f0baf8

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