numpy>=2.2.5
scipy<2.0.0,>=1.15.3
dreambo_motor_controller>=1.1.1
motorcom>=1.1.1
psutil
jinja2
uvicorn[standard]
fastapi
python-multipart
starlette<1.0.0
pyserial
huggingface-hub==1.3.0
dreambo-torso-kinematics>=1.0.1
asgiref
aiohttp
log-throttling==0.0.3
pyusb>=1.2.1
libusb_package>=1.0.26.3
pip>=25
rich
questionary
websockets<16,>=12
toml
servocom>=1.0.0
pyyaml>=6.0
requests>=2.28.0
zeroconf<1,>=0.131
tornado>=6.5.5
requests>=2.33.0
pygobject-stubs>=2.17.0
scipy-stubs>=1.15.3.0
pycairo>=1.29.0

[:sys_platform != "linux"]
gstreamer-bundle==1.28.1

[:sys_platform == "linux"]
pulsectl>=24.1.0
PyGObject>=3.50.0

[:sys_platform == "win32"]
pycaw>=20240210

[all]
dreambo-torso[examples]
dreambo-torso[mujoco]
dreambo-torso[nn_kinematics]
dreambo-torso[placo_kinematics]
dreambo-torso[rerun]
dreambo-torso[wireless-version]
dreambo-torso[opencv]

[examples]
pynput
soundfile
opencv-python<=5.0
cv2_enumerate_cameras>=1.2.1

[mujoco]
mujoco==3.3.0

[nn_kinematics]
onnxruntime==1.22.1

[opencv]
opencv-python<=5.0
cv2_enumerate_cameras>=1.2.1

[placo_kinematics]

[placo_kinematics:sys_platform != "win32"]
placo==0.9.14

[rerun]
rerun-sdk<=0.31.3,>=0.29.0

[wireless-version]
semver<4,>=3

[wireless-version:sys_platform == "linux"]
nmcli>=1.5
imu-bmi088>=1.0.1
gpiozero>=2.0.0
lgpio>=0.2.2.0
