# Python binding to Connext vs FRTPS

**URL:** <https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207>\
**Category:** ROS General\
**Created:** [January 24, 2017, 6:25pm UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207 "2017-01-24T18:25:22Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![vdiluoffo](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@vdiluoffo](https://discourse.openrobotics.org/u/vdiluoffo)\
**Post date:** [January 24, 2017, 6:25pm UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/1 "2017-01-24T18:25:22Z")

</div>

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 [GitHub - stharding/pyDDS: Python bindings to RTI's Data Distribution Service library](https://github.com/stharding/pyDDS) a wrapper for python to dds, but not sure if this is correct step to take.

Thanks  
Vince

---

<div class="post-metadata">

**Author:** ![wjwwood](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/wjwwood/32/13715_2.png) [@wjwwood](https://discourse.openrobotics.org/u/wjwwood)\
**Post date:** [January 24, 2017, 6:50pm UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/2 "2017-01-24T18:50:04Z")

</div>

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).

---

<div class="post-metadata">

**Author:** ![gbiggs](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/gbiggs/32/30361_2.png) [@gbiggs](https://discourse.openrobotics.org/u/gbiggs)\
**Post date:** [January 25, 2017, 12:51am UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/3 "2017-01-25T00:51:54Z")

</div>

If you are asking if the ROS 2 Python client library can use rmw\_connext, then the answer is yes, it can. It does so via the C client library.

---

<div class="post-metadata">

**Author:** ![marguedas](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/marguedas/32/1633_2.png) [@marguedas](https://discourse.openrobotics.org/u/marguedas)\
**Post date:** [January 25, 2017, 1:23am UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/4 "2017-01-25T01:23:32Z")

</div>

> [@gbiggs](#):
>
> If you are asking if the ROS 2 Python client library can use rmw\_connext, then the answer is yes, it can. It does so via the C client library.

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.

---

<div class="post-metadata">

**Author:** ![vdiluoffo](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@vdiluoffo](https://discourse.openrobotics.org/u/vdiluoffo)\
**Post date:** [January 25, 2017, 2:44pm UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/5 "2017-01-25T14:44:29Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![marguedas](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/marguedas/32/1633_2.png) [@marguedas](https://discourse.openrobotics.org/u/marguedas)\
**Post date:** [January 25, 2017, 11:20pm UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/6 "2017-01-25T23:20:32Z")

</div>

@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`

Hope this is what you’re looking for

---

<div class="post-metadata">

**Author:** ![dhood](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dhood/32/1121_2.png) [@dhood](https://discourse.openrobotics.org/u/dhood)\
**Post date:** [January 25, 2017, 11:51pm UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/7 "2017-01-25T23:51:44Z")

</div>

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.

This page gives some more information about switching RMW implementations: [GitHub - ros2/ros2: The Robot Operating System, is a meta operating system for robots.](https://github.com/ros2/ros2/wiki/Working-with-multiple-RMW-implementations)

---

<div class="post-metadata">

**Author:** ![vdiluoffo](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@vdiluoffo](https://discourse.openrobotics.org/u/vdiluoffo)\
**Post date:** [January 26, 2017, 1:10am UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/8 "2017-01-26T01:10:57Z")

</div>

I using Beta 1 release

---

<div class="post-metadata">

**Author:** ![vdiluoffo](https://avatars.discourse-cdn.com/v4/letter/v/8edcca/32.png) [@vdiluoffo](https://discourse.openrobotics.org/u/vdiluoffo)\
**Post date:** [January 26, 2017, 1:32am UTC](https://discourse.openrobotics.org/t/python-binding-to-connext-vs-frtps/1207/9 "2017-01-26T01:32:12Z")

</div>

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
