RTI Python API
Python language libraries extend Python applications with the rich feature set of Connext.
Introduction
The RTI Python API is designed to help DDS users with Python programming skills to accelerate development of their systems. It provides a development environment that allows users to continue using the simplicity of the Python language with the advanced features of Connext to build scalable, distributed applications.
RTI Python API is a fully supported product included with Connext 7.x and interoperable with older versions. For older versions of Connext, please see the RTI Connector for Python.
The Python API provides a more comprehensive API than RTI Connector for Python. While Connector provides a quick and easy way to write Python applications that publish and subscribe to the RTI Connext databus, it lacks advanced features that full Connext APIs provide, such as dynamic creation of entities and types, mutable QoS, status updates and more.
Features
- Full API modeled after the RTI Modern C++ API
- User types defined in IDL types or Python
- Create entities in code
- QoS configuration/mutability in code
- User accessible Listeners and WaitSets with support for all Condition types
- Standard content filtered topics and custom content filters, with the ability to modify filter parameters at runtime.
- Access to built-in DDS discovery topics
- Compatible with existing RTI shared library plugins1
- Alternative to existing blocking reading methods via Python asyncio compatible methods2
- Ability to prototype a system in the RTI Python Connector, then use the Python API to continue development
- Works with user types, DynamicData and built-in types (XML or in code)
- Offers a dictionary-like API for DynamicData in addition to the normal API, providing a Pythonic approach to accessing and modifying the fields of user data types
- Support for complex communication patterns such as Request-Reply and Remote Procedure Calls
- Support for RTI Distributed Logger and integration with Python logging module
1 Packaging and using plugins may depend on the operating system and Python version
2 Only compatible with Python version 3.7 or later