torch>=2.0.0
torchvision>=0.15.0

tqdm>=4.65.0

# ---------------- macOS ----------------
numpy>=1.24,<2.0; sys_platform == "darwin"
pandas>=2.0.0; sys_platform == "darwin"
scipy>=1.10.0; sys_platform == "darwin"
scikit-learn>=1.3.0; sys_platform == "darwin"
pyarrow>=12.0.0,<18.0.0; sys_platform == "darwin"

# ---------------- Windows ----------------
numpy>=1.21,<2.0; sys_platform == "linux" and python_version < "3.12"
pandas>=1.5,<2.0; sys_platform == "linux" and python_version < "3.12"
scipy>=1.8,<1.12; sys_platform == "linux" and python_version < "3.12"
scikit-learn>=1.2,<2.0; sys_platform == "linux" and python_version < "3.12"
pyarrow>=10.0.0,<13.0.0; sys_platform == "linux" and python_version < "3.12"

# ---------------- Linux gcc 4.8.5 ----------------
numpy>=1.21,<2.0; sys_platform == "linux" and python_version < "3.12"
pandas>=1.5,<2.0; sys_platform == "linux" and python_version < "3.12"
scipy>=1.8,<1.12; sys_platform == "linux" and python_version < "3.12"
scikit-learn>=1.2,<2.0; sys_platform == "linux" and python_version < "3.12"
pyarrow>=10.0.0,<13.0.0; sys_platform == "linux" and python_version < "3.12"

# ---------------- Linux python 3.12+ ----------------
numpy>=1.26,<3.0; sys_platform == "linux" and python_version >= "3.12"
pandas>=2.1.0; sys_platform == "linux" and python_version >= "3.12"
scipy>=1.11.0; sys_platform == "linux" and python_version >= "3.12"
scikit-learn>=1.3.0; sys_platform == "linux" and python_version >= "3.12"
pyarrow>=16.0.0; sys_platform == "linux" and python_version >= "3.12"