# Supervertaler Dependencies (Full / Batteries Included)
# Install everything needed for all features:
#   pip install -r requirements.txt

# ===== CORE DEPENDENCIES =====

# Core UI Framework
PyQt6>=6.5.0

# Document Processing
python-docx>=0.8.11
openpyxl>=3.1.0
Pillow>=10.0.0
lxml>=4.9.0

# AI/LLM Providers (lightweight API clients)
openai>=1.0.0
anthropic>=0.7.0
google-generativeai>=0.3.0
requests>=2.28.0

# Encoding detection (used by Encoding Repair module)
chardet>=5.0.0

# System helpers (used for process cleanup / system specs)
psutil>=5.9.0

# Document Conversion & Analysis
markitdown>=0.0.1

# Translation Quality Metrics (Superbench)
sacrebleu>=2.3.1

# Clipboard Operations (Universal Lookup)
pyperclip>=1.8.2

# YAML Support
pyyaml>=6.0.0

# Markdown Rendering (Superdocs)
markdown>=3.4.0

# Basic Spellchecking (lightweight, works offline)
pyspellchecker>=0.7.0


# ===== FEATURE DEPENDENCIES =====
# These are required for certain features, and are included here so this
# requirements file provides a complete install.

# [web] - Built-in Web Browser (~100 MB)
# Web browser for Superlookup research resources
PyQt6-WebEngine>=6.5.0

# [pdf] - PDF Processing (~30 MB)
# PDF text extraction and OCR (PDF Rescue)
PyMuPDF>=1.23.0

# [voice] - Voice Dictation (~150 MB, requires ffmpeg)
# Voice commands and dictation using Whisper
numpy>=1.24.0
sounddevice>=0.4.6
# Vosk – the default Voice Always-On engine (offline, commands-only,
# free). Lightweight wheel (~14 MB) plus a per-language model that downloads
# on first use (small models are ~50 MB). Required because Always-On defaults
# to Vosk – without it, the very first click on the Always-On toggle errors
# with "Vosk is not installed". Users who'd rather use Whisper API or
# faster-whisper can switch the engine in the Voice tab.
vosk>=0.3.44
# Optional (offline/local speech recognition). Heavy dependency (PyTorch).
# Install only if you want Local Whisper mode:
#   pip install supervertaler[local-whisper]
# openai-whisper>=20230314

# [mt] - Additional MT Providers (~30 MB)
# DeepL API and Amazon Translate
boto3>=1.28.0
deepl>=1.15.0

# [hunspell] - Advanced Spellcheck (~20 MB)
# Hunspell backend for 100+ languages
spylls>=0.1.7  # Pure Python Hunspell (replaces cyhunspell which doesn't work on Windows/Py3.12)

# [hotkeys] - Cross-platform Global Hotkeys
# Global hotkey registration and keystroke automation (Superlookup, QuickTrans)
pynput>=1.7.6

# [hotkeys-macos] - macOS NSEvent backend (replaces pynput on macOS to avoid
# a TSM-on-background-thread crash on macOS 26+). Required for global hotkeys
# to work on macOS; the host Terminal/iTerm2/Supervertaler.app also needs
# Accessibility permission.
pyobjc-framework-Cocoa>=10.0; sys_platform == "darwin"

# [windows] - Windows-only AutoHotkey support for keystroke commands
# (used by Dicta voice commands of type 'keystroke', 'ahk_inline', 'ahk_script')
ahk>=1.0.0; sys_platform == "win32"


# ===== PLATFORM-SPECIFIC NOTES =====
# - Linux: Install Hunspell dictionaries: sudo apt install hunspell-<lang>
# - macOS: All features available
# - Windows: All features available
# - Supervoice: Requires ffmpeg system package on all platforms
