# --- GUI ---
PyQt5>=5.15.11
PyQtADS
pyqtgraph<0.15

# --- torch and models ---
torch>=2.1,<3
torchvision
# 8.4.153 and up for the SAM Generator's generate() keywords; see pyproject.toml.
ultralytics>=8.4.153,<8.5
lightly-train[ultralytics]>=0.17,<1
open-clip-torch>=2.20.0,<4
transformers>=5.0.0,<6
timm>=1.0.0,<2
# NVIDIA GPU video decode. No Mac has an NVIDIA GPU, and there are no macOS
# wheels -- without this marker pip/uv falls back to the 1.0.2 sdist, which
# fails to build against modern setuptools (no pkg_resources).
pynvvideocodec; platform_system != "Darwin"
# NVIDIA GPU inference. Only needed on Windows with NVIDIA GPUs.
triton-windows; platform_system == "Windows"

# --- numerics and data ---
numpy<3
# pandas 3 (Python 3.11+ only) changes copy and string semantics; untested here.
pandas<3
scipy
scikit-learn
umap-learn
faiss-cpu
matplotlib
seaborn
pillow

# --- imagery and geometry ---
rasterio<2
geopandas
pyogrio
shapely>=2,<3
pycocotools
yolo-tiling>=0.0.31

# --- CoralNet access ---
requests
selenium>=4.15.2
beautifulsoup4>=4.12.2
webdriver_manager

# --- misc ---
ujson
PyYAML
packaging
psutil
GPUtil
