Hi everyone,
Apparently there is still no “python” category or tag yet in discourse… despite all the drawbacks in ROS python workflow coming from a standard python development workflow.
So I was wondering if I am really alone doing dynamic “modern” python2 in ROS1 ?
I have been working for a bit more than a year now to get decent, dynamic, modern, python integration with ROS, and I wanted to get the word out and get a bit of feedback from potential users.
So if you are interested by integrating dynamic languages with ROS1 you can have a look at some of the most useful packages :
- GitHub - pyros-dev/catkin_pip: Catkin extension to play nice with usual python packages and workflow → Integrate pip with catkin. Main benefits : work with python packages not made for ROS, third party ROS release of pip packages become trivial, no fork needed.
- GitHub - pyros-dev/pyros-setup: Misc tools to be able to setup and run ROS from python → Dynamic configuration-based ROS environment setup. Main benefit : no custom setup step for ROS. You can use your python IDE features working out of the box with ROS.
- GitHub - pyros-dev/pyros: Python interfacing for multiprocess software - A Python blanket for ROS to hide inside → Dynamic ROS interface. Main benefit : any usual python package can interact with ROS systems underneath. GitHub - pyros-dev/rostful: A lightweight package for providing and consuming ROS services, actions, and topics as RESTful web services is an example of that.
- And I am currently working to be able to use messages with optional fields working with ROS in GitHub - pyros-dev/pyros-msgs: ROS messages and service definitions for use with pyros in order to be able to cooperate easily with other messaging systems (json and REST is a first usecase).
All these use rospy underneath, so all usual features are still available, and your usual ROS still works in the same way.
However recent python standard workflow and conventions apply so we get all the benefits from recent python2 and tools improvements.
Anyone interested ? Any potentially useful feature missing from there ? Just let me know.