pydantic>=2.0.0
pyomo>=6.0.0
numpy>=1.20.0
pandas>=1.3.0
pyyaml>=6.0.0
highspy>=1.0.0
idaes-pse>=2.5.0

[all]
pyoptima[api,cli,docs,postgres,ui,worker]

[api]
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
pydantic-settings>=2.0.0
python-multipart>=0.0.6
PyJWT>=2.8.0
httpx>=0.24.0

[cli]
rich>=13.0.0

[dev]
pyoptima[all]
pytest>=7.0.0
pytest-cov>=4.0.0
black==26.1.0
isort==5.13.2
mypy>=1.0.0
pre-commit>=3.0.0
build>=0.10.0
twine>=4.0.0
jupyterlab>=4.0.0
ipykernel>=6.0.0
matplotlib>=3.5.0

[docs]
mkdocs<2,>=1.5.3
mkdocs-material>=9.5.0
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0.0

[postgres]
psycopg2-binary>=2.9.0

[ui]
fastapi>=0.104.0
uvicorn[standard]>=0.24.0
httpx>=0.24.0
aiofiles>=23.0.0

[worker]
sqlalchemy>=2.0.0
alembic>=1.13.0
