frequenz-channels<2,>=1.8.0
grpcio<2,>=1.59
protobuf<8,>=5.29.2
typing-extensions<5,>=4.12.0

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

[dev-flake8]
flake8==7.4.1
flake8-datetimez==26.8.1
flake8-docstrings==1.7.0
flake8-pyproject==1.2.4
pydoclint==0.10.1
pydocstyle==6.3.0
frequenz-client-base

[dev-formatting]
black==26.5.1
isort==9.0.1

[dev-mkdocs]
black==26.5.1
Markdown==3.11
mike==2.2.0
mkdocs-gen-files==0.6.1
mkdocs-literate-nav==0.6.3
mkdocs-macros-plugin==1.5.0
mkdocs-material==9.7.7
mkdocstrings[python]==1.0.6
mkdocstrings-python==2.0.9
frequenz-repo-config[lib]==0.19.0
frequenz-client-base

[dev-mypy]
mypy==2.3.1
types-Markdown==3.10.2.20260712
types-protobuf==7.35.1.20260906
grpc-stubs==1.53.0.6
frequenz-client-base[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2026.8.17
frequenz-repo-config[lib]==0.19.0

[dev-pylint]
pylint==4.0.9
frequenz-client-base[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-pytest]
pytest==9.1.1
frequenz-repo-config[extra-lint-examples]==0.19.0
pytest-mock==3.16.0
pytest-asyncio==1.4.0
async-solipsism==0.9
hypothesis==6.168.3
frequenz-client-base
