Skip to main content

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


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)

Uploaded Source

Built Distribution

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

ez_yt_dlp-0.2.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

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

Hashes for ez_yt_dlp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d35883d46b2b64bc7296d7dc77290a5043d739549230fa5711bf0eb04df48f56
MD5 2b4ab1683aae1019828e21ec1266a3bb
BLAKE2b-256 4d029191b89b9c1431fd969d8cb694d36bb34f550a0715c88b271a5d31f933ec

See more details on using hashes here.

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

Hashes for ez_yt_dlp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fd8ac27dbe8a2fc9bede027103fdc6a5bc30cbf955ccd63192f158fa2793fdb
MD5 c7e46a52c5d0ddf155deb50aee642838
BLAKE2b-256 99af9aea2b44a5be45e60d9cae5eccbac441d855548ad2e6b32ada848c5ff5b5

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