typing-extensions<5,>=4.13.0
frequenz-api-dispatch<2,>=1.0.0-rc3
frequenz-client-base<0.12.0,>=0.11.0
frequenz-client-common<0.4.0,>=0.3.6
frequenz-core<2.0.0,>=1.0.2
grpcio<2,>=1.72.1
python-dateutil<3.0,>=2.8.2

[cli]
asyncclick==8.1.8
prompt-toolkit==3.0.51
parsedatetime==2.6
tzlocal==5.3.1

[dev]
frequenz-client-dispatch[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.6.6
pydocstyle==6.3.0

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

[dev-mkdocs]
black==25.1.0
Markdown==3.8.2
mike==2.1.3
mkdocs-gen-files==0.5.0
mkdocs-literate-nav==0.6.2
frequenz-api-dispatch==1.0.0-rc3
mkdocs-macros-plugin==1.3.7
mkdocs-material==9.6.16
mkdocstrings[python]==0.30.0
frequenz-repo-config[lib]==0.13.5

[dev-mypy]
mypy==1.17.1
types-Markdown==3.8.0.20250708
frequenz-client-dispatch[cli,dev-mkdocs,dev-noxfile,dev-pytest]
grpc-stubs==1.53.0.6
types-protobuf==6.30.2.20250703
types-python-dateutil==2.9.0.20250516

[dev-noxfile]
nox==2025.5.1
frequenz-repo-config[lib]==0.13.5

[dev-pylint]
pylint==3.3.7
frequenz-client-dispatch[cli,dev-mkdocs,dev-noxfile,dev-pytest]
frequenz-api-dispatch==1.0.0-rc3

[dev-pytest]
pytest==8.4.1
frequenz-repo-config[extra-lint-examples]==0.13.5
pytest-mock==3.14.1
pytest-asyncio==1.1.0
async-solipsism==0.8
time-machine==2.16.0
hypothesis==6.136.8
frequenz-client-dispatch[cli]
