Skip to main content

HEXFELLOW ZMQ Servers

Project description

HEXFELLOW ZMQ SERVERS

DOI       


📖 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: HexLaunch and HexNodeConfig start 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:
    • pyzmq
    • hex_device
    • hex_robo_utils
    • opencv-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.

  1. Clone and install in editable mode. The venv.sh script expects uv.

    git clone https://github.com/hexfellow/hex_zmq_servers.git
    cd hex_zmq_servers
    ./venv.sh
    
    • ./venv.sh — creates .venv, installs hex_zmq_servers with [all] and examples/adv/requirements.txt (e.g. pygame for 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.
  2. 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

Star History Chart


👥 Contributors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hex_zmq_servers-1.0.3.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hex_zmq_servers-1.0.3-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

Details for the file hex_zmq_servers-1.0.3.tar.gz.

File metadata

  • Download URL: hex_zmq_servers-1.0.3.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

Hashes for hex_zmq_servers-1.0.3.tar.gz
Algorithm Hash digest
SHA256 9547db2c350c223537310dceb7b3ee95ea3b371b272271c7e19eeb0188c78662
MD5 4da17e6c91789565422bd2ca7c6ac5ed
BLAKE2b-256 956a1424abae74dcf4987ca11779c596cb6feb0f7ff63e54691b410de409857a

See more details on using hashes here.

File details

Details for the file hex_zmq_servers-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for hex_zmq_servers-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 82a18172e5d80b42e7eb304447ba2c2accddfbc203f04d71add0f0bd3ed34cb9
MD5 2a3f0b7a9d8865e2b79ef44d456eae75
BLAKE2b-256 6cb0c10c6f02d2ecfde7bd54d4eb22b674da2fef2f6941006a4dbe2d9e2d303d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page