In this time of revolution between the regimes of ROS 1 and ROS 2, Betsy ROS creates a unified banner
Translation: This package is a unified Python API for certain "meta" ROS API calls that work the same in ROS 1 and ROS 2.
sudo pip3 install betsy-ros
get_workspace_root
returns aBuildType
andpathlib.Path
indicating the type and location of the current workspace.BuildType
can beCATKIN_MAKE
,CATKIN_TOOLS
, orCOLCON
get_ros_version
returns anint
andstr
indicating the ROS version (1 or 2) and the distro short-name (e.g.lunar
,bouncy
)
get_package_name_from_path
returns the name of the package that the initial path is in (including subfolders)get_package_names
returns a set of strings of all the current package names, including the binary packages and the workspace packagesfind_package
returns the path to a given packageis_binary_ros
returns True if the path passed to it is in the/opt/ros
folder
(i.e. messages, services and actions)
- The class
ROSInterface
has three key attributes: - package
- type
- name
list_interfaces
yieldsROSInterface
instances for all messages/services/actions in the environment.
Package logo from artwork by Jean Leon Gerome Ferris (1863–1930): Betsy Ross 1777