API reference
strands_robots
| Symbol |
What |
More |
Robot(name, mode='sim', ...) |
Factory → Simulation or HardwareRobot |
Robot factory |
list_robots(category='all') |
Catalog query |
Robot catalog |
Policy |
Policy ABC |
Policies |
MockPolicy |
Sinusoidal mock |
Policies |
create_policy(provider, **kw) |
Policy factory |
Policies |
register_policy(name, loader, aliases=None) |
Runtime registration |
Custom policies |
list_providers() |
Known policy providers |
Policies |
Simulation (lazy) |
MuJoCo-backed AgentTool |
Simulation overview |
Gr00tPolicy (lazy) |
NVIDIA GR00T client |
GR00T |
strands_robots.registry
from strands_robots.registry import (
list_robots, resolve_name, get_robot, has_sim, has_hardware, get_hardware_type,
list_robots_by_category, list_aliases, format_robot_table,
register_robot, unregister_robot, list_user_robots,
list_policy_providers, resolve_policy, import_policy_class, build_policy_kwargs,
)
| Symbol |
What |
list_robots(category) |
All robots in a category, or "all". |
resolve_name(name) |
Alias → canonical name. |
get_robot(name) |
Full registry entry dict. |
has_sim(name) / has_hardware(name) |
Sim / real support flags. |
get_hardware_type(name) |
LeRobot type string for mode="real". |
list_robots_by_category() |
{category: [names]}. |
list_aliases() |
All 106 aliases. |
format_robot_table() |
Pretty-printed robot table. |
register_robot(name, entry) |
Add user-defined robot at runtime. |
unregister_robot(name) |
Remove a runtime-registered robot. |
list_user_robots() |
Names from register_robot. |
list_policy_providers() |
Providers from policies.json. |
resolve_policy(uri) |
URI → provider name. |
import_policy_class(provider) |
Lazy import of provider class. |
build_policy_kwargs(provider, **kw) |
Normalise + validate kwargs. |
strands_robots.simulation
from strands_robots.simulation import (
Simulation, SimWorld, SimRobot, SimObject, SimCamera,
create_simulation, list_backends, register_backend,
)
from strands_robots.simulation.base import SimEngine
| Symbol |
What |
Simulation |
MuJoCo backend - 60+ agent actions. |
SimWorld, SimRobot, SimObject, SimCamera |
Shared dataclasses. |
create_simulation(backend='mujoco') |
Factory for non-Robot() construction. |
list_backends() / register_backend(name, cls) |
Backend registry. |
SimEngine |
ABC custom backends implement. |
Selected actions:
| Action |
What |
run_policy(robot_name, ...) |
Blocking policy rollout. |
start_policy(robot_name, ...) |
Async rollout (background thread). |
stop_policy(robot_name) |
Stop running policy. |
run_multi_policy(policies, ...) |
Synchronized multi-robot rollout, one merged frame per step. |
eval_policy(robot_name, n_episodes, ...) |
Multi-episode evaluation. |
evaluate_benchmark(benchmark_name, ...) |
Run registered benchmark. |
list_benchmarks() / register_benchmark_from_file(name, spec_path) |
Benchmark registry. |
replay_episode(repo_id, robot_name, ...) |
Replay a recorded episode. |
strands_robots.hardware_robot
from strands_robots.hardware_robot import Robot, TaskStatus, RobotTaskState
| Symbol |
What |
Robot |
Real-hardware AgentTool. |
TaskStatus |
Enum: IDLE / CONNECTING / RUNNING / COMPLETED / STOPPED / ERROR. |
RobotTaskState |
Dataclass: status, step count, error. |
| Method |
What |
start_task(instruction, policy_port, ...) |
Async task start. |
stop_task() |
Halt running policy. |
get_task_status() |
Return RobotTaskState. |
cleanup() |
Stop tasks, close cameras, stop mesh. |
strands_robots.policies
from strands_robots.policies import (
Policy, MockPolicy, create_policy, register_policy, list_providers, UntrustedRemoteCodeError,
)
from strands_robots.policies.groot import Gr00tPolicy
from strands_robots.policies.lerobot_local import LerobotLocalPolicy
from strands_robots.policies.cosmos3 import Cosmos3Policy
| Symbol |
What |
Policy |
ABC: get_actions, set_robot_state_keys, requires_images, provider_name. |
MockPolicy |
Sinusoidal mock. requires_images=False. |
create_policy(provider, **kw) |
Resolve + construct. Accepts zmq://, cosmos3://, HF org/model. |
register_policy(name, loader, aliases) |
Runtime registration. |
list_providers() |
['cosmos3', 'groot', 'lerobot_local', 'mock', + aliases]. |
UntrustedRemoteCodeError |
Raised when STRANDS_TRUST_REMOTE_CODE is required but unset. |
Gr00tPolicy |
GR00T N1.5/N1.6/N1.7 via ZMQ (service) or in-process. |
LerobotLocalPolicy |
HF LeRobot inference (ACT, Pi0, Pi0.5, SmolVLA, …). Needs STRANDS_TRUST_REMOTE_CODE=1. |
Cosmos3Policy |
NVIDIA Cosmos 3 VLA over WebSocket. |
from strands_robots.tools import (
download_assets, gr00t_inference, lerobot_calibrate, lerobot_camera,
lerobot_teleoperate, pose_tool, serial_tool, robot_mesh,
)
# All return {"status": "...", "content": [{"text": "..."}]}
See Hardware tools.
strands_robots.dataset_recorder
from strands_robots.dataset_recorder import DatasetRecorder, has_lerobot_dataset
| Symbol |
What |
DatasetRecorder.create(repo_id, fps, ...) |
New dataset. |
DatasetRecorder.resume(repo_id, root, task, ...) |
Append to existing (lerobot>=0.5.2). |
recorder.add_frame(observation, action, task=...) |
Append one frame. |
recorder.save_episode() |
Finalise episode. |
recorder.clear_episode_buffer() |
Discard buffer. |
recorder.finalize() |
Flush and close. |
recorder.push_to_hub(tags=None, private=False) |
Upload to HuggingFace. |
has_lerobot_dataset() |
Cached import check. |
See Recording.
strands_robots.mesh
from strands_robots.mesh import init_mesh, Mesh, InputPublisher, InputReceiver
| Symbol |
What |
init_mesh(robot, peer_id=None, ...) |
Attach mesh to a robot instance. |
Mesh |
peer_id, peers, alive, send, broadcast, tell, emergency_stop. |
InputPublisher |
Stream teleoperator actions over mesh. |
InputReceiver |
Receive + apply remote teleoperator actions. |
See Multi-robot mesh.
strands_robots.benchmarks.libero
from strands_robots.benchmarks.libero import LiberoSuite
LIBERO task suites, BDDL parser. Install: uv pip install "strands-robots[benchmark-libero]".
Environment variables
| Variable |
Purpose |
Default |
STRANDS_ASSETS_DIR |
Robot model asset cache |
~/.strands_robots/assets/ |
STRANDS_ROBOT_MODE |
Force Robot() mode |
(kwarg honoured) |
STRANDS_TRUST_REMOTE_CODE |
Allow HF trust_remote_code=True |
unset → blocked |
STRANDS_MESH |
Disable mesh globally when false |
true |
STRANDS_MESH_AUDIT_DIR |
Safety event audit log |
~/.strands_robots/ |
MUJOCO_GL |
GL backend for MuJoCo |
auto |
GROOT_API_TOKEN |
GR00T cloud inference token |
(unset) |
STRANDS_GROOT_WIRE_LOG |
Log raw ZMQ frames when 1 |
(unset) |
See also