Metadata-Version: 2.4
Name: tubeharvest
Version: 2.0.0
Summary: A comprehensive YouTube downloader with beautiful interactive console interface
Author-email: TubeHarvest Team <contact@tubeharvest.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/msadeqsirjani/TubeHarvest
Project-URL: Repository, https://github.com/msadeqsirjani/TubeHarvest.git
Project-URL: Documentation, https://github.com/msadeqsirjani/TubeHarvest/wiki
Project-URL: Bug Tracker, https://github.com/msadeqsirjani/TubeHarvest/issues
Keywords: youtube,downloader,video,audio,playlist,cli,terminal
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Environment :: Console
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: yt-dlp>=2023.3.4
Requires-Dist: tqdm>=4.65.0
Requires-Dist: requests>=2.28.2
Requires-Dist: python-ffmpeg-video-streaming>=0.1.15
Requires-Dist: colorama>=0.4.6
Requires-Dist: rich>=13.7.0
Requires-Dist: prompt-toolkit>=3.0.36
Requires-Dist: click>=8.1.7
Requires-Dist: inquirer>=3.1.3
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: pytest-mock>=3.11.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.3.0; extra == "dev"
Requires-Dist: black>=23.7.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.5.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: pre-commit>=3.3.0; extra == "dev"
Requires-Dist: bandit>=1.7.5; extra == "dev"
Requires-Dist: safety>=2.3.0; extra == "dev"
Requires-Dist: ipython>=8.14.0; extra == "dev"
Requires-Dist: ipdb>=0.13.0; extra == "dev"
Requires-Dist: tox>=4.6.0; extra == "dev"
Requires-Dist: build>=0.10.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.4.0; extra == "test"
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
Requires-Dist: pytest-mock>=3.11.0; extra == "test"
Requires-Dist: pytest-xdist>=3.3.0; extra == "test"
Requires-Dist: coverage>=7.3.0; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx>=7.1.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "docs"
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.1.0; extra == "docs"
Requires-Dist: myst-parser>=2.0.0; extra == "docs"
Dynamic: license-file

# 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

```bash
# 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:
```bash
# 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
```bash
# 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:
```bash
python -m tubeharvest --help
# or
tubeharvest --help
```

### 🎭 UI Demo
Want to see the beautiful interface in action? Run the demo:
```bash
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 
