# ROOT requirements for third-party Python packages

# PyROOT: Interoperability with numpy arrays
numpy
pandas

# TMVA: SOFIE
dm-sonnet ; python_version < "3.13"  # used for GNNs, not available for Python 3.13 yet
graph_nets ; python_version < "3.13" # not available for Python 3.13 yet
onnx

# TMVA: PyMVA interfaces
scikit-learn
tensorflow<2.16 ; python_version < "3.12"
tensorflow ; python_version < "3.13" # TensorFlow doesn't support Python 3.13 yet
torch<2.5 ; python_version < "3.13" # no torch version that fullfills version constraint available for Python 3.13
xgboost

# PyROOT: ROOT.Numba.Declare decorator
numba>=0.48 ; python_version < "3.13" # no numba available for Python 3.13 yet
cffi>=1.9.1

# Notebooks: ROOT C++ kernel
notebook>=4.4.1
metakernel>=0.20.0

# Distributed RDataFrame
pyspark>=2.4 # Spark backend
dask>=2022.08.1 # Dask backend
distributed>=2022.08.1 # Dask backend

# JsMVA: Jupyter notebook magic for TMVA
ipywidgets

# Look for CPU-only versions of PyTorch to avoid pulling CUDA in the CI docker images.
-f https://download.pytorch.org/whl/cpu/torch_stable.html
