HEXFELLOW ZMQ Servers
Project description
HEXFELLOW ZMQ SERVERS
📖 Overview
What is hex_zmq_servers
hex_zmq_servers provides a client–server layer on top of ZeroMQ to control and stream data from HEXFELLOW hardware (robots, RGB/RGB-D cameras) and MuJoCo-based simulators. Servers run device logic and command loops; clients send requests (e.g. get_rgb, get_state, set_target) and receive headers plus optional binary buffers (e.g. images, joint state).
What problem it solves
- Decoupled control: Run device drivers and control loops in separate processes; clients connect over TCP.
- Unified transport: All devices use the same ZMQ request/response pattern (JSON header + NumPy buffer).
- Multi-node management:
HexLaunchandHexNodeConfigstart and monitor multiple server/client nodes from one process.
Target users
- Engineers integrating HEXFELLOW robots into their systems.
- Researchers running experiments with HEXFELLOW robots.
📦 Installation
Requirements
- Python
- OS:
Linux/macOS - Core dependencies:
pyzmqhex_devicehex_robo_utilsopencv-python
Optional device support (install via extras):
| Extra | Purpose |
|---|---|
berxel |
Berxel RGB-D: berxel_py_wrapper |
realsense |
RealSense RGB-D: pyrealsense2 |
dynamixel |
Dynamixel: dynamixel-sdk |
mujoco |
MuJoCo sims: mujoco |
all |
berxel + dynamixel + realsense + mujoco |
Install from PyPI
For those who don't need examples, you can install the package from PyPI.
-
Full install: includes all optional devices (Berxel, RealSense, Dynamixel, MuJoCo)
pip install hex_zmq_servers[all]
-
Core install: only the core package (no optional devices)
pip install hex_zmq_servers
Install from Source
For those who need examples, you can install the package from source code with examples.
Noet: We use uv to manage the Python environment. Please install it first.
-
Clone and install in editable mode. The
venv.shscript expects uv.git clone https://github.com/hexfellow/hex_zmq_servers.git cd hex_zmq_servers ./venv.sh
./venv.sh— creates.venv, installshex_zmq_serverswith[all]andexamples/adv/requirements.txt(e.g.pygamefor some examples)../venv.sh --min— installs the core package only (no optional device extras). Some examples will not run../venv.sh --pkg-only— installs the package only, skips example-related dependencies.
-
Activate before running examples:
source .venv/bin/activate
📚 Tutorial
See Tutorial for details of all tutorials.
📑 API
See API for details of all APIs.
💡 Example
See Example for details of all examples.
🏷️ Citation
If you want to cite this project in your work, you can use the following BibTeX entry:
@software{hex_zmq_servers,
author = {Dong, Zhaorui and Chen, Zejun},
title = {Hex ZMQ Servers: A ZeroMQ-Based Embodied AI Communication Framework},
year = {2025},
publisher = {Zenodo},
version = {v1.0.0},
doi = {10.5281/zenodo.18309960},
url = {https://doi.org/10.5281/zenodo.18309960}
}
📄 License
Apache License 2.0. See LICENSE.
🌟 Star History
👥 Contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hex_zmq_servers-1.0.4.tar.gz.
File metadata
- Download URL: hex_zmq_servers-1.0.4.tar.gz
- Upload date:
- Size: 4.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfd95bb76106d9081c11ddf0259c0a296db4f3c389df21d9491f6e9263dd662d
|
|
| MD5 |
79e14462435cabf8c24e10c57adbb5fb
|
|
| BLAKE2b-256 |
8e8c496290ec6e6b1d6e8a6b26a1ab8d5f81f37e6a44be30fc107c6e57912383
|
File details
Details for the file hex_zmq_servers-1.0.4-py3-none-any.whl.
File metadata
- Download URL: hex_zmq_servers-1.0.4-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab6f2c935f66839761dcb79c786d088826e33589c264400b1598b9fccfe400aa
|
|
| MD5 |
2057015d9d56c49fa53de76f82cc66c4
|
|
| BLAKE2b-256 |
6c0731fd4993fbaefceb63b02b4d262a8c2846301bed5c8a5ef7c11fed2425c8
|