frequenz-api-microgrid<0.16.0,>=0.15.3
frequenz-channels<2.0.0,>=1.0.0-rc1
frequenz-client-microgrid<0.4.0,>=0.3.0
google-api-python-client<3,>=2.71
grpcio<2,>=1.54.2
grpcio-tools<2,>=1.54.2
networkx<4,>=2.8
numpy<2,>=1.24.2
protobuf<5,>=4.21.6
pydantic<3,>=2.3
timezonefinder<7,>=6.2.0
tqdm<5,>=4.38.0
typing_extensions<5,>=4.6.1
watchfiles>=0.15.0

[dev]
frequenz-sdk[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]

[dev-examples]
polars==0.20.23

[dev-flake8]
flake8==7.0.0
flake8-docstrings==1.7.0
flake8-pyproject==1.2.3
pydoclint==0.4.1
pydocstyle==6.3.0

[dev-formatting]
black==24.4.2
isort==5.13.2

[dev-mkdocs]
black==24.4.2
Markdown==3.6
mike==2.1.0
mkdocs-gen-files==0.5.0
mkdocs-literate-nav==0.6.1
mkdocs-macros-plugin==1.0.5
mkdocs-material==9.5.20
mkdocstrings[python]==0.25.0
frequenz-repo-config[lib]==0.9.2

[dev-mypy]
mypy==1.10.0
grpc-stubs==1.24.12
types-Markdown==3.6.0.20240316
types-protobuf==4.24.0.20240129
types-setuptools==69.5.0.20240423
frequenz-sdk[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2024.4.15
frequenz-repo-config[lib]==0.9.2

[dev-pylint]
pylint==3.1.0
frequenz-sdk[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-pytest]
pytest==8.2.0
frequenz-repo-config[extra-lint-examples]==0.9.2
pytest-mock==3.14.0
pytest-asyncio==0.23.6
time-machine==2.12.0
async-solipsism==0.6
frequenz-sdk[dev-examples]
hypothesis==6.100.2
