Skip to main content

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

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)

Source distribution for tubeharvest 2.0.0
File Size Uploaded
tubeharvest-2.0.0.tar.gz 75.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tubeharvest 2.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page