frequenz-channels<2,>=1.8.0
grpcio<2,>=1.59
protobuf<7,>=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.3.0
flake8-docstrings==1.7.0
flake8-pyproject==1.2.4
pydoclint==0.8.3
pydocstyle==6.3.0
frequenz-client-base

[dev-formatting]
black==25.12.0
isort==7.0.0

[dev-mkdocs]
black==25.12.0
Markdown==3.10
mike==2.1.3
mkdocs-gen-files==0.5.0
mkdocs-literate-nav==0.6.2
mkdocs-macros-plugin==1.5.0
mkdocs-material==9.7.1
mkdocstrings[python]==1.0.0
mkdocstrings-python==1.18.2
frequenz-repo-config[lib]==0.13.7
frequenz-client-base

[dev-mypy]
mypy==1.19.1
types-Markdown==3.10.0.20251106
types-protobuf==6.32.1.20251105
grpc-stubs==1.53.0.6
frequenz-client-base[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2025.11.12
frequenz-repo-config[lib]==0.13.7

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

[dev-pytest]
pytest==8.4.2
frequenz-repo-config[extra-lint-examples]==0.13.7
pytest-mock==3.15.1
pytest-asyncio==1.3.0
async-solipsism==0.8
hypothesis==6.148.7
frequenz-client-base
