pyee>=13.0.0

[:platform_system != "Emscripten"]
aiohttp~=3.8
click>=8.1.3
grpcio>=1.62.1
humanize>=4.6.0
libusb1>=2.0.1
platformdirs>=3.10.0
prompt_toolkit>=3.0.16
prettytable>=3.6.0
protobuf>=3.12.4
pyserial-asyncio>=0.5
pyserial>=3.5
pyusb>=1.2
websockets>=15.0.1

[:platform_system != "Emscripten" and platform_system != "Android"]
cryptography>=44.0.3
libusb-package==1.0.26.1

[:platform_system != "Emscripten" and python_version < "3.11"]
tomli~=2.2.1

[:platform_system == "Android"]
cryptography>=42.0.8

[:platform_system == "Emscripten"]
cryptography>=39.0.0

[auracast]
sounddevice>=0.5.1

[auracast:python_version >= "3.10" and ((platform_system == "Linux" and platform_machine == "x86_64") or (platform_system == "Darwin" and platform_machine == "arm64"))]
lc3py>=1.1.3

[avatar]
pandora-avatar==0.0.10

[avatar:python_version >= "3.10"]
rootcanal==1.11.1

[build]
build>=0.7

[development]
black~=25.1
bt-test-interfaces>=0.0.6
grpcio-tools>=1.62.1
invoke>=1.7.3
mobly>=1.12.2
mypy==1.12.0
nox>=2022
pylint==3.3.1
pyyaml>=6.0
ruff==0.14.10
types-appdirs>=1.4.3
types-invoke>=1.7.3
types-protobuf>=4.21.0

[documentation]
mkdocs>=1.6.0
mkdocs-material>=9.6
mkdocstrings[python]>=0.27.0

[pandora]
bt-test-interfaces>=0.0.6

[test]
pytest>=8.2
pytest-asyncio>=0.23.5
pytest-html>=3.2.0
coverage>=6.4
