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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hex_zmq_servers-1.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 1915861c3169fcf42c356d4109c5b3f4f8a63ee23b31e7a76d8d803c761202d2
MD5 a5cddc205e7b61b66185f1be2ec04b82
BLAKE2b-256 2d7174e7d7e23a6ec5fbefe33032051c77a7a2e78901d3ce729e26f0f9fd01d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hex_zmq_servers-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c4b1245f019244dc9da07b44268da11f7249355a17ca4bf3d249bcec1fa87c96
MD5 8727c41412fea0f382ae55bd6c6ca5d4
BLAKE2b-256 43606833280c1215edfcf469ffaccf93088d10c096c87db60b93425d3f6a3f43

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