Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tubeharvest-2.0.0.tar.gz (75.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tubeharvest-2.0.0-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

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

Hashes for tubeharvest-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b68390c26c6e41bb20a2b533a781fbaa16993ebf039f287b10d4ec1f28439218
MD5 33b01ee1a866460cd8dc89bf5b02934b
BLAKE2b-256 d5161fd06efd84e4a489737dadf0c37409fb1360dbc5670368f165e5002cdd0c

See more details on using hashes here.

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

Hashes for tubeharvest-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 575038298be1ade175dedccde045d61d6400eceef583caa4f4cd6eb4c505b5a8
MD5 b7e39dcf9b19d4b617b742d27d486792
BLAKE2b-256 9a4b9eba80b2972e2d468ce84f260bfeef1208a23b7059d9d3293485b3c52df0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page