Small wrapper around yt-dlp for common downloads
Project description
ez-yt-dlp
Small, focused wrapper around yt-dlp to make common downloads easier.
This is a single-file Python module that provides a clean CLI for downloading videos and audio from YouTube and other sites supported by yt-dlp.
Features
- Simple CLI - argparse-based with sensible defaults
- Interactive mode - Run without arguments for guided prompts
- Video/Audio modes - Download video (mp4) or extract audio (mp3, m4a, etc.)
- Playlist support - Download single items or entire playlists
- Dry-run - Preview commands before executing
- Auto-install - Attempts to install yt-dlp if missing (can be disabled)
Install
From source
# Install dependency (optional if you already have yt-dlp)
python3 -m pip install --user -r requirements.txt
# Run directly
python3 ez_yt_dlp.py --help
# Or install as a package
python3 -m pip install --user .
Make executable (optional)
chmod +x bin/ez-yt-dlp
cp bin/ez-yt-dlp ~/bin/
Usage
Interactive mode
ez-yt-dlp
# or
python3 ez_yt_dlp.py
Command-line mode
# Download video (default)
ez-yt-dlp "https://www.youtube.com/watch?v=..."
# Download audio (mp3)
ez-yt-dlp --audio "https://www.youtube.com/watch?v=..."
# Download audio playlist as m4a
ez-yt-dlp --audio --format m4a --playlist "https://..."
# Custom output directory
ez-yt-dlp --output ~/Downloads "https://..."
# Dry-run (preview command)
ez-yt-dlp --dry-run --audio "https://..."
# Don't auto-install yt-dlp
ez-yt-dlp --no-install "https://..."
Options
positional arguments:
url URL to download (if omitted, interactive mode starts)
optional arguments:
-h, --help Show help message
-v, --video Download video (default)
-a, --audio Extract audio
-p, --playlist Download entire playlist
-o, --output DIR Save directory (default: ~/Videos)
-f, --format FMT Audio format with --audio (e.g., mp3, m4a)
--dry-run Print command without executing
--no-install Don't auto-install yt-dlp
--version Show version and exit
Development
Run tests
python3 -m pytest -v
# or without pytest
python3 tools/run_tests_no_pytest.py
Project structure
ez-yt-dlp/
├── ez_yt_dlp.py # Main module
├── bin/ez-yt-dlp # Executable wrapper
├── tests/test_cli.py # Test suite
├── pyproject.toml # Package config
└── README.md # This file
Requirements
- Python 3.8+
- yt-dlp (auto-installed if missing)
License
MIT
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
ez_yt_dlp-0.2.0.tar.gz
(7.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ez_yt_dlp-0.2.0.tar.gz.
File metadata
- Download URL: ez_yt_dlp-0.2.0.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d35883d46b2b64bc7296d7dc77290a5043d739549230fa5711bf0eb04df48f56
|
|
| MD5 |
2b4ab1683aae1019828e21ec1266a3bb
|
|
| BLAKE2b-256 |
4d029191b89b9c1431fd969d8cb694d36bb34f550a0715c88b271a5d31f933ec
|
File details
Details for the file ez_yt_dlp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ez_yt_dlp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fd8ac27dbe8a2fc9bede027103fdc6a5bc30cbf955ccd63192f158fa2793fdb
|
|
| MD5 |
c7e46a52c5d0ddf155deb50aee642838
|
|
| BLAKE2b-256 |
99af9aea2b44a5be45e60d9cae5eccbac441d855548ad2e6b32ada848c5ff5b5
|