<div id="top"></div>
<!-- PROJECT LOGO -->
<br />
<div align="center">
<a href="https://helyosframework.org/">
<img src="helyos_logo.png" alt="Logo" height="80">
<img src="truck.png" alt="Logo" height="80">
</a>
<h3 align="center">helyOS Agent SDK</h3>
<p align="center">
Methods and data strrctures to connect autonomous vehicles to helyOS.
<br />
<a href="https://helyosframework.github.io/helyos_agent_sdk/"><strong>Explore the docs »</strong></a>
<br />
<br />
<a href="https://github.com/helyOSFramework/helyos_agent_slim_simulator">Demo</a>
·
<a href="https://github.com/helyOSFramework/helyos_agent_sdk/issues">Report Bug</a>
·
<a href="https://github.com/helyOSFramework/helyos_agent_sdk/issues">Request Feature</a>
</p>
</div>
## About The Project
The helyos-agent-sdk python package encloses methods and data structures definitions that facilitate the connection to helyOS core via RabbitMQ.
### List of features
* RabbitMQ client for communication with helyOS core.
* Support for both AMQP and MQTT protocols.
* Definition of agent and assignment status.
* Easy access to helyOS assignments and instant actions through callbacks.
* SSL support and application-level security with RSA signature.
* Automatic reconnection to handle connection disruptions.
### Install
```
pip install helyos_agent_sdk
```
### Usage
```python
from helyos_agent_sdk import HelyOSClient, AgentConnector
# Connect via AMQP
helyOS_client = HelyOSClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)
# Or connect via MQTT
# helyOS_client = HelyOSMQTTClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)
helyOS_client.connnect(username, password)
# Check in yard
initial_agent_data = {'name': "vehicle name", 'pose': {'x':-30167, 'y':-5415, 'orientations':[0, 0]}, 'geometry':{"my_custom_format": {}}}
helyOS_client.perform_checkin(yard_uid='1', agent_data=initial_agent_data, status="free")
helyOS_client.get_checkin_result() # yard data
# Communication
agent_connector = AgentConnector(helyOS_client)
agent_connector.publish_sensors(x=-30167, y=3000, z=0, orientations=[1500, 0], sensor= {"my_custom_format": {}})
# ... #
agent_connector.publish_state(status, resources, assignment_status)
# ... #
agent_connector.consume_instant_action_messages(my_reserve_callback, my_release_callback, my_cancel_assignm_callback, any_other_callback)
agent_connector.consume_assignment_messages(my_assignment_callback)
agent_connector.start_listening()
```
### Contributing
Keep it simple. Keep it minimal.
### License
This project is licensed under the MIT License
Raw data
{
"_id": null,
"home_page": "https://helyosframework.org",
"name": "helyos_agent_sdk",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": "autonomous driving, helyos, agent, robot",
"author": "Carlos Viol Barbosa , Julius Kolb ",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/dd/14/0156745644c00cd58612e23a489cc9d8bf8219dcc1674463ba1a03ccb24a/helyos_agent_sdk-0.7.7.tar.gz",
"platform": null,
"description": "<div id=\"top\"></div>\n\n<!-- PROJECT LOGO -->\n<br />\n<div align=\"center\">\n <a href=\"https://helyosframework.org/\">\n <img src=\"helyos_logo.png\" alt=\"Logo\" height=\"80\">\n <img src=\"truck.png\" alt=\"Logo\" height=\"80\">\n </a>\n\n <h3 align=\"center\">helyOS Agent SDK</h3>\n\n <p align=\"center\">\n Methods and data strrctures to connect autonomous vehicles to helyOS.\n <br />\n <a href=\"https://helyosframework.github.io/helyos_agent_sdk/\"><strong>Explore the docs \u00bb</strong></a>\n <br />\n <br />\n <a href=\"https://github.com/helyOSFramework/helyos_agent_slim_simulator\">Demo</a>\n \u00b7\n <a href=\"https://github.com/helyOSFramework/helyos_agent_sdk/issues\">Report Bug</a>\n \u00b7\n <a href=\"https://github.com/helyOSFramework/helyos_agent_sdk/issues\">Request Feature</a>\n </p>\n</div>\n\n## About The Project\n\nThe helyos-agent-sdk python package encloses methods and data structures definitions that facilitate the connection to helyOS core via RabbitMQ.\n\n### List of features\n\n* RabbitMQ client for communication with helyOS core.\n* Support for both AMQP and MQTT protocols.\n* Definition of agent and assignment status.\n* Easy access to helyOS assignments and instant actions through callbacks.\n* SSL support and application-level security with RSA signature. \n* Automatic reconnection to handle connection disruptions.\n\n### Install\n\n```\npip install helyos_agent_sdk\n\n```\n### Usage\n\n```python\n\nfrom helyos_agent_sdk import HelyOSClient, AgentConnector\n\n# Connect via AMQP\nhelyOS_client = HelyOSClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)\n\n# Or connect via MQTT\n# helyOS_client = HelyOSMQTTClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)\n\nhelyOS_client.connnect(username, password)\n\n# Check in yard\ninitial_agent_data = {'name': \"vehicle name\", 'pose': {'x':-30167, 'y':-5415, 'orientations':[0, 0]}, 'geometry':{\"my_custom_format\": {}}}\nhelyOS_client.perform_checkin(yard_uid='1', agent_data=initial_agent_data, status=\"free\")\nhelyOS_client.get_checkin_result() # yard data\n\n# Communication\nagent_connector = AgentConnector(helyOS_client)\nagent_connector.publish_sensors(x=-30167, y=3000, z=0, orientations=[1500, 0], sensor= {\"my_custom_format\": {}})\n\n# ... #\n\nagent_connector.publish_state(status, resources, assignment_status)\n\n# ... #\n\nagent_connector.consume_instant_action_messages(my_reserve_callback, my_release_callback, my_cancel_assignm_callback, any_other_callback)\nagent_connector.consume_assignment_messages(my_assignment_callback)\nagent_connector.start_listening()\n\n\n```\n\n\n### Contributing\n\nKeep it simple. Keep it minimal.\n\n\n### License\n\nThis project is licensed under the MIT License\n",
"bugtrack_url": null,
"license": null,
"summary": "Package encloses methods and data definitions that facilitate the connection of agents in the helyOS framework.",
"version": "0.7.7",
"project_urls": {
"Documentation": "https://helyosframework.github.io/helyos_agent_sdk/",
"Homepage": "https://helyosframework.org",
"Repository": "https://github.com/helyOSFramework/helyos_agent_sdk"
},
"split_keywords": [
"autonomous driving",
" helyos",
" agent",
" robot"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e488b53747e1ee3b9a864808716627923e257fd8defca19b48874e8cb9f045f8",
"md5": "a40c30b8340aa64855de7845b316565e",
"sha256": "a8a813af26399e222258874a055e9311e32cbd646a6e64882c723a777f4b4c30"
},
"downloads": -1,
"filename": "helyos_agent_sdk-0.7.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a40c30b8340aa64855de7845b316565e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 24065,
"upload_time": "2024-04-15T08:33:42",
"upload_time_iso_8601": "2024-04-15T08:33:42.842267Z",
"url": "https://files.pythonhosted.org/packages/e4/88/b53747e1ee3b9a864808716627923e257fd8defca19b48874e8cb9f045f8/helyos_agent_sdk-0.7.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dd140156745644c00cd58612e23a489cc9d8bf8219dcc1674463ba1a03ccb24a",
"md5": "e5d0b7e0086079794037b6fb6be6337b",
"sha256": "08a69614d745d5b119196b90a6450e637b6c8e1fac2ff30cc0b5066e676fef2c"
},
"downloads": -1,
"filename": "helyos_agent_sdk-0.7.7.tar.gz",
"has_sig": false,
"md5_digest": "e5d0b7e0086079794037b6fb6be6337b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 21130,
"upload_time": "2024-04-15T08:33:44",
"upload_time_iso_8601": "2024-04-15T08:33:44.510555Z",
"url": "https://files.pythonhosted.org/packages/dd/14/0156745644c00cd58612e23a489cc9d8bf8219dcc1674463ba1a03ccb24a/helyos_agent_sdk-0.7.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-15 08:33:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "helyOSFramework",
"github_project": "helyos_agent_sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "helyos_agent_sdk"
}