Metadata-Version: 2.1
Name: helyos-agent-sdk
Version: 0.1.4
Summary: 
Home-page: https://helyos.ivi.fraunhofer.de
Keywords: autonomous driving,helyos,sdk
Author: Carlos Viol Barbosa
Author-email: you@example.com
Requires-Python: >=3.7,<4.0
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: dataclasses-json (>=0.5.7,<0.6.0)
Requires-Dist: pika (>=1.3.1,<2.0.0)
Requires-Dist: pycryptodome (>=3.15.0,<4.0.0)
Project-URL: Documentation, https://fraunhoferivi.github.io/helyOS-agent-sdk/
Project-URL: Repository, https://github.com/FraunhoferIVI/helyOS-agent-sdk
Description-Content-Type: text/markdown

<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 to communicate with helyOS. 
*   Check-in method.
*   Agent and assignment status definitions. 
*   Easy access to helyOS assignments via callbacks. 
*   Application-level encryption.

### Install

```
pip install helyos_agent_sdk

```
### Usage

```python
os.environ['AGENTS_UL_EXCHANGE'] = "xchange_helyos.agents.ul"
os.environ['AGENTS_DL_EXCHANGE'] = "xchange_helyos.agents.dl"
os.environ['AGENT_ANONYMOUS_EXCHANGE'] = "xchange_helyos.agents.anonymous"
from helyos_agent_sdk import HelyOSClient, AgentConnector

# Check in
helyOS_client = HelyOSClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)
helyOS_client.perform_checkin(yard_uid='1', agent_data=agent_data, status="free")
helyOS_client.get_checkin_result()


# Communication
agent_connector = AgentConnector(helyOS_client)
agent_connector.publish_sensors(x=-30167, y=3000, z=0, orientations=[1500, 0], sensor= {"my_sensor": 12})

# ... #

agentConnector.publish_state(status, resources, assignment_status)

# ... #

agentConnector.consume_instant_action_messages(my_reserve_callback, my_release_callback, my_cancel_assignm_callback, any_other_callback)
agentConnector.consume_assignment_messages(my_assignment_callback)
agentConnector.start_consuming()


```


### Contributing

Keep it simple. Keep it minimal.

### Authors 

*   Carlos E. Viol Barbosa
*   ...

### License

This project is licensed under the MIT License
