First public release of the RTI UMAA Python SDK. Delivers everything needed to build a working UMAA component using Tier 0 (command) and Tier 1 (report) service templates.
DDSContext— Singleton DDS infrastructure manager with auto QoS assignment viaUMAA_QOS_FILE, topic cache, service registry, and coordinated shutdownBaseService— Abstract base class with auto-registration,close()lifecycle, and optional_run()coroutineBaseComponent— Abstract base class for multi-service components withon_start(),_run(), andclose()lifecycle hooksCommandProvider— Tier 0 server-side command template with full ICD state machine (ISSUED → COMMANDED → EXECUTING → COMPLETED/FAILED/CANCELED), 7 async hooks, content-filtered reader, automatic ack/status publishingCommandConsumer— Tier 0 client-side command template withsend(),cancel(), discovery waiting, and lifecycle hooks (on_status,on_ack,on_exec_status,on_terminal)CommandProviderSession— Per-command state machine with validated transitions (D51 fail-reason checking), cancel/fail/update supportReportProvider— Tier 1 single-topic publisher with field validation and instance disposal on closeReportConsumer— Tier 1 single-topic subscriber with asyncon_report()hook
GUIDUtil— GUID generation, hex conversion for CFT filter expressions, UUID string conversionUmaaTimestamp/set_timestamp()— UMAA DateTimeType ↔ Python datetime bidirectional conversionCommandHookError/CommandFailedError/AssemblyError— Typed exception hierarchyCommandResult— Command execution result wrapper- Field validation — Automatic numeric range and enum validation against UMAA IDL constraints
- 350 concrete service classes across 7 UMAA domains:
- CO (Common Operations) — 42 classes
- EO (Engineering Operations) — 58 classes
- MM (Mission Management) — 70 classes
- MO (Maritime Operations) — 18 classes
- SA (Situational Awareness) — 66 classes
- SEM (Sensors) — 26 classes
- SO (System Operations) — 70 classes
- Auto-generated from UMAA IDL via
tools/generate_services.py - Each class pre-wires command/ack/status/exec_status types and topic names
- 596 Python type modules in
rtiumaapy.datamodelgenerated from UMAA IDL usingrtiddsgen
- Autopilot component — Full 18-service UMAA component (4 command providers, 4 command consumers, 4 report providers, 6 report consumers)
- GlobalVector consumer — Minimal command consumer example
- 4 QoS profiles via XML
topic_filterrules (TelemetryQoS, CommandQoS, ConfigQoS, ElementQoS) - AssignerQoS automatic profile matching by topic name suffix
- USTM tool compatibility mode (commented, ready to enable)
- Cyclone DDS interoperability support
- 1,628 tests passing (unit + DDS integration)
- ~1,400 parametrized service library import/subclass/binding tests
- Full command lifecycle tests (ack, status, exec_status, rejection, cancellation, update, failure, crash recovery)
- Full report lifecycle tests (pub/sub, validation, dispose)
- QoS topic_filter regression tests
- Tier 2: Large Set services (LargeSetReportProvider/Consumer)
- Tier 3: Large List services (LargeListReportProvider/Consumer)
- Tier 4: Composite services (explicit multi-topic assembly)