summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-01-20 22:06:56 +0200
committerLars Wirzenius <liw@liw.fi>2011-01-20 22:06:56 +0200
commitfb2e5e6d5f9b44845c28d9d73dec92f516f8f8a9 (patch)
treea46339da17879bc314b74bb6b9ba15680af34c51 /README
parent0276aad21dca06562f9a67fc6ca3bb6d803ccbfd (diff)
downloadcliapp-fb2e5e6d5f9b44845c28d9d73dec92f516f8f8a9.tar.gz
Add README and COPYING.
Diffstat (limited to 'README')
-rw-r--r--README58
1 files changed, 58 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..93ccd6e
--- /dev/null
+++ b/README
@@ -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/>.
+