# Required
numpy>=1.21
scipy>=1.7

# Optional: only needed to (re)build the Cython acceleration.
# The code runs without it (pure-Python fallback), just slower.
cython>=0.29

# Optional: an alternative solver for the closure (solver="osqp").  Neither the
# closure (default Frank-Wolfe) nor the §3.4 weighting needs any external solver.
osqp>=0.6
