ANNOUNCE: Optik 1.1 released
Greg Ward
gward@python.net
Sat, 17 Nov 2001 13:49:45 -0500
Optik 1.1
=========
Optik is a powerful, flexible, extensible, easy-to-use command-line
parsing library for Python. Using Optik, you can add intelligent,
sophisticated handling of command-line options to your scripts with very
little overhead.
Here's an example of using Optik to add some command-line options to a
simple script:
from optik import OptionParser
[...]
parser = OptionParser()
parser.add_option("-f", "--file",
action="store", type="string", dest="filename",
help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
action="store_false", dest="verbose", default=1,
help="don't print status messages to stdout")
(options, args) = parser.parse_args()
With these few lines of code, users of your script can now do the
"usual thing" on the command-line:
<yourscript> -f outfile --quiet
<yourscript> -qfoutfile
<yourscript> --file=outfile -q
<yourscript> --quiet --file outfile
(All of these result in
options.filename == "outfile"
options.verbose == 0
...just as you might expect.)
Even niftier, users can run one of
<yourscript> -h
<yourscript> --help
and Optik will print out a brief summary of your script's optons:
usage: <yourscript> [options]
options:
-h, --help show this help message and exit
-fFILE, --file=FILE write report to FILE
-q, --quiet don't print status messages to stdout
That's just a taste of the flexibility Optik gives you in parsing your
command-line. See the documentation included in the package for
details.
AUTHOR, COPYRIGHT, AVAILABILITY
-------------------------------
Optik was written by Greg Ward <gward@python.net>
The latest version of Optik can be found at
http://optik.sourceforge.net/
Copyright (c) 2001 Gregory P. Ward. All rights reserved.
CHANGES IN OPTIK 1.1
--------------------
* Changed OptionParser.parse_args() method to allow interspersed
options and positional arguments by default; can be disabled
with disable_interspersed_args() method. Reorganized the guts of
the OptionParser class fairly heavily.
* Split test_optik.py up into three scripts (test_optik,
test_callback, and test_extend), and moved them all into
the test/ directory.
* Added the 'nargs' attribute to Option, which allows options to
require more than one argument on the command line. This
enables eg.
parser.add_option("-p", "--point",
action="append", nargs=3,
type="float", dest="points")
to turn a command-line like this:
--point 3.4 -5 95 -p 4 -4 6
into this:
options.points == [(3.4, -5.0, 95.0), (4.0, -4.0, 6.0)]
* Fixed so the last default value explicitly specified for a
particular option destination takes precedence, even if
it's None.
--
Greg Ward - Unix bigot gward@python.net
http://starship.python.net/~gward/
Vote Cthulhu -- why settle for a lesser evil?