Metadata-Version: 2.4
Name: youtube-search-tool-using-subtitles
Version: 0.1.0
Summary: Search and query YouTube videos using AI embeddings
Author-email: Vesle Anne <anisimonova15@gmail.com>
Project-URL: Homepage, https://github.com/VesleAnne/Youtube_video_search_tool
Project-URL: Repository, https://github.com/VesleAnne/Youtube_video_search_tool
Project-URL: Issues, https://github.com/VesleAnne/Youtube_video_search_tool/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: gradio>=4.0.0
Requires-Dist: youtube-transcript-api>=0.6.0
Requires-Dist: selenium>=4.0.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: langchain>=0.1.0
Requires-Dist: langchain-chroma>=0.1.0
Requires-Dist: langchain-openai>=0.1.0
Requires-Dist: langchain-google-genai>=1.0.0
Requires-Dist: google-generativeai>=0.3.0
Requires-Dist: chromadb>=0.4.0
Requires-Dist: pathlib
Requires-Dist: sentence-transformers>=2.2.0
Requires-Dist: ollama>=0.1.0
Requires-Dist: transformers>=4.30.0
Requires-Dist: torch>=2.0.0
Requires-Dist: accelerate>=0.20.0
Requires-Dist: langchain-community>=0.0.20

# YouTube Search Tool

Search and query YouTube videos using AI embeddings. Add individual videos or entire channels, then search through their content using natural language.

## Features

- 🎥 Process individual YouTube videos or entire channels
- 🔍 Semantic search through video transcripts  
- 🤖 Multiple AI providers (OpenAI, Google, Local models)
- 🌐 Web interface with Gradio
- ⚡ Fast batch processing with concurrent downloads

## Installation

```bash
pip install youtube-search-tool
```

## Quick Start

### 1. Set up environment
Create a `.env` file:
```bash
# Choose your AI provider
USE_EMBEDDING_PROVIDER=openai  # or 'google' or 'local'
USE_LLM_PROVIDER=openai

# API Keys (if using cloud providers)
OPENAI_API_KEY=your_openai_key
GEMINI_API_KEY=your_google_key

# Optional: Customize processing
MAX_WORKERS=4
MAX_CHANNEL_VIDEOS=100
```

### 2. Add videos
```bash
# Add a single video
yt-search add "https://www.youtube.com/watch?v=QPM0WNqwJBc"

# Add an entire channel
yt-search add "https://www.youtube.com/@Lamediainglesa"
```

### 3. Search
```bash
# Search through your videos
yt-search search "machine learning basics"
yt-search search "python tutorial"
```

### 4. Web Interface
```bash
# Launch the web interface
yt-search web
```

## Requirements

- Python 3.8+
- Chrome/Chromium browser (for channel scraping)
- API keys for cloud providers (optional, can use local models)

## Supported AI Providers

- **OpenAI**: `text-embedding-ada-002` (requires API key)
- **Google**: `text-embedding-004` (requires API key)  
- **Local**: `all-MiniLM-L6-v2` (no API key needed)

## License

MIT License
