flexxros - Python Web GUIs for ROS

I recently needed to write a small web GUI for one my ROS projects. Since I don’t feel comfortable with javascript, html, etc., I instead turned to flexx for this and it turned out to be an excellent choice. To make it simpler to develop GUIs in future projects, I developed a library that makes all of this very easy, called flexxros with (somewhat sparse) documentation available here.
Importantly, you can still use all the widgets provided by flexx to build more complex GUIs.

It uses python 3 to define a webserver and client in a single script (see e.g. this example) and communicates between the two using websockets. I don’t know how performant this setup is compared e.g. to rosbridge but it serves my purposes at least (minimal coding and no html/javascript required).

I would be happy if people tried it out and provided some early feedback, either through filing an issue or posting here. If anyone would like to contribute, you are more than welcome to submit PRs!

Best,
Nils

7 Likes