cliapp is a Python framework for Unix-like command line programs, which typically have the following characteristics:
Programs like the above are often used as filters in a pipeline. The scaffolding to set up a command line parser, open each input file, read each line of input, etc, is the same in each program. Only the logic of what to do with each line differs.
cliapp is not restricted to line-based filters, but is a more general framework. It provides ways for its users to override most behavior. For example:
Despite all the flexibility, writing simple line-based filters remains very straightforward. The point is to get the framework to do all the usual things, and avoid repeating code across users of the framework.