frequenz-client-microgrid<0.10.0,>=0.9.0
frequenz-client-common<0.4.0,>=0.3.2
frequenz-channels<2.0.0,>=1.6.1
frequenz-quantities[marshmallow]<2.0.0,>=1.0.0
networkx<4,>=2.8
numpy<3,>=2.1.0
typing_extensions<5,>=4.13.0
marshmallow<5,>=3.19.0
marshmallow_dataclass<9,>=8.7.1

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

[dev-flake8]
flake8==7.3.0
flake8-docstrings==1.7.0
flake8-pyproject==1.2.3
pydoclint==0.7.6
pydocstyle==6.3.0

[dev-formatting]
black==25.9.0
isort==6.1.0

[dev-mkdocs]
black==25.9.0
Markdown==3.9
mike==2.1.3
mkdocs-gen-files==0.5.0
mkdocs-literate-nav==0.6.2
mkdocs-macros-plugin==1.4.1
mkdocs-material==9.6.23
mkdocstrings[python]==0.30.1
mkdocstrings-python==1.18.2
frequenz-repo-config[lib]==0.13.6

[dev-mypy]
mypy==1.18.2
types-Markdown==3.9.0.20250906
types-protobuf==6.32.1.20250918
types-setuptools==80.9.0.20250822
frequenz-sdk[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2025.10.16
frequenz-repo-config[lib]==0.13.6

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

[dev-pytest]
pytest==8.4.2
frequenz-repo-config[extra-lint-examples]==0.13.6
pytest-mock==3.15.1
pytest-asyncio==1.2.0
time-machine==2.16.0
async-solipsism==0.8
hypothesis==6.144.1
