torch>=2.0
numpy>=1.24
einops>=0.6
tqdm>=4.64

[all]
foreblocks[benchmark,darts,foreminer,mltracker,preprocessing,studio,vmd,wavelets]

[benchmark]
foreblocks[plotting,scientific]
neuralforecast>=2.0
openpyxl>=3.1

[darts]
foreblocks[plotting,scientific]
seaborn>=0.13

[dev]
pytest>=7.0
ipykernel>=6.0
ruff
basedpyright

[foreminer]
foreblocks[plotting,scientific]
ruptures>=1.1
networkx>=3.0
seaborn>=0.13

[mltracker]
requests>=2.31
fastapi>=0.100
uvicorn>=0.22
pydantic>=2.0
textual>=0.70

[plotting]
matplotlib>=3.6

[preprocessing]
foreblocks[plotting,scientific]

[scientific]
pandas>=1.5
scipy>=1.10
numba>=0.57
scikit-learn>=1.2
joblib>=1.3
statsmodels>=0.14
tabulate>=0.9

[studio]

[vmd]
foreblocks[scientific]
pyfftw>=0.13
optuna>=3.0

[wavelets]
scipy>=1.10
sympy>=1.12
PyWavelets>=1.4
pytorch_wavelets>=1.3
