Skip to content

lnfu/stretch3-zmq

Repository files navigation

stretch3-zmq

A simple ZeroMQ-based driver for the Hello Robot Stretch 3.

Packages

This monorepo contains two installable packages that share the stretch3_zmq namespace:

Package Import root Purpose
stretch3-zmq-core stretch3_zmq.core Shared message schemas (Pydantic + msgpack). Lightweight — no robot hardware deps.
stretch3-zmq-driver stretch3_zmq.driver Full robot driver: ZeroMQ services, TTS/ASR, camera support, robot control.

Setup

Optional: For TTS/ASR functionality, create a .env file with your API keys:

cp .env.example .env
# Edit .env and add your API keys

Run (Driver)

Note

The main branch is unstable (trunk-based development). Use a specific tagged version for production use.

On Stretch 3, install and run directly with uvx.

Recommended — specific version (e.g., v0.0.3):

set -a; source .env; set +a  # Only needed if using TTS/ASR
uvx --python 3.12 --from "stretch3-zmq-driver @ git+https://github.com/lnfu/stretch3-zmq.git@v0.0.3#subdirectory=packages/driver" stretch3-zmq-driver

Latest (unstable main branch):

set -a; source .env; set +a  # Only needed if using TTS/ASR
uvx --python 3.12 --from "stretch3-zmq-driver @ git+https://github.com/lnfu/stretch3-zmq.git#subdirectory=packages/driver" stretch3-zmq-driver

Install (Core Library)

If you only need the message schemas (e.g., for a remote client), install stretch3-zmq-core without the heavy driver dependencies.

Using uv:

uv add "stretch3-zmq-core @ git+https://github.com/lnfu/stretch3-zmq.git#subdirectory=packages/core"

Using pip:

pip install "git+https://github.com/lnfu/stretch3-zmq.git#subdirectory=packages/core"

Specific version (e.g., v0.0.3):

pip install "git+https://github.com/lnfu/stretch3-zmq.git@v0.0.3#subdirectory=packages/core"

Then import from stretch3_zmq.core:

from stretch3_zmq.core.messages.command import ManipulatorCommand
from stretch3_zmq.core.messages.status import Status
from stretch3_zmq.core.messages.protocol import decode_with_timestamp

Documentation

docs/protocols.md — ZeroMQ service reference: ports, patterns, topics, and message schemas.

About

A simple ZeroMQ-based driver for the Hello Robot Stretch 3.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors