<div id="top"></div>
<!-- PROJECT LOGO -->
<br />
<div align="center">
<a href="https://github.com/">
<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://fraunhoferivi.github.io/helyOS-agent-sdk/"><strong>Explore the docs »</strong></a>
<br />
<br />
<a href="https://github.com/">View Demo</a>
·
<a href="https://github.com/FraunhoferIVI/helyOS-agent-sdk/issues">Report Bug</a>
·
<a href="https://github.com/FraunhoferIVI/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 through 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.
### Authors
* Carlos E. Viol Barbosa
* ...
### License
This project is licensed under the MIT License
Raw data
{
"_id": null,
"home_page": "https://helyos.ivi.fraunhofer.de",
"name": "helyos-agent-sdk",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "autonomous driving,helyos,sdk",
"author": "Carlos Viol Barbosa",
"author_email": "you@example.com",
"download_url": "https://files.pythonhosted.org/packages/68/d5/ca6b6d539586b9120b5ebeaf00a60496e16089c167c795a008238f888803/helyos_agent_sdk-0.7.4.tar.gz",
"platform": null,
"description": "<div id=\"top\"></div>\n\n<!-- PROJECT LOGO -->\n<br />\n<div align=\"center\">\n <a href=\"https://github.com/\">\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://fraunhoferivi.github.io/helyOS-agent-sdk/\"><strong>Explore the docs \u00bb</strong></a>\n <br />\n <br />\n <a href=\"https://github.com/\">View Demo</a>\n \u00b7\n <a href=\"https://github.com/FraunhoferIVI/helyOS-agent-sdk/issues\">Report Bug</a>\n \u00b7\n <a href=\"https://github.com/FraunhoferIVI/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 through 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### Authors\n\n* Carlos E. Viol Barbosa\n* ...\n\n### License\n\nThis project is licensed under the MIT License\n",
"bugtrack_url": null,
"license": "",
"summary": "",
"version": "0.7.4",
"project_urls": {
"Documentation": "https://fraunhoferivi.github.io/helyOS-agent-sdk/",
"Homepage": "https://helyos.ivi.fraunhofer.de",
"Repository": "https://github.com/FraunhoferIVI/helyOS-agent-sdk"
},
"split_keywords": [
"autonomous driving",
"helyos",
"sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5dfd9f0af588089ecbd5d3708f44e3982c0fd0fac00dd2d23fec9852690fd438",
"md5": "1b2b89d57b472da170af2f6cde04b73f",
"sha256": "82895376ed9a6515bc99bb66d1272ebd768432c8e24ee07562bdea856d74766a"
},
"downloads": -1,
"filename": "helyos_agent_sdk-0.7.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1b2b89d57b472da170af2f6cde04b73f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 23832,
"upload_time": "2024-01-23T15:39:17",
"upload_time_iso_8601": "2024-01-23T15:39:17.361830Z",
"url": "https://files.pythonhosted.org/packages/5d/fd/9f0af588089ecbd5d3708f44e3982c0fd0fac00dd2d23fec9852690fd438/helyos_agent_sdk-0.7.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "68d5ca6b6d539586b9120b5ebeaf00a60496e16089c167c795a008238f888803",
"md5": "3ea3958fb01589f8938c6e5229acd383",
"sha256": "5b0305af52b314e705fa1708b028319532c60e899beb302323067ec0c128e9f2"
},
"downloads": -1,
"filename": "helyos_agent_sdk-0.7.4.tar.gz",
"has_sig": false,
"md5_digest": "3ea3958fb01589f8938c6e5229acd383",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 20912,
"upload_time": "2024-01-23T15:39:21",
"upload_time_iso_8601": "2024-01-23T15:39:21.372568Z",
"url": "https://files.pythonhosted.org/packages/68/d5/ca6b6d539586b9120b5ebeaf00a60496e16089c167c795a008238f888803/helyos_agent_sdk-0.7.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-23 15:39:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "FraunhoferIVI",
"github_project": "helyOS-agent-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "helyos-agent-sdk"
}