helyos_agent_sdk


Namehelyos_agent_sdk JSON
Version 0.7.7 PyPI version JSON
download
home_pagehttps://helyosframework.org
SummaryPackage encloses methods and data definitions that facilitate the connection of agents in the helyOS framework.
upload_time2024-04-15 08:33:44
maintainerNone
docs_urlNone
authorCarlos Viol Barbosa , Julius Kolb
requires_python<4.0,>=3.7
licenseNone
keywords autonomous driving helyos agent robot
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 0.27399s