Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

646 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyTube Downloader

PyTube Downloader

Simple. Fast. Powerful YouTube Downloader.

🚀 SourceForge✨ Features📦 Getting Started🤝 Contributing

Language: 中文 Download (Latest) License: MIT Python UI Version CI


PyTube Downloader is a modern, user-friendly application that makes downloading YouTube videos and playlists effortless. With support for multiple formats, quality levels (144p–8K), and simultaneous downloads, it gives you complete control over your YouTube media experience.

   Download PyTube Downloader


🖥️ User Interface Preview

Preview


✨ Features

  • 🎞️ Playlist Downloading — Download entire playlists from a single URL.

  • 🎚️ Format & Quality Selection — Choose from multiple formats (MP4, MP3, etc.) and qualities (144p–8K).

  • 📊 Progress Tracking — Monitor downloads directly in the app.

  • Simultaneous Downloads — Save time with multiple concurrent downloads.

  • ⚙️ Automatic Downloads with Predefined Settings — Set your preferred video quality, audio format, and download location once — PyTube will handle the rest.

  • 🗂️ Dynamic Folder Organization — Automatically sorts files by playlist, quality, or type.

  • 🌐 Multi-Language Support — Enjoy the app in your language:

    Language Contributor
    English -
    中文 (Chinese)
    සිංහල (Sinhala)
    தமிழ் (Tamil)
    Русский (Russian)

    💡 Help us improve existing translations or add new ones.

  • 🖥️ Cross-Platform Support — Runs on Windows, Linux, and macOS.

  • 📝 Structured Logging — Rotating file logs for easier debugging.

  • 🔄 GitHub Actions CI/CD — Automated linting (ruff), formatting, type checking (mypy), and testing (pytest) on every push and PR.

  • 🛡️ Improved Error Handling & Performance — Better resilience and reduced CPU usage via event-driven threading.

  • ⌨️ Keyboard Shortcuts — Control the app easily with quick-access shortcut keys.


⚙️ Tech Stack

Category Technologies
Language Python 3.10+
Libraries tkinter, customtkinter, pytubefix, pillow, pyautogui, pystray, pyperclip, hPyT (optional), win11toast (optional), ctkchart
Dev Tools ruff, mypy, pytest, pre-commit
External Tool FFmpeg (for video/audio processing)
Platform Windows, Linux, macOS

🧭 Quick Start Guide

1️⃣ Clone the Repository

git clone https://github.com/Thisal-D/PyTube-Downloader.git
cd PyTube-Downloader

2️⃣ Install Dependencies (Recommended)

pip install -e .

This installs the app and creates the pytube-downloader CLI entry point.

Alternatively, run python dependencies_installer.py && python dependencies_updater.py.

3️⃣ Install FFmpeg

  • Linux/macOS: FFmpeg is used automatically from your system PATH if available.

  • Windows: Download from FFmpeg.org, extract and copy ffmpeg.exe into:

    PyTube-Downloader/ffmpeg/
    

Note

Windows-only dependencies (win11toast, hPyT) are optional. The app runs on Linux/macOS without them.

4️⃣ Configuration

Copy .env.example to .env and edit as needed.

5️⃣ Run the Application

python main.py

Or use the installed entry point:

pytube-downloader

6️⃣ Download Videos

  1. Paste a YouTube video or playlist URL.
  2. Choose Single Video or Playlist Mode.
  3. Select your desired format and quality.
  4. Click Download and track progress in real-time.
  5. Find your downloaded files in the output folder — ready to enjoy!

📁 Project Structure

See Project Structure Guide for detailed folder and code layout information.


🌙 Screenshots

Screenshots
1
2
3
4
5
6
7
8
9

⭐ Star History


🤝 Contribution

We welcome all kinds of contributions — not just code! Whether you're improving the UI, translating, enhancing themes, or helping refine documentation — your input makes PyTube Downloader better for everyone.

💡 Ways You Can Contribute

🛠️ Getting Started

  1. Fork the repository.
  2. Create a new branch for your changes.
  3. Commit your improvements with clear messages.
  4. Submit a pull request — we'll review and merge it soon!

See CONTRIBUTING.md for detailed contribution guidelines.

❤️ Every contribution, big or small, is appreciated. Let's make PyTube Downloader even better — together!


📜 License

Licensed under the MIT License. See the LICENSE file for full details.


⚠️ Disclaimer

This application is intended for personal use only. Please respect YouTube's Terms of Service and content creators' rights when downloading videos.


👥 Contributors

Contributor Profile
youyu
Navindu Pahasara
Soorya Suraweera
Fathima Asma
ZLostTK
Sergdryg

Made with ❤️ by Thisal-D and contributors