The exception is raised if the command returns a non-zero error code. If it returns a zero error code then the return value of, say,
compose.up()
contains the command's stdout.
In addition stdout can be redirected to a file, or to another command, or to a callable, — which will be called for chunks of stdout while the command is in operation.