diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-01-20 22:06:56 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-01-20 22:06:56 +0200 |
commit | fb2e5e6d5f9b44845c28d9d73dec92f516f8f8a9 (patch) | |
tree | a46339da17879bc314b74bb6b9ba15680af34c51 /README | |
parent | 0276aad21dca06562f9a67fc6ca3bb6d803ccbfd (diff) | |
download | cliapp-fb2e5e6d5f9b44845c28d9d73dec92f516f8f8a9.tar.gz |
Add README and COPYING.
Diffstat (limited to 'README')
-rw-r--r-- | README | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -0,0 +1,58 @@ +README for cliapp +================= + +cliapp is a Python framework for Unix-like command line programs, +which typically have the following characteristics: + +* non-interactive +* the programs read input files, or the standard input +* each line of input is processed individually +* output is to the standard output +* there are various options to modify how the program works +* certain options are common to all: --help, --version + +Programs like the above are often used as _filters_ in a pipeline. +The scaffoling 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: + +* you can treat command line arguments as URLs, or record identfiers + in a database, or whatever you like +* you can read input files in whatever chunks you like, or not at all, + rather than forcing a line-based paradigm + +There are plans to support plugins, configuration files, logging, etc, +as well. Despite all the flexibility, writing simple line-based filters +will remain very straightforward. The point is to get the framework to +do all the usual things, and avoid repeating code across users of the +framework. + + +Example +------- + +See the file `example.py` for an example of how to use the framework. + + +Legalese +-------- + +Copyright 2011 Lars Wirzenius + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + |