Version: 2.0
Date: November 12, 2025
GUI Framework: PyQt5 (PyQt6 migration planned)
# Activate virtual environment
.venv\Scripts\activate
# Run the GUI
python launch_gui.pybootstrap.bat- Setup and activate virtual environmentrun_jelly_rancher.bat- Quick launch script
JellyRancher/
βββ π launch_gui.py # Main entry point
βββ π requirements-jelly-rancher.txt # Python dependencies
βββ π pytest.ini # Test configuration
βββ π README.md # This file
β
βββ π scripts/ # Main application code
β βββ core/ # Core GUI and backend modules
β βββ ai/ # AI integration
β βββ media/ # Media organization logic
β βββ utils/ # Utility functions
β βββ _common/ # Shared modules
β
βββ π docs/ # Documentation
β βββ WORKFLOW_SPEC.md # 9-point workflow specification
β βββ ARCHITECTURE.md # Library choices and design
β βββ SESSION_STARTER.md # IDE AI context template
β βββ COMMON_PITFALLS.md # Best practices and warnings
β βββ PYQT6_MIGRATION_PLAN.md # PyQt6 migration guide
β βββ CLEANUP_GIT_CHROMADB_20251112.md # Recent cleanup report
β βββ USER_GUIDE.md # User guide
β
βββ π tools/ # Development utilities
β βββ analyze_unused_code.py # Code analysis
β βββ build_*_index.py # Index builders
β βββ cleanup*.py # Cleanup scripts
β βββ generate_*.py # Documentation generators
β βββ bootstrap*.py/bat # Setup scripts
β
βββ π data/ # Data files and caches
β βββ *.json # Index and cache files
β βββ config.json # Configuration
β βββ managed_folders.json # Folder registry
β
βββ π reports/ # Analysis and audit reports
β βββ help_*.txt # Help coverage reports
β
βββ π archive/ # Archived/legacy code
β βββ deprecated/ # Old implementations
β βββ gui_files_*/ # Legacy GUI versions
β βββ documentation_*/ # Old documentation
β
βββ π Jellyfin Organizer/ # Legacy standalone version
βββ π RavenMaven/ # Legacy RavenMaven tool
βββ π logs/ # Application logs
βββ π audit-logs/ # Immutable audit trail
βββ π temp/ # Temporary files
βββ π .venv/ # Virtual environment
- Hierarchical folder scanning and inventory
- TMDB/TVDB metadata lookup
- LLM-powered reorganization proposals
- Color-coded action tables by confidence
- Snapshot & rollback support
- Multi-provider downloads (OpenSubtitles, Subscene, etc.)
- Automatic language detection
- Forced subtitle support
- Coverage gap analysis
- Queue-based processing
- Progress tracking
- Error handling and retry logic
- Media coverage statistics
- Subtitle gap reports
- Operation history
- API credentials (TMDB, TVDB, etc.)
- Media paths configuration
- Provider preferences
- Folder Scanning - Generate master file list
- Hierarchical Overview - Display folder tree with size stats
- LLM Reorganization Proposal - AI-powered organization suggestions
- Metadata Database Building - Fetch from TMDB/TVDB/Wikipedia
- Editable Action Table - Color-coded review interface
- Snapshot & Transaction Log - MD5 verification, rollback support
- Execute Reorganization - Safe file operations with send2trash
- Subtitle Coverage Evaluation - Gap analysis via ffprobe
- Subtitle Acquisition - Multi-provider downloads with rate limiting
See docs/WORKFLOW_SPEC.md for complete implementation details.
- PyQt5 - GUI framework (PyQt6 migration planned)
- tmdbv3api - TMDB API wrapper
- tvdb_v4_official - TVDB API wrapper
- subliminal - Multi-provider subtitle downloader
- ffmpeg-python - Media file analysis
- rapidfuzz - Fuzzy string matching
- tenacity - Exponential backoff
- ratelimit - Rate limiting decorators
- send2trash - Safe file deletion
- anthropic - Claude AI integration
See requirements-jelly-rancher.txt for complete list.
# Create virtual environment
python -m venv .venv
# Activate
.venv\Scripts\activate
# Install dependencies
pip install -r requirements-jelly-rancher.txtpytestpython tools/build_help_index.py
python tools/build_function_index_enhanced.py- β
Git removed -
.git/,.github/,.gitignoredeleted - β ChromaDB removed - All semantic search functionality removed (~285MB freed)
- β Memory tab removed - GUI reduced from 7 to 6 tabs
- β
Root folder organized - Moved 46 files to
tools/,data/,docs/,reports/,archive/ - β Clean root directory - Only 5 essential files remain in root
See docs/CLEANUP_GIT_CHROMADB_20251112.md for details.
- TMDB API Key - https://www.themoviedb.org/settings/api
- TVDB API Key - https://thetvdb.com/api-information
- Anthropic API Key (optional) - For Claude AI integration
Configure in Settings tab or via credential manager.
Import errors for backend modules:
- These are runtime-resolved from the
scripts/directory - Ensure virtual environment is activated
- Check
sys.pathmodifications in main files
GUI doesn't launch:
- Check Python version (3.12+ required)
- Verify PyQt5 is installed:
pip list | Select-String pyqt5 - Check logs in
logs/directory
API rate limits:
- TMDB: 40 requests per 10 seconds
- TVDB: Check current limits
- Rate limiting is built-in via
tenacity+ratelimit
See docs/COMMON_PITFALLS.md for more troubleshooting tips.
This is a personal project, but suggestions are welcome via issues.
Personal Use Only
Developer: JellyRancher Project
AI Assistance: Claude (Anthropic)
Inspired By: Jellyfin media server ecosystem
For issues or questions:
- Check
docs/directory for detailed guides - Review
docs/COMMON_PITFALLS.mdfor known issues - Check logs in
logs/directory - Review audit trail in
audit-logs/
Last Updated: November 12, 2025
Status: Active Development (PyQt6 migration in progress)