# ========================
# CUDA-aware installs
# ========================
# To install CUDA 12.1 wheels on Linux/Windows, pip will use the extra index URL below.
# macOS users will continue to get CPU/MPS wheels.
--extra-index-url https://download.pytorch.org/whl/cu121

# ========================
# Core scientific stack
# ========================
numpy>=1.24,<2.0
scipy>=1.10,<2.0
pandas>=2.0,<3.0
scikit-learn>=1.3,<2.0
matplotlib>=3.7,<4.0
seaborn>=0.12,<0.14

# ========================
# PyTorch stack
# ========================
# To force CPU wheels, install with:
# pip install --index-url https://download.pytorch.org/whl/cpu -r requirements.txt
torch==2.7.0
torchvision==0.22.0
torchaudio==2.7.0
torchtext==0.18.0
torchmetrics>=1.3,<2.0
torchsummary>=1.5,<2.0
torchviz>=0.0.2,<0.1

# ========================
# Training and logging
# ========================
pytorch-lightning>=2.4,<2.5
tensorboard>=2.15,<2.16

# ========================
# Plotting, metrics, and utilities
# ========================
tqdm>=4.67,<5.0
plotly>=5.0,<6.0
statsmodels>=0.14,<1.0
einops>=0.7,<1.0

# ========================
# Jupyter stack (optional)
# ========================
jupyterlab>=4.0,<5.0
notebook>=7.0,<8.0
ipywidgets>=8.0,<9.0

# ========================
# NLP utilities (for NEWS experiment)
# ========================
spacy>=3.8,<4.0
nltk>=3.9,<4.0
smart-open>=7.0,<8.0
srsly>=2.5,<3.0
wasabi>=1.1,<2.0
catalogue>=2.0,<3.0
thinc>=9.1,<10.0
spacy-legacy>=3.0,<4.0
spacy-loggers>=1.0,<2.0
murmurhash>=1.0,<2.0
cymem>=2.0,<3.0
preshed>=3.0,<4.0
langcodes>=3.5,<4.0
typer>=0.16,<1.0

# ========================
# Other useful packages
# ========================
pillow>=11.0,<12.0
joblib>=1.3,<2.0
python-dotenv>=1.0,<2.0
requests>=2.31,<3.0
protobuf>=4.23,<5.0