FAQ
Is synchros2 an alternative to rclpy?
It is not an alternative, it is an extension. synchros2 builds on top of rclpy to enable a synchronous programming model that is closer in spirit to rospy.
Still, synchros2 is fully compatible with rclpy by construction.
What are these deadlocks synchros2 solves?
By default, rclpy will resort to a single threaded executor to dispatch callbacks. A blocking callback will prevent the rest from executing, which can easily
lead to deadlocks if the awaited event depends, directly or indirectly, on callback dispatch (e.g. message arrival). Multi-threaded executors mitigate these
effects but rclpy provided ones require careful configuration. synchros2 default executor precludes this entirely.