Metadata-Version: 2.4
Name: tso-robotics-sockets
Version: 0.1.0
Summary: Lightweight ZMQ socket communication for robotics inference servers
Project-URL: Repository, https://github.com/Lorenzo-Mazza/tso_robotics_sockets
Author-email: Lorenzo Mazza <lorenzo.mazza@nct-dresden.de>, Ariel Rodriguez <ariel.rodriguezjimenez@nct-dresden.de>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Networking
Requires-Python: >=3.10
Requires-Dist: numpy
Requires-Dist: opencv-python-headless
Requires-Dist: pyzmq
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == 'test'
Description-Content-Type: text/markdown

# tso-robotics-sockets

Lightweight ZMQ socket communication for robotics inference servers.

Provides a `SocketClient` / `SocketServer` pair plus array compression utilities for sending images and numpy arrays over ZeroMQ.

## Installation

```bash
pip install .
```

## Quick start

```python
from tso_robotics_sockets import SocketServer, SocketClient, ServerRoute

# Server
server = SocketServer(ip_address="0.0.0.0", port=5555)
server.add_route("echo", lambda msg: (True, msg), blocking=True)
server.run()

# Client (separate process)
client = SocketClient(server_address="localhost", server_port=5555)
response = client.send_request(route_name="echo", dict_data={"hello": "world"})
client.close()
```