numpy>=1.21
pandas>=1.3

[all]
matplotlib>=3.4
reportlab>=4.0
yfinance>=0.2
requests>=2.28
scikit-learn>=1.0
plotly>=5.0
numba>=0.57

[dashboard]
streamlit>=1.30
matplotlib>=3.4
yfinance>=0.2
supabase>=2.0
openmeteo-requests>=0.3
requests-cache>=1.0
retry-requests>=1.0

[dev]
pytest>=7.0
pytest-cov>=4.0
matplotlib>=3.4
reportlab>=4.0
scikit-learn>=1.0
twine>=4.0
build>=0.10
ruff>=0.1

[fast]
numba>=0.57

[finance]
yfinance>=0.2

[plot]
matplotlib>=3.4

[plotly]
plotly>=5.0

[report]
reportlab>=4.0
matplotlib>=3.4

[sklearn]
scikit-learn>=1.0

[test]
pytest>=7.0
pytest-cov>=4.0
matplotlib>=3.4
reportlab>=4.0

[weather]
requests>=2.28
openmeteo-requests>=0.3
requests-cache>=1.0
retry-requests>=1.0
xarray>=2023.1
netcdf4>=1.6
