A small desktop YouTube downloader using Python 3, Tkinter, and yt-dlp.
python3-tk package
if needed.Create and activate a virtual environment (recommended):
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
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.
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:
The standard-library tests do not access the network:
python -m unittest -v