Metadata-Version: 2.4
Name: umaapy
Version: 1.1.1
Summary: Python UMAA SDK for rapid autonomy development
Author-email: Devon Reed <clr5436@psu.edu>
Project-URL: Homepage, https://github.com/dkreed747/umaapy
Project-URL: Repository, https://github.com/dkreed747/umaapy
Project-URL: Issues, https://github.com/dkreed747/umaapy/issues
Project-URL: Documentation, https://dkreed747.github.io/umaapy/
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rti.connext>=7.5.0
Provides-Extra: tests
Requires-Dist: pytest>=8.4.1; extra == "tests"
Requires-Dist: pytest-cov>=6.2.1; extra == "tests"
Provides-Extra: docs
Requires-Dist: Sphinx>=8.2.3; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=3.2.0; extra == "docs"
Requires-Dist: autodocsumm>=0.2.14; extra == "docs"
Requires-Dist: sphinx_rtd_theme>=3.0.2; extra == "docs"
Requires-Dist: doc8>=2.0.0; extra == "docs"
Requires-Dist: sphinxcontrib-mermaid>=1.0.0; extra == "docs"
Requires-Dist: rstcheck>=6.2.5; extra == "docs"
Dynamic: license-file

# UMAAPy

[![CI](https://github.com/dkreed747/umaapy/actions/workflows/ci.yml/badge.svg)](https://github.com/dkreed747/umaapy/actions/workflows/ci.yml)
[![Docs](https://github.com/dkreed747/umaapy/actions/workflows/docs.yml/badge.svg)](https://github.com/dkreed747/umaapy/actions/workflows/docs.yml)
[![PyPI - Version](https://img.shields.io/pypi/v/umaapy.svg)](https://pypi.org/project/umaapy/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

UMAAPy is a Python SDK for building UMAA-compliant maritime autonomy applications on top of RTI Connext DDS. It provides:

- High-level reader/writer adapters for UMAA multi-topic graphs (generalization/specialization, Large Sets, Large Lists)
- Convenient editors for composing complex nested messages for publishing
- Simple helpers for building report providers/consumers and command providers/consumers

Quick start
-----------

Install:

```bash
pip install umaapy
```

Minimal reader/writer:

```python
from umaapy import get_configurator, reset_dds_participant
from umaapy.umaa_types import UMAA_SA_GlobalPoseStatus_GlobalPoseReportType as GlobalPoseReport

reset_dds_participant()
cfg = get_configurator()
reader = cfg.get_reader(GlobalPoseReport)
writer = cfg.get_writer(GlobalPoseReport)

writer.write(GlobalPoseReport())
print(len(list(reader.read_data())))
```

Docs & links
------------

- **Docs**: https://dkreed747.github.io/umaapy/
- **Source**: https://github.com/dkreed747/umaapy
- **Issues**: https://github.com/dkreed747/umaapy/issues
- Build locally: `sphinx-build -b html docs docs/_build/html`

License
-------

MIT
