A comprehensive YouTube downloader with beautiful interactive console interface
Project description
TubeHarvest 🎬
A comprehensive YouTube downloader built with Python featuring a beautiful interactive console interface. TubeHarvest allows you to easily download videos, playlists, and audio from YouTube with extensive customization options and a modern user experience.
✨ Features
🎯 Core Functionality
- Versatile Download Options: Download video with audio, video only, or audio only
- Quality Selection: Choose video resolution (e.g., 1080p, 720p, 480p)
- Playlist Support: Download entire YouTube playlists with a single command
- Subtitle & Metadata: Download subtitles and video metadata
- Multiple Formats: Support for MP4, MP3, WebM, and more
- Performance Optimization: Multithreaded downloads for playlists
- Resumable Downloads: Continue interrupted downloads
🎨 Enhanced User Experience
- 🌟 Beautiful Interactive Console: Rich, colorful interface with emoji icons
- 📋 Interactive Setup Wizard: Step-by-step configuration with smart defaults
- 📊 Real-time Progress Tracking: Beautiful progress bars with live statistics
- 🎬 Video Information Display: Rich metadata presentation
- ⚡ Smart Input Validation: Instant feedback on URLs and settings
- 🔄 Error Recovery: Graceful error handling with retry options
- 📈 Download Statistics: Detailed completion reports
Installation
# Clone the repository
git clone https://github.com/msadeqsirjani/TubeHarvest.git
cd TubeHarvest
# Install requirements
pip install -r requirements.txt
🚀 Quick Start
Interactive Mode (Recommended)
Launch the beautiful interactive interface:
# Quick launch with interactive UI
./scripts/tubeharvest-gui
# Or use the main module
python -m tubeharvest --interactive
# Or if installed via pip
tubeharvest-gui
Command Line Mode
# Basic usage
python -m tubeharvest -u "https://www.youtube.com/watch?v=VIDEO_ID"
# Audio only download in MP3 format
python -m tubeharvest -u "https://www.youtube.com/watch?v=VIDEO_ID" --audio-only --format mp3
# Download playlist with specific quality
python -m tubeharvest -u "https://www.youtube.com/playlist?list=PLAYLIST_ID" --quality 720
# Download with subtitles and custom output directory
python -m tubeharvest -u "https://www.youtube.com/watch?v=VIDEO_ID" --subtitles --output-dir "~/Videos"
# If installed via pip
tubeharvest -u "https://www.youtube.com/watch?v=VIDEO_ID"
For a complete list of options, run:
python -m tubeharvest --help
# or
tubeharvest --help
🎭 UI Demo
Want to see the beautiful interface in action? Run the demo:
python examples/ui_demo.py
🎨 What's New in v2.0
- 🌈 Rich Console Interface: Beautiful colors, panels, and progress bars using the Rich library
- 🤖 Interactive Setup Wizard: Step-by-step configuration with smart prompts
- 📊 Real-time Progress: Live progress tracking with multiple concurrent downloads
- 🎬 Enhanced Video Info: Beautiful display of video metadata and statistics
- ⚡ Smart Validation: Instant feedback on URLs and configuration
- 🔄 Error Recovery: Graceful error handling with retry options
- 📈 Download Statistics: Comprehensive completion reports with success rates
📋 Requirements
- Python 3.7+
- yt-dlp
- rich (for beautiful console interface)
- inquirer (for interactive prompts)
- prompt-toolkit (for enhanced input)
- tqdm (for progress bars)
- ffmpeg (for some format conversions)
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
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 tubeharvest-2.0.0.tar.gz.
File metadata
- Download URL: tubeharvest-2.0.0.tar.gz
- Upload date:
- Size: 75.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b68390c26c6e41bb20a2b533a781fbaa16993ebf039f287b10d4ec1f28439218
|
|
| MD5 |
33b01ee1a866460cd8dc89bf5b02934b
|
|
| BLAKE2b-256 |
d5161fd06efd84e4a489737dadf0c37409fb1360dbc5670368f165e5002cdd0c
|
File details
Details for the file tubeharvest-2.0.0-py3-none-any.whl.
File metadata
- Download URL: tubeharvest-2.0.0-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
575038298be1ade175dedccde045d61d6400eceef583caa4f4cd6eb4c505b5a8
|
|
| MD5 |
b7e39dcf9b19d4b617b742d27d486792
|
|
| BLAKE2b-256 |
9a4b9eba80b2972e2d468ce84f260bfeef1208a23b7059d9d3293485b3c52df0
|