Connect and close
Use a context manager for the synchronous SDK:aconnect() when your application already owns an async event loop:
policy.close() or
await policy.close() in a finally block.
Open sessions consume prepaid credits. Deterministic closure matters even
when inference has stopped. Inspect open sessions with
dropbear sessions list, and terminate an abandoned session with
dropbear sessions stop <session-id>.Choose a prediction interface
Inspect a chunk with predict
predict() sends one observation and does not actuate:
Drive a caller-owned loop with next_action
next_action() refills its internal action buffer as needed. Validate every
returned action before applying it:
Run a bounded loop with run
run() calls observe, validates the returned model object, buffers action
chunks, and calls act up to max_actions:
Region and transport
Leave both settings on their defaults first:region="nearest"selects the closest configured capacity.region="available"may select another supported region when the nearest region has no capacity.region="ap-southeast-2","us-west-2","us-east-1", or"eu-central-1"requests a specific region.transport="auto"tries QUIC and can fall back to the hosted relay.transport="quic"requires the UDP path.transport="relay"uses the relay directly.
Progress, hooks, and timeouts
connect() prints lifecycle progress by default. Supply a callback to route
messages into your logger, or None to suppress them:
RunHooks provides structured action, timing, and buffer events for a
run() call:
predict() and next_action() default to a 60-second response timeout. Set
timeout_s from your application fault budget. idle_timeout controls the
cloud session’s inactivity limit and defaults to 3600 seconds; it is not a
substitute for closing the session.
Optimization overrides
acceleration, control, rtc, and calibration are advanced connection
overrides. Keep each on "auto" unless Dropbear support asks you to test a
specific configuration:
policy.resolved_optimization_config for diagnostics.
Migrating existing SO-101 code
connect_so101() is a deprecated compatibility surface for the legacy
turnkey SO-101 loop. New integrations should build observations with
dropbear.so101.observe() and connect through dropbear.connect(). Existing
users can continue the SO-101 guide while migrating their
controller boundary.
Next, confirm the exact camera, state, and action ordering in
Model contracts.