catkin list – List Package Info

The list verb for the catkin command is used to find and list information about catkin packages. By default, it will list the packages in the workspace containing the current working directory in topological order. It can also be used to list the packages in any other arbitrary directory.

List Package Dependencies

catkin list can also show the dependencies of all packages or a subset of the packages when catkin list --dependencies or catkin list --dependencies my_package is used. Recursive dependencies can be listed with catkin list --recursive-dependencies.

Checking for Catkin Package Warnings

In addition to the names of the packages in your workspace, running catkin list will output any warnings about catkin packages in your workspace. To suppress these warnings, you can use the --quiet option.

Using Unformatted Output in Shell Scripts

catkin list --unformatted is useful for automating shell scripts in UNIX pipe-based programs. For --dependencies, valid YAML output is produced.

Full Command-Line Interface

usage: catkin list [-h] [--workspace WORKSPACE] [--profile PROFILE]
                   [--deps | --rdeps] [--depends-on [PKG ...]]
                   [--rdepends-on [PKG ...]] [--this]
                   [--directory [DIRECTORY ...]] [--quiet] [--unformatted]
                   [PKG ...]

Lists catkin packages in the workspace or other arbitrary folders.

optional arguments:
  -h, --help            show this help message and exit
  --workspace WORKSPACE, -w WORKSPACE
                        The path to the catkin_tools workspace or a directory
                        contained within it (default: ".")
  --profile PROFILE     The name of a config profile to use (default: active
                        profile)

Information:
  Control which information is shown.

  --deps, --dependencies
                        Show direct dependencies of each package.
  --rdeps, --recursive-dependencies
                        Show recursive dependencies of each package.

Packages:
  Control which packages are listed.

  --depends-on [PKG ...]
                        Only show packages that directly depend on specific
                        package(s).
  --rdepends-on [PKG ...], --recursive-depends-on [PKG ...]
                        Only show packages that recursively depend on specific
                        package(s). Limited to packages present in the current
                        workspace.
  --this                Show the package which contains the current working
                        directory.
  --directory [DIRECTORY ...], -d [DIRECTORY ...]
                        Process all packages in the given directories
  PKG                   Manually specify a list of packages to process.
                        Defaults to all packages.

Interface:
  The behavior of the command-line interface.

  --quiet               Don't print out detected package warnings.
  --unformatted, -u     Print list without punctuation and additional details.