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.5.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.5-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hex_zmq_servers-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 ecd63076f6ec444e152ebfd2d7d046b49c8c0aba6d234489f95a10d86e5283df
MD5 e9f0abe90ae3815e7df39e028ef424ce
BLAKE2b-256 18ea312a88f4d1a49780cfa8d33b3e3c44a4a144b3a01e13d9cce3850ed17e1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hex_zmq_servers-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 99e1b8498e9f98acb8ca27c91803128dfd589a7ca1488e159adfb6b306c88c40
MD5 1868cc08bd483d4b9d4b8eb41d49c8e3
BLAKE2b-256 c3b80efff1a18177419a4804084517166a211d0737b83ac0812038329c13fe6b

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