# Core dependencies
numpy>=1.21.0
pandas>=1.3.0
scikit-learn>=1.0.0
matplotlib>=3.3.0
joblib>=1.0.0
networkx>=2.6.0
scipy>=1.7.0

# Optional dependencies used by benchmark.py to compare TRA against gradient-boosting
# baselines, and by core.py's n_tracks=4 expert pool. core.py/benchmark.py both fall
# back gracefully (via try/except ImportError) if these are absent, but install them
# for the full benchmark comparison.
xgboost>=2.0.0
lightgbm>=4.0.0
catboost>=1.2

# Optional: used by benchmark_full.py to render nicely-formatted Markdown tables in
# benchmark_report.md via pandas.DataFrame.to_markdown(). Falls back to a plain-text table
# if absent, so this is not required for the benchmark to run, only for report formatting.
tabulate>=0.9.0

# Optional dependencies for development
pytest>=6.0
pytest-cov>=2.0
pytest-mock>=3.6
black>=21.0
flake8>=3.8
mypy>=0.812
sphinx>=4.0
sphinx-rtd-theme>=0.5
myst-parser>=0.15