frequenz-api-microgrid<0.12.0,>=0.11.0
frequenz-channels<0.14.0,>=0.13.0
google-api-python-client<3,>=2.71
grpcio<2,>=1.51.1
grpcio-tools<2,>=1.51.1
networkx<3,>=2.8
numpy<2,>=1.24.2
protobuf<5,>=4.21.6
pydantic>=1.9
sympy<2,>=1.10.1
toml>=0.10
tqdm<5,>=4.38.0
typing_extensions<5,>=4.4.0
watchfiles>=0.15.0

[dev]
frequenz-sdk[docs-gen,docs-lint,format,mypy,nox,pylint,pytest]

[docs-gen]
mike<2,>=1.1.2
mkdocs-gen-files<0.5.0,>=0.4.0
mkdocs-literate-nav<0.5.0,>=0.4.0
mkdocs-material<9,>=8.5.7
mkdocs-section-index<0.4.0,>=0.3.4
mkdocstrings[python]<0.20.0,>=0.19.0

[docs-lint]
pydocstyle<7,>=6.3.0
darglint<2,>=1.8.1
tomli<3,>=2.0.1

[format]
black<24,>=23.1.0
isort<6,>=5.12.0

[mypy]
mypy<2,>=1.0.1
grpc-stubs==1.24.12
frequenz-sdk[docs-gen,nox,pytest]

[nox]
nox==2022.11.21
toml<1,>=0.10.2

[pylint]
pylint<3,>=2.17.0
frequenz-sdk[docs-gen,nox,pytest]

[pytest]
pytest<8,>=7.2.1
pytest-cov<5,>=4.0.0
pytest-mock<4,>=3.10.0
pytest-asyncio<1,>=0.20.3
time-machine<3,>=2.9.0
async-solipsism<1,>=0.5
