I know that Python layer isn’t complete, but would like to understand if I can bind python to rmw_connext now and if so, how? I saw a utility https://github.com/stharding/pyDDS a wrapper for python to dds, but not sure if this is correct step to take.
You could use pyDDS to “talk” with any DDS compliant system, including ROS 2, but you would be missing a lot of functionality provided above and beyond the DDS API, which will be provided by our Python bindings (like namespaces, parameters, timers, actions, etc).
One detail to point out though, is that ROS2 doesn’t implement C services with connext yet. As a result the Python bindings for services will not work for Connext while they work for FastRTPS.
Everything else should work the the same way with both implementations within the limits of what the current Python layer supports.
Hi William, Geoffrey and Mikael
Thanks for your replies and yes, I was asking if Python can bind with rmw_connext implementation layer. Currently, I have Python to FRPTS working (default), but would like to use Connext. The package.xml only has ament_python as an element for configuration. So is it supported or as Mikael stated not implemented yet? Both _rclpy_implementation_rmw_agnostic.c and _rclpy.c are the sources for rclpy.
@vdiluoffo are you using Beta1 or the current master ?
If using Beta 1, you can define the rmw_implementation to use with rclpy by defining the environment variable RCLPY_IMPLEMENTATION: export RCLPY_IMPLEMENTATION=rmw_connext_cpp
If using master, there is a single env variable used for both rlcpp and rclpy: RMW_IMPLEMENTATION: export RMW_IMPLEMENTATION=rmw_connext_cpp
to add to what the others have said, in order to use the rmw_connext_cpp implementation, you will have to ensure that that package itself has been built. the binaries only provide support for rmw_fastrtps_cpp, but you can get Connext support if you are building from source.
Sorry mistyped that was supposed to be I’m using Beta 1 release and thanks for the link. The following worked RCLPY_IMPLEMENTATION=rmw_connext_cpp talker_py