pydantic>=2.6
anthropic>=0.40
pyyaml>=6
ddgs>=6.0
dnspython>=2.6

[all]
openai>=1.40
google-genai>=0.3
opentelemetry-sdk>=1.20
websockets>=12
jinja2>=3
weasyprint>=60
docxtpl>=0.16
mcp>=1.0
textual>=0.60
sounddevice>=0.4
faster-whisper>=1.0
numpy>=1.26
ddgs>=6.0
cryptography>=42

[browser]
playwright>=1.40

[daemon]
websockets>=12

[dev]
pytest>=8
pytest-asyncio>=0.23

[google]
google-genai>=0.3

[mcp]
mcp>=1.0

[openai]
openai>=1.40

[otel]
opentelemetry-sdk>=1.20

[reporting]
jinja2>=3
weasyprint>=60
docxtpl>=0.16

[search]
ddgs>=6.0

[secrets]
cryptography>=42

[tui]
textual>=0.60

[voice]
sounddevice>=0.4
faster-whisper>=1.0
numpy>=1.26
