At the time of development,
rclpy wasn’t in a state which easily allowed us to integrate lifecycle nodes in Python. That’s why we have it only available in C++ as for now.
We anticipated however, that lifecycles are also important to have in Python, so we tried to have as much functionality covered in
rcl, so that
rclpy really only has to wrap/implement as little as needed.
That is, the state machine with its transitions, as well as a basic communication interface for transition events and services are established within
rcl. A high level language really only has to bind callbacks to these services and provide boilerplate to change transitions either via API or service callbacks.
I am not aware of any roadmap specifically designed for Python and Lifecycle nodes, but it shouldn’t be too hard to replicate a lifecycle node. You might want to have a look at what’s implemented in C++, which uses the functionality provided by
rcl, to judge how much work it’ll be in Python.