Python Perl Makefile Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.



Opster is a command line options parser, intended to make writing command line applications easy and painless. It uses built-in Python types (lists, dictionaries, etc) to define options, which makes configuration clear and concise. Additionally it contains possibility to handle subcommands (i.e. hg commit or svn update).

Supported Python versions: Python >= 2.6 (including 3.x)

Quick example

That's an example of an option definition

import sys
from opster import command

def main(message,
         no_newline=('n', False, "don't print a newline")):
    '''Simple echo program'''
    if not no_newline:

if __name__ == '__main__':

Running this program will print help message:

> ./ invalid arguments [OPTIONS] MESSAGE

Simple echo program


 -n --no-newline  don't print a newline
 -h --help        show help

As you can see, here we have defined option to not print newline: keyword argument name is a long name for option, default value is a 3-tuple, containing short name for an option (can be empty), default value (on base of which processing is applied - see description) and a help string.

Underscores in long names of options are converted into dashes.

If you are calling a command with option using long name, you can supply it partially. In this case it could look like ./ --no-new. This is also true for subcommands: read about them and everything else you'd like to know in documentation.