pyzed — install it with axol zed.install (see zed.install). The cameras themselves are opened by the LeRobot wrappers in almond_axol.lerobot.camera.
list_zed_devices()
Enumerates the ZED cameras currently visible to the SDK — both mono (ZED-X One, sl.CameraOne) and stereo (ZED X, sl.Camera) — and returns a list of ZedDevice dicts sorted by serial number:
stereo_serials()
Returns the serial numbers of the connected stereo (ZED X) cameras as a set[int]. This is how the SDK auto-detects whether a configured camera is stereo from its serial alone — so teleop and the control panel never make the operator flag it by hand:
pyzed missing, daemon down) returns an empty set, in which case callers treat every camera as mono.
restart_zed_daemon()
Restarts the zed_x_daemon systemd service and blocks ~5 s while it re-enumerates the GMSL links. The daemon only scans for cameras when it starts, so a camera plugged in after boot stays invisible to the SDK until the daemon restarts — call this (or use the Restart daemon button in the control panel’s Cameras settings tab) before opening cameras when in doubt.
systemctl restart zed_x_daemon via passwordless sudo when not root (raises RuntimeError if that fails — e.g. headless without sudo rights).