{"id":21412601,"url":"https://github.com/anshulranjan2004/meta-ros","last_synced_at":"2026-02-07T10:04:35.071Z","repository":{"id":254610087,"uuid":"845149662","full_name":"AnshulRanjan2004/Meta-ROS","owner":"AnshulRanjan2004","description":"A versatile and developer-friendly meta operating system for robotics that seamlessly integrates diverse hardware platforms and simplifies application development in the face of evolving robotic technologies.","archived":false,"fork":false,"pushed_at":"2024-12-16T14:53:49.000Z","size":1579,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T22:51:10.659Z","etag":null,"topics":["python","robotframework","robotics","ros","ros2"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/metaros/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnshulRanjan2004.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T17:16:48.000Z","updated_at":"2024-11-22T04:28:28.000Z","dependencies_parsed_at":"2024-11-22T05:31:09.833Z","dependency_job_id":null,"html_url":"https://github.com/AnshulRanjan2004/Meta-ROS","commit_stats":null,"previous_names":["anshulranjan2004/meta-ros"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/AnshulRanjan2004/Meta-ROS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnshulRanjan2004%2FMeta-ROS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnshulRanjan2004%2FMeta-ROS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnshulRanjan2004%2FMeta-ROS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnshulRanjan2004%2FMeta-ROS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnshulRanjan2004","download_url":"https://codeload.github.com/AnshulRanjan2004/Meta-ROS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnshulRanjan2004%2FMeta-ROS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265233753,"owners_count":23731825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","robotframework","robotics","ros","ros2"],"created_at":"2024-11-22T18:11:45.746Z","updated_at":"2026-02-07T10:04:35.046Z","avatar_url":"https://github.com/AnshulRanjan2004.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meta-ROS\n\n# Zero-dependency ROS-like middleware for Python\nThis 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.\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.org/project/metaros/\"\u003e\n        \u003cimg alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/metaros\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/AnshulRanjan2004/Meta-ROS/actions/workflows/python-publish.yml\"\u003e\n        \u003cimg alt=\"Wheels\" src=\"https://github.com/AnshulRanjan2004/Meta-ROS/actions/workflows/python-publish.yml/badge.svg\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/AnshulRanjan2004/Meta-ROS\"\u003e\n    \t\u003cimg src=\"https://img.shields.io/badge/platform-Linux%20%7C%20Windows%20%7C%20macOS-blue.svg\" alt=\"platforms\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/AnshulRanjan2004/Meta-ROS\"\u003e\n    \t\u003cimg src=\"https://static.pepy.tech/badge/metaros\" alt=\"Downloads\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/AnshulRanjan2004/Meta-ROS/blob/main/LICENSE\"\u003e\n        \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/License-BSD_3--Clause-blue.svg\"\u003e\n    \u003c/a\u003e\n    \u003cbr/\u003e\n\u003c/p\u003e\n\n## Why Meta-ROS?\nA 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.\n\n## Installation\nTo install the library, use pip:\n\n```bash\npip install metaros\n```\n\n## Usage\nThe library is composed of three main classes: `Publisher`,  `Subscriber` and \n`MessageBroker`.\n\n### MessageBroker\nThe `MessageBroker` class is used to create a message broker that can be used by\npublishers and subscribers to communicate with each other.\n\n```python\nfrom metaros import MessageBroker\n\nbroker = MessageBroker()\n```\n\n### Publisher\nThe `Publisher` class is used to publish messages to a topic. The constructor takes two\narguments: the topic name and the message type. The topic name is a string, while the\nmessage type is a Python class. The message type is used to serialize and deserialize\nmessages.\n\n```python\nfrom metaros import Publisher\n\npub = Publisher(\"topic_name\", String)\npub.publish(\"Hello world!\")\n```\n\n### Subscriber\nThe `Subscriber` class is used to subscribe to a topic and receive messages. The constructor\ntakes two arguments: the topic name and the message type. The topic name is a string, while\nthe message type is a Python class. The message type is used to serialize and deserialize\nmessages.\n\n```python\nimport time\nfrom metaros import Subscriber\n\ndef callback(msg):\n    print(msg)\n\nsub = Subscriber(\"topic_name\", String, callback)\nwhile True:\n    # Do something else\n    time.sleep(1)\n\n# Stop the subscriber\nsub.stop()\n```\n\n### Messages\nThe library comes with a few built-in messages that can be used out of the box. The\nfollowing messages are available:\n\n* `std_msgs.String`\n* `std_msgs.Int`\n* `std_msgs.Float`\n* `std_msgs.Bool`\n* `std_msgs.Header`\n* `geometry_msgs.Vector3`\n* `geometry_msgs.Vector3Stamped`\n* `geometry_msgs.Twist`\n* `geometry_msgs.Quaternion`\n* `geometry_msgs.Pose`\n* `geometry_msgs.PoseStamped`\n* `geometry_msgs.PoseWithCovariance`\n* `geometry_msgs.TwistWithCovariance`\n* `nav_msgs.Odometry`\n* `nav_msgs.Path`\n* `sensors_msgs.LaserScan`\n* `sensors_msgs.Image`\n* More to come...\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanshulranjan2004%2Fmeta-ros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanshulranjan2004%2Fmeta-ros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanshulranjan2004%2Fmeta-ros/lists"}