# EVALUATION dependencies -- what you need to GENERATE WAVEFORMS.
#
# This is the consumer's file.  It is deliberately short, and it is the whole
# list: loading a released NRHJSur3dq8_*.h5 and evaluating it needs these four
# packages and nothing else.  It mirrors [project.dependencies] in
# pyproject.toml exactly -- if the two ever disagree, pyproject wins and this
# file is the bug.
#
#   pip install -r requirements.txt
#
# Python >= 3.12 (pyproject.toml).  Verified on 3.12.13.
#
# CONSTRUCTION (training a new surrogate from the SXS catalogue) needs a
# LARGER set that is deliberately NOT here -- see requirements-construction.txt.
# Evaluating never needs it, and mixing the two is what previously shipped a
# package whose modules could not import in the environment it declared.
#
# THE COMPILED BACKEND IS OPTIONAL.  The pure-Python/NumPy path evaluates
# correctly on its own; the Kokkos backend is a speed option.  Kokkos itself is
# not pip-installable -- use conda (environment.yml) or a source build
# (INSTALL.md sections 2-3).  pybind11 and cmake below are BUILD-time only and
# are not imported at run time.

# ---- run time: required -------------------------------------------------
numpy>=2.0,<3          # verified 2.3.5
scipy>=1.14            # verified 1.16.3
h5py>=3.10             # verified 3.16.0
spectools>=2026.8.8    # PyPI, MIT.  We import spectools.chebyshev's basis,
                       # chebyshev AND diagnostics.  The floor is 2026.8.8 and
                       # NOT lower: 2025.7.16 ships no diagnostics.py at all,
                       # so nrhjsurrogate/spectral.py:26 -- a module-level
                       # import -- raises ModuleNotFoundError against it.
                       # 2026.8.8 is byte-identical to the source the released
                       # artifacts were built and evaluated against.

# ---- run time: optional -------------------------------------------------
platformdirs           # nicer per-user model cache location for fetch_model;
                       # absent is fine, the resolver falls back to
                       # $XDG_CACHE_HOME or ~/.cache.

# ---- build time only: the optional compiled backend ---------------------
# Needed only if you compile the Kokkos evaluator.  Neither is imported when
# running.  Kokkos itself must come from conda or source -- it is not here
# because it cannot be.
pybind11>=2.12         # verified 3.0.3
cmake>=3.20            # verified 4.4.1
