Meta-ROS middleware
Project description
Meta-ROS
Zero-dependency ROS-like middleware for Python
This module acts as a middleware for communication between different processes using ZeroMQ. It consists of Publisher, Subscriber and MessageBroker classes to be able to publish and subscribe messages to a topic. The module contains different message types including string, int, float and more.
Why Meta-ROS?
A middleware solution designed for process communication, incorporating Publisher, Subscriber, and MessageBroker classes. It handles various message types, including strings, integers, and floats, facilitating seamless data exchange. This module fosters a cohesive and scalable robotics environment, driving innovation and research by enabling efficient communication and robust integration across different systems.
Installation
To install the library, use pip:
pip install metaros
Usage
The library is composed of three main classes: Publisher
, Subscriber
and
MessageBroker
.
MessageBroker
The MessageBroker
class is used to create a message broker that can be used by
publishers and subscribers to communicate with each other.
from metaros import MessageBroker
broker = MessageBroker()
Publisher
The Publisher
class is used to publish messages to a topic. The constructor takes two
arguments: the topic name and the message type. The topic name is a string, while the
message type is a Python class. The message type is used to serialize and deserialize
messages.
from metaros import Publisher
pub = Publisher("topic_name", String)
pub.publish("Hello world!")
Subscriber
The Subscriber
class is used to subscribe to a topic and receive messages. The constructor
takes two arguments: the topic name and the message type. The topic name is a string, while
the message type is a Python class. The message type is used to serialize and deserialize
messages.
import time
from metaros import Subscriber
def callback(msg):
print(msg)
sub = Subscriber("topic_name", String, callback)
while True:
# Do something else
time.sleep(1)
# Stop the subscriber
sub.stop()
Messages
The library comes with a few built-in messages that can be used out of the box. The following messages are available:
std_msgs.String
std_msgs.Int
std_msgs.Float
std_msgs.Bool
std_msgs.Header
geometry_msgs.Vector3
geometry_msgs.Vector3Stamped
geometry_msgs.Twist
geometry_msgs.Quaternion
geometry_msgs.Pose
geometry_msgs.PoseStamped
geometry_msgs.PoseWithCovariance
geometry_msgs.TwistWithCovariance
nav_msgs.Odometry
nav_msgs.Path
sensors_msgs.LaserScan
sensors_msgs.Image
- More to come...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file metaros-1.0.5.tar.gz
.
File metadata
- Download URL: metaros-1.0.5.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67727277a7389817da2eccc086414b9376ba9e4b8c19a544b1a8c9ac4cd61408 |
|
MD5 | 279d7717ac66b2ae6778963f1828f156 |
|
BLAKE2b-256 | 80dad96f72e901c4bf352ece74e00aa0af8a561804d41306703be9685f1dcea6 |