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
Metadata
Release files for tubeharvest 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tubeharvest-2.0.0.tar.gz | 75.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tubeharvest-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.0 kB
Release files / tubeharvest-2.0.0.tar.gz
| Download URL | tubeharvest-2.0.0.tar.gz |
|---|---|
| Size | 75.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b68390c26c6e41bb20a2b533a781fbaa16993ebf039f287b10d4ec1f28439218
|
|
BLAKE2b-256 checksum How to use checksums |
d5161fd06efd84e4a489737dadf0c37409fb1360dbc5670368f165e5002cdd0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Release files / tubeharvest-2.0.0-py3-none-any.whl
| Download URL | tubeharvest-2.0.0-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
575038298be1ade175dedccde045d61d6400eceef583caa4f4cd6eb4c505b5a8
|
|
BLAKE2b-256 checksum How to use checksums |
9a4b9eba80b2972e2d468ce84f260bfeef1208a23b7059d9d3293485b3c52df0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|