# sanad_api_eng — EngineAI PM01 fleet agent.
requests>=2.25
# only needed if ENG_POSITION_SOURCE=rosbridge (reads /odom over a websocket):
#   websocket-client>=1.6,<2
# NOT installed here:
#   rclpy               — comes from the robot's ROS 2 Humble install; not on
#                         PyPI and must match the robot's distro.
#   interface_protocol  — EngineAI's own message package, already built on the
#                         robot at /app/applications/install/interface_protocol.
# Both become importable once the unit sources ros_env.sh. The agent degrades to
# heartbeat mode when no state source is reachable, so a missing backend never
# stops telemetry.
