fix(viz): right tags + warning

This commit is contained in:
Steven Palma
2026-07-01 14:35:19 +02:00
parent eab78d882b
commit 0520963ae4
2 changed files with 15 additions and 6 deletions
+11 -2
View File
@@ -168,8 +168,6 @@ def visualize_dataset(
**kwargs,
) -> Path | None:
if display_mode == "foxglove":
if save:
logging.warning("--save is ignored with --display-mode foxglove (no .rrd file is written).")
from lerobot.utils.foxglove_visualization import serve_foxglove_dataset_playback
logging.info("Starting Foxglove server")
@@ -421,6 +419,17 @@ def main():
)
args = parser.parse_args()
if args.display_mode == "foxglove":
rerun_only = ("mode", "save", "output_dir", "grpc_port", "batch_size", "num_workers")
ignored = [name for name in rerun_only if getattr(args, name) != parser.get_default(name)]
if ignored:
logging.warning(
"These flags only apply to `--display-mode rerun` and are ignored with "
"`--display-mode foxglove`: %s.",
", ".join(f"--{name.replace('_', '-')}" for name in ignored),
)
kwargs = vars(args)
repo_id = kwargs.pop("repo_id")
root = kwargs.pop("root")
+4 -4
View File
@@ -17,7 +17,7 @@
Live control-loop streaming (:func:`log_foxglove_data`) and seekable dataset playback
(:func:`serve_foxglove_dataset_playback`) over a Foxglove WebSocket server. Callers usually select a
backend at runtime through the dispatch in :mod:`lerobot.utils.visualization_utils` rather than
importing from here directly. Requires the ``foxglove`` extra (``pip install 'lerobot[foxglove]'``).
importing from here directly. Requires the ``viz`` extra (``pip install 'lerobot[viz]'``).
"""
import logging
@@ -84,7 +84,7 @@ def init_foxglove(host: str = "127.0.0.1", port: int | None = 8765) -> None:
port: Port to bind the WebSocket server to (defaults to 8765).
"""
require_package("foxglove-sdk", extra="foxglove", import_name="foxglove")
require_package("foxglove-sdk", extra="viz", import_name="foxglove")
import foxglove
# Live-stream state lives as attributes on ``log_foxglove_data``:
@@ -276,7 +276,7 @@ def log_foxglove_data(
for CPU and quality.
"""
require_package("foxglove-sdk", extra="foxglove", import_name="foxglove")
require_package("foxglove-sdk", extra="viz", import_name="foxglove")
if getattr(log_foxglove_data, "server", None) is None:
raise RuntimeError("init_foxglove() must be called before log_foxglove_data().")
@@ -401,7 +401,7 @@ def serve_foxglove_dataset_playback(
waiting for the user to press play in the Foxglove app.
"""
require_package("foxglove-sdk", extra="foxglove", import_name="foxglove")
require_package("foxglove-sdk", extra="viz", import_name="foxglove")
import bisect
import threading