typing-extensions<5.0.0,>=4.13.0
frequenz-sdk<1.0.0-rc1800,>=1.0.0-rc1302
frequenz-channels<2.0.0,>=1.6.1
frequenz-client-dispatch<0.9.0,>=0.8.4

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

[dev-flake8]
flake8==7.2.0
flake8-docstrings==1.7.0
flake8-pyproject==1.2.3
pydoclint==0.6.4
pydocstyle==6.3.0

[dev-formatting]
black==25.1.0
isort==6.0.1

[dev-mkdocs]
black==25.1.0
Markdown==3.7
mike==2.1.3
mkdocs-gen-files==0.5.0
mkdocs-literate-nav==0.6.2
mkdocs-macros-plugin==1.3.7
mkdocs-material==9.6.11
mkdocstrings[python]==0.29.1
mkdocstrings-python==1.16.8
frequenz-repo-config[lib]==0.13.1

[dev-mypy]
mypy==1.15.0
grpc-stubs==1.53.0.5
types-Markdown==3.7.0.20250322
frequenz-dispatch[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
uv==0.6.11
nox==2025.2.9
frequenz-repo-config[lib]==0.13.1

[dev-pylint]
pylint==3.3.6
frequenz-dispatch[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-pytest]
pytest==8.3.5
frequenz-repo-config[extra-lint-examples]==0.13.1
pytest-mock==3.14.0
pytest-asyncio==0.26.0
async-solipsism==0.7
time-machine==2.16.0
