<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/74/69/ea14e53d87cb22f4f412c1a3890b982b353f807dae57cc8920c2a3a1b672/helyos_agent_sdk-0.8.1.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.8.1",
"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": "ee58688a65efe7a3c29a3ce82a400a78bf1a943bf83e7b193d532a26e171ea68",
"md5": "3d6e52f72335b8c22a095811ef9795e9",
"sha256": "3382f2610c1c5b1590143168f48d99fac5d97fafcc6228d017f5fe3a19c264e9"
},
"downloads": -1,
"filename": "helyos_agent_sdk-0.8.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3d6e52f72335b8c22a095811ef9795e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 24439,
"upload_time": "2025-02-17T14:26:28",
"upload_time_iso_8601": "2025-02-17T14:26:28.073964Z",
"url": "https://files.pythonhosted.org/packages/ee/58/688a65efe7a3c29a3ce82a400a78bf1a943bf83e7b193d532a26e171ea68/helyos_agent_sdk-0.8.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7469ea14e53d87cb22f4f412c1a3890b982b353f807dae57cc8920c2a3a1b672",
"md5": "2686cc9ee3e84d1f53ffc128040e5ddf",
"sha256": "f911b50b6395f1654ebc665da57a16dd83b3cde4c7f25572b0f614d332eb1325"
},
"downloads": -1,
"filename": "helyos_agent_sdk-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "2686cc9ee3e84d1f53ffc128040e5ddf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 21409,
"upload_time": "2025-02-17T14:26:32",
"upload_time_iso_8601": "2025-02-17T14:26:32.208658Z",
"url": "https://files.pythonhosted.org/packages/74/69/ea14e53d87cb22f4f412c1a3890b982b353f807dae57cc8920c2a3a1b672/helyos_agent_sdk-0.8.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-17 14:26:32",
"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"
}