numpy>=1.20.0
scipy>=1.7.0
matplotlib>=3.4.0
pandas>=1.3.0
plotly>=5.0.0
seaborn>=0.11.0
uncertainties>=3.1.0
flask>=2.0.0
flask-cors>=4.0.0
flasgger>=0.9.5
python-dotenv>=0.19.0
jsonschema>=4.0.0
werkzeug>=2.0.0
rich>=13.0.0
questionary>=2.0.0
prompt_toolkit>=3.0.0
reportlab>=4.0.0
fpdf2>=2.4.0
pillow>=9.0.0
scikit-learn>=1.0.0
joblib>=1.2.0
SALib>=1.4.0
optuna>=3.0.0
cmaes>=0.10.0
pyyaml>=6.0.0
requests>=2.26.0
tqdm>=4.62.0
psutil>=5.9.0

[all]
sparc-pv[botorch,llm-cloud,llm-local,materials,tcad,workers]

[botorch]
torch>=2.0.0
botorch>=0.9.0

[dev]
pytest>=7.4.0
pytest-cov>=4.1.0
pytest-xdist>=3.3.0
black>=24.0.0
isort>=5.13.0
flake8>=7.0.0
flake8-bugbear>=24.0.0
mypy>=1.8.0
pre-commit>=3.6.0
pip-audit>=2.7.0
build>=1.0.0
twine>=5.0.0

[llm-cloud]
anthropic>=0.40.0
openai>=1.0.0
mistralai>=1.0.0
google-generativeai>=0.5.0

[llm-local]
ollama>=0.2.0

[materials]
pymatgen>=2022.3.7
mp-api>=0.37.0
boto3>=1.26.0

[tcad]
numba>=0.54.0

[workers]
celery>=5.3.0
redis>=4.6.0
kombu>=5.3.0
flower>=2.0.0
