yt

YouTube Downloader

A small desktop YouTube downloader using Python 3, Tkinter, and yt-dlp.

Setup

  1. Install Python 3.10 or newer. Tkinter is included with most Python installations; on Linux, install the distribution’s python3-tk package if needed.
  2. Create and activate a virtual environment (recommended):

    python -m venv .venv
    # Windows
    .venv\Scripts\activate
    # macOS/Linux
    source .venv/bin/activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    

For MP4 merging or audio conversion, install FFmpeg and ensure its executable is on your PATH. The application can still download formats that do not require post-processing without FFmpeg.

Run

python app.py

Paste an HTTP(S) video URL, choose an output folder and format, then select Download. Downloads run in a worker thread so the window remains responsive. Cancel requests cancellation at the next yt-dlp progress callback.

Available formats:

Tests

The standard-library tests do not access the network:

python -m unittest -v