better_launch: a replacement for the ROS2 launch system - intuitive, simple, memorable

I think it is!

See Why does the ROS2 Python launch files look like XML written in Python? - #7 by wjwwood

Agreed, that’s definitely a documentation issue. For some context, we started by only having the Python API due to time constraints, so we documented how to use it for making launch files a bit, in order to have something. Later we finished the frontends which let you use XML and YAML. I’ve always believed these should be what most people should use most of the time.

Honestly in my experience launch is still pretty XML-friendly and the YAML can be a little weirdly XML-like in some cases. Unfortunately I never have had time to try to learn the launch internals enough to tackle this, for example:

I think for now the best thing to do is raise awareness and start using XML as much as possible.

For those things that really are easier and better to do in imperative Python,OpaqueFunction is always an option.