# -----------------------------------------------------------------
# Requirements for building fusionlab documentation & development
# -----------------------------------------------------------------

# Neural Network Backend
# ----------------------
# FusionLab currently relies heavily on TensorFlow/Keras.
tensorflow==2.15 #>=2.8,<2.16 # Specify a compatible range

# Core Dependencies (for running fusionlab code)
# ---------------------------------------------
numpy>=1.24,<2 # Used throughout for numerical operations
pandas>=1.3,<2 # Used for data manipulation and structures
scipy>=1.7 # Used in some ts_utils (e.g., stats)
scikit-learn>=1.0 # Used for preprocessing (scalers), metrics, model_selection
statsmodels==0.14.1 # Used for ts_utils analysis (ACF/PACF, Decomp, Tests)
matplotlib>=3.5 # Used for visualization utilities and examples
joblib>=1.1 # Used for saving/loading scalers, models
pyyaml>=6.0
click >=8.0
platformdirs
lz4

# Documentation Tools (Sphinx & Extensions)
# -----------------------------------------
sphinx>=7.4,<8.0 # Core documentation generator
furo # The chosen HTML theme

sphinx-copybutton # Adds copy buttons to code blocks
myst-parser 
sphinx-gallery # To automatically generate example galleries (optional)
sphinx-issues # To link to GitHub issues (optional)
sphinx-prompt # For nicely formatted shell examples (optional)
sphinx-design # For advanced layouts, grids, cards etc.
sphinxcontrib-bibtex

k-diagram 
# Optional/Development Tools
# --------------------------
keras-tuner==1.4.7 # Required for hyperparameter tuning utilities (forecast_tuner)
pytest # For running automated tests
flake8 # For code linting/style checks
