The rospkg Python module provides basic utilities for querying information about ROS packages, stacks, and distributions. There are several basic APIs: ROS environment, RosPack/RosStack, OS detection, and distributions.
The environment APIs enable access to environment settings that define the ROS package/stack filesystem configuration. The RosPack and RosStack APIs are similar to the rospack and rosstack command-line tools and provide information about dependency, location, and other package/stack metadata. The Manifest class provides access to a specific package/stack’s manifest information. NOTE: the Manifest class API is still volatile. Where possible, use the relevant RosPack/RosStack APIs to access manifest-related information instead (e.g. dependency relationships).
The rospkg.distro sub-module provides access to ROS distribution files, which describe collections of ROS stacks releases. This API is module is still unstable and mainly supports internal tools.
Example:
import rospkg
ros_root = rospkg.get_ros_root()
r = rospkg.RosPack()
depends = r.get_depends('roscpp')
path = r.get_path('rospy')
Requested resource (e.g. package/stack) could not be found.
Version of this module.
rospkg is already a dependency of many core packages of ROS, so it should get automatically installed when you follow standard installation steps.
Automated installation is realized by adding a dependency like this:
In package.xml format 1:
<run_depend>python-rospkg</run_depend>
In package.xml format 2, format 3:
<exec_depend>python-rospkg</exec_depend>
rospkg is available on pypi and can be installed via pip
pip install -U rospkg
or easy_install:
easy_install -U rospkg
For debian-based OSes it’s available via apt.
apt-get install python-rospkg
The rospkg module is meant to be used as a normal Python module. After it has been installed, you can import it normally and do not need to declare as a ROS package dependency.