anthropic>=0.40.0
google-generativeai>=0.4.0
openai>=1.0.0
pyserial>=3.5
opencv-python-headless>=4.9.0
gTTS>=2.4.0
pygame>=2.5.0
pyyaml>=6.0
jsonschema>=4.20.0
requests>=2.31.0
fastapi>=0.109.0
uvicorn[standard]>=0.27.0
python-dotenv>=1.0.0
httpx>=0.26.0
python-multipart>=0.0.7
huggingface-hub>=0.25.0
streamlit>=1.30.0
SpeechRecognition>=3.10.0
rich>=13.0.0
argcomplete>=3.0.0

[all]
opencastor[dev,discord,dynamixel,rcan,rpi,slack,telegram,whatsapp]

[channels]
neonize>=0.3.10
python-telegram-bot>=21.0
discord.py>=2.3.0
slack-bolt>=1.18.0

[core]

[dev]
pytest>=8.0.0
pytest-asyncio>=0.23.0
pytest-cov>=4.1.0
ruff>=0.2.0
qrcode>=7.4.0

[discord]
discord.py>=2.3.0

[dynamixel]
dynamixel-sdk>=3.7.31

[rcan]
PyJWT>=2.8.0
zeroconf>=0.131.0

[rpi]
neonize>=0.3.10

[rpi:sys_platform == "linux"]
adafruit-circuitpython-pca9685>=3.4.0
adafruit-circuitpython-motor>=3.4.0
picamera2>=0.3.17

[slack]
slack-bolt>=1.18.0

[telegram]
python-telegram-bot>=21.0

[whatsapp]
neonize>=0.3.10

[whatsapp-twilio]
twilio>=9.0.0
