# Custom Stats PT - Requirements
# Python 3.13+

# ===== Core Dependencies =====
# Qt Framework for GUI
PySide6>=6.0.0  # Qt binding (used in calibration_tool and GUI)

# Database
psycopg2-binary>=2.9.0  # PostgreSQL adapter
schedule>=1.2.0         # Job scheduling for automatic sync

# ===== Phase 3: Real-Time HUD Display =====
# Window Management (Windows)
pygetwindow==0.0.9      # Window detection and manipulation
pywin32>=307            # Win32 API access (Windows only)

# Screen Capture & OCR / Computer Vision
opencv-python>=4.8.0    # Computer vision (board detection in HUD)
numpy>=1.24.0           # Numerical arrays (cv2 / charts)
Pillow>=10.0.0          # Image processing
pytesseract==0.3.10     # OCR for player names (optional)

# File Watching
watchdog==3.0.0        # File system monitoring for hand history files

# ===== Development & Testing =====
pytest>=7.0.0          # Testing framework
pytest-cov>=4.0.0      # Test coverage
pytest-qt>=4.0.0       # Qt testing support

# Code Quality
flake8>=6.0.0          # Linting
pylint>=2.17.0         # Advanced linting
black>=23.0.0          # Code formatting
mypy>=1.0.0            # Type checking

# ===== Data Analysis & Visualization =====
scipy>=1.10.0          # Statistical calculations
pandas>=2.0.0          # Tabular data (Excel export, reports)
psutil>=5.9.0          # System / process metrics (performance profiler)

# ===== Utilities =====
python-dateutil>=2.8.0  # Date/time utilities
typing-extensions>=4.0.0  # Type hints backport

# Performance
cachetools>=5.0.0      # Caching utilities

# Logging
colorlog>=6.0.0        # Colored log output (optional)

# ===== Optional Dependencies =====
# Uncomment if needed:
# numpy>=1.24.0         # Numerical computing (for advanced stats)
# pandas>=2.0.0         # Data analysis (for reports)
# matplotlib>=3.7.0     # Plotting (for graphs)
# requests>=2.31.0      # HTTP requests (for updates, online features)

# ===== Platform-Specific =====
# Windows only (pywin32 already listed above)
# Linux: python3-xlib, python3-tk
# macOS: pyobjc-framework-Quartz
