Skip to main content

loop-sdk

Connect your robots, cameras, sensors, policies, and teleoperation code to Loop. Your Python application exposes a Node; Loop connects it to a Cell for control and recording.

How Loop uses your Node

Your application owns the device or model code and its execution loop. Loop's Orchestrator applies Config and manages the Node's lifecycle. The Node exchanges application data directly with other Nodes through Ports.

Your application contains a Node built with loop-sdk. Loop Orchestrator manages its Config, bindings, and lifecycle; application data travels directly between its Ports and other Cell Nodes.

Install

Install SDK 0.6.0 for Loop v2 in an isolated environment:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install loop-sdk==0.6.0
python -c 'from loop_sdk import CameraNode, SensorNode, RobotNode'

Installation brings in loop-node[numpy]>=0.3.0,<0.4.0, including NumPy; no separate NumPy extra is needed on loop-sdk. Release wheels support CPython 3.10–3.14 on Linux x86_64 and ARM64 (aarch64), with glibc 2.28+. You also need a running Loop instance using loop-node 0.3.x (control protocol version 2) to activate Nodes. Update Loop and external Nodes together.

Port transport

Ports default to auto: image contracts use shared memory when all connected peers pass the SHM probe, and otherwise use ordinary Zenoh transmission. Contracts without images use ordinary transmission by default. Custom Port declarations can require zenoh_network or zenoh_shared_memory; request and reply policies are independent. The selected mode stays fixed until bindings are released, and Cell Config no longer stores transport choices.

Application payloads and the publish/poll/request APIs remain unchanged. See transport policies for options and Port declarations for usage.

Run your first Node

Start with the simulated sensor example. It needs no hardware.

  1. Save the file as sensor_node.py. It connects to tcp/127.0.0.1:7448; change loop_endpoint in the file if Loop runs on another host.

  2. Run your Node:

    python sensor_node.py
    
  3. In Loop, add force_sensor to a Cell as an external loop.sensor@1 Node. Config {} uses the defaults. Connect its sensor_observation output to Main Controller Node, then click Start Nodes.

The terminal prints Start: sample_hz=50.0, and the Node begins publishing {"force": 1.25} approximately 50 times per second. Launching the script connects the Node; Loop configures it, validates connections, then starts publication. Stop Nodes pauses it; Ctrl+C exits the example.

Node classes and examples

What your application does Example
Read sensor values SensorNode
Provide camera frames CameraNode
Publish robot state and apply incoming actions RobotNode
Run an existing robot control loop and record its observation/action pairs RobotStepNode
Generate actions with a model PolicyNode
Generate actions through teleoperation TeleopNode

Replace each example's simulated or file-backed data with your device or model. See the example setup guide for Node IDs, Config, and compatible examples.

Documentation

Guide Use it to
Architecture and lifecycle Understand Nodes, Ports, the Orchestrator, and Configure/Start/Stop
Recording flow and data Follow observations and actions into a recorded episode
Node API reference Look up classes, methods, contracts, and value types

For SDK development, see CONTRIBUTING.md.

Metadata

Release files for loop-sdk 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for loop-sdk 0.6.0
File
loop_sdk-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
loop_sdk-0.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
loop_sdk-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
loop_sdk-0.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
loop_sdk-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
loop_sdk-0.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
loop_sdk-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
loop_sdk-0.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
loop_sdk-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
loop_sdk-0.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details

Total release size: 3.3 MB

Release files / loop_sdk-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL loop_sdk-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 362.1 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eac9455bedc94aebc1161c05fa6bafc7a817916eb0a7b5fde314c4d5ee5965fe
BLAKE2b-256 checksum
How to use checksums
f21221b4074d6e0358a11d0e6c3db9d55780e15d988c8ff93211b512eee6e7d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL loop_sdk-0.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 327.3 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e550238aceb37ba4472d6c3762c9c0a91d151282ce00e231773b4059a966e808
BLAKE2b-256 checksum
How to use checksums
41cc426be48453dc330f839a332dc49fc9f79c39344ca03cdd308acb595ec740
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL loop_sdk-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 358.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a32bf2771cfaa65351cbd9f03c35936b75261f53822b8a67809de15d2d31f5f1
BLAKE2b-256 checksum
How to use checksums
8ad9d4ae8f14edd730cf4c942c68b1601429cdd5b80df42fc4acd81d482b22ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL loop_sdk-0.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 323.1 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d4f24ae847f9bf8764f1a5631db82c1182df5a6e52da4126f5a7e1911370fceb
BLAKE2b-256 checksum
How to use checksums
6450347a66998956d89731195be96042a283b281bf3e790f2c4e1cc2dd7d0f75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL loop_sdk-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 356.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c6561bd0fa1b40c77f99776d8cfd06c74de110449fbff833bab0f529423b45f2
BLAKE2b-256 checksum
How to use checksums
f5462ade9b800959565e42ad46dfdda519b7adc3e8239f5f96c379a55a42fe36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL loop_sdk-0.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 321.0 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d75ff363a7f1409b30c3c30d3cf8361465159d974e0af7abb2a55649b375505d
BLAKE2b-256 checksum
How to use checksums
b165210d38f696218af914deef81b30a3da1f3fd1690383622b380bf413ee86c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL loop_sdk-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 325.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bcba9ddd446ae9a04e11c5d20bc27d5e1d0783cf5b5dda9eff7c490a09451fc6
BLAKE2b-256 checksum
How to use checksums
78b63c59b12ebb240fd7fbde6668132a24bff9b4cacf5440ab2ba704d22e14f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL loop_sdk-0.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 297.4 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
678770a4df21936cef4c385abc9dae595b1cecc039bb93fb6c0b6696fabed408
BLAKE2b-256 checksum
How to use checksums
d867cec2d31393821f9c4d485984824dae09e4f472f992fb3db2382b10f47e5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL loop_sdk-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 314.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bf0093ee688a224782adf321af5ca71b883f17deab0608bb5ab3e1407c96d806
BLAKE2b-256 checksum
How to use checksums
05b73c3dfd5ec2941dc5655a543da50ce915a42d8b1f75299d7ce9a2681c3c80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / loop_sdk-0.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL loop_sdk-0.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 290.7 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
83146c874101d508d38ccf4a9927df9e8ae57bf7d30a6b72ee58b5cac9f13533
BLAKE2b-256 checksum
How to use checksums
f410860e53513a538ad941fdeb11fb45a90f2f2fb63866a6d10a9b4f442e0427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

10 release files

0.5.0

10 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page