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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hex_zmq_servers-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 5d1b2393c2f41b17736e85e0ce6342b8dd7948d2b04867508cfd5404d6aa3c1b
MD5 1ac984096f1f8733d51727ce0d12a765
BLAKE2b-256 1e54ed5f9744d4490af184c1c125c20f105e331784d7b30b4bf87efd0ae1b5f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hex_zmq_servers-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7efd563200442e9ce84ade90ab3c96a222d99ac89905d92c448dbe3f37d68803
MD5 15e0c7f57ac2775d20b2083ed94a3eb1
BLAKE2b-256 e988460262ee750ee5978b5cf74d99f84f51b699b26fbac50c98165f4b64e6ba

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