Metadata-Version: 2.4
Name: hex_zmq_servers
Version: 0.2.3
Summary: HEXFELLOW ZMQ Servers
Author-email: Dong Zhaorui <joray.dong@hexfellow.com>
Maintainer-email: jecjune <zejun.chen@hexfellow.com>, Dong Zhaorui <joray.dong@hexfellow.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/hexfellow/hex_zmq_servers
Project-URL: Repository, https://github.com/hexfellow/hex_zmq_servers.git
Project-URL: Bug Tracker, https://github.com/hexfellow/hex_zmq_servers/issues
Project-URL: Documentation, https://github.com/hexfellow/hex_zmq_servers/wiki
Keywords: hex_zmq_servers
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyzmq>=27.0.1
Requires-Dist: opencv-python>=4.2
Requires-Dist: mujoco>=3.3.3
Requires-Dist: hex_device>=1.2.1
Requires-Dist: hex_robo_utils>=0.1.18
Requires-Dist: dynamixel-sdk==3.8.4
Provides-Extra: berxel
Requires-Dist: berxel_py_wrapper>=2.0; extra == "berxel"
Provides-Extra: all
Requires-Dist: berxel_py_wrapper>=2.0; extra == "all"
Dynamic: license-file

# hex_zmq_servers

## Introduction

**`hex_zmq_servers`** is a comprehensive distributed device control framework based on ZeroMQ, providing efficient client-server communication for HEXFELLOW devices.

## Project Structure

```bash
hex_zmq_servers/
├── hex_zmq_servers/         # Core library
│   ├── robot/               # Robot devices
│   ├── cam/                 # Camera devices
│   ├── mujoco/              # Mujoco simulation devices
│   └── config/              # Default configuration files
├── examples/                # Example code
│   ├── basic/               # Basic examples (single device)
│   └── adv/                 # Advanced examples (multi-device coordination)
└── venv.sh                  # Virtual environment script
```

## Devices

### Robot

- **dummy**: Dummy robot, for testing and development
- **gello**: GELLO robot, based on Dynamixel servo
- **hexarm**: HexArm robot of HEXFELLOW

### Camera

- **dummy**: Dummy camera, for testing and development
- **berxel**: Berxel depth camera, providing RGB and depth images

### Mujoco

- **archer_d6y**: Physical simulation of Archer D6Y robot
- **e3_desktop**: Physical simulation of E3 Desktop robot

## Installation

### Install from PyPI

For those who only want to use the library in their projects, it is recommended to install it from PyPI.

```bash
pip install hex_zmq_servers
```

### Install from Source Code

For those who want to test the examples or contribute to the project, you can install it from source code.

```bash
git clone https://github.com/hexfellow/hex_zmq_servers.git
cd hex_zmq_servers
./venv.sh --all
```

## Examples

There are two types of examples in the project:

- **basic/**: Basic examples, showing the usage of a single device
- **adv/**: Advanced examples, showing multi-device coordination

More details please refer to [examples/README.md](examples/README.md)

## Contributions

Welcome to submit issues and pull requests!

## License

Apache License 2.0

## Contact

- Author: [Dong Zhaorui](https://github.com/IBNBlank)
- Maintainer: [jecjune](https://github.com/Jecjune)
- GitHub: [hex_zmq_servers](https://github.com/hexfellow/hex_zmq_servers)
- Issue Tracker: [hex_zmq_servers](https://github.com/hexfellow/hex_zmq_servers/issues)
