# GPU-accelerated dependencies for Stockula
#
# This file lists the minimal, top-level packages needed in the GPU image.
# Transitive dependencies (e.g., requests, joblib) are resolved by pip.
# PyTorch 2.5.1 with CUDA 12.1 is installed separately in Dockerfile
#
# Install:
#   pip install -r requirements-gpu.txt

# Core app dependencies
alembic==1.16.4
dependency-injector==4.48.1
numpy==2.1.0
pandas==2.3.1
pydantic==2.11.7
pydantic-settings==2.10.1
pyyaml==6.0.2
rich==14.1.0
sqlalchemy==2.0.42
sqlmodel==0.0.24
typer==0.16.0
typing-extensions==4.14.1
yfinance==0.2.65

# Trading & TA
backtesting==0.6.5
finta==1.3

# Forecasting
# - scikit-learn used by Simple backend and metrics
# - scipy is required by scikit-learn and constrained by gluonts[torch]==0.16.2 (<1.16)
scikit-learn==1.7.1
scipy==1.15.3

# Time series forecasting with GPU acceleration
# torch is installed separately with CUDA support in Dockerfile
gluonts[torch]==0.16.2
chronos-forecasting>=1.5.2
# AutoGluon not installed on Python 3.13+ due to ray wheels availability
autogluon-timeseries==1.4.0; python_version < "3.13"

# Notes:
# - Removed unused packages (bokeh, bs4, websockets, etc.) to slim the image.
# - Do not remove scipy: scikit-learn depends on it and our Simple backend imports sklearn.
# - torch/torchvision/torchaudio come from the PyTorch base image.
