docs/index.rst
author Andrey Vlasovskikh <andrey.vlasovskikh@gmail.com>
Sat, 11 Sep 2010 15:16:24 +0400
changeset 119 f9c027029540
parent 100 78a1e77609e6
child 151 6282c2c87394
permissions -rw-r--r--
Fixed catching unnececcary exceptions Exception Abort can't be thrown, so it is useless. Catching SystemExit and KeyboardInterrupt makes little sense as the thread can be terminated by KeyboardInterrupt before or after entering the wrapped command processing function. So one have to handle these exceptions in his main function anyway. Catching any exception in order to print a message and re-raise it changes the standard behaviour and might seem confusing.

=============
 Opster
=============

.. toctree::
   :maxdepth: 1

   changelog
   overview
   api

Opster is a command line 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``).

Features
--------

 - parsing arguments from sys.argv or custom strings
 - converting from string to appropriate Python objects
 - help message generation
 - positional and named arguments
 - subcommands support
 - short, clean and concise definitions
 - ability to shorten names of subcommand and long options

What's nice
-----------

 - Opster is a `single file`_, which means that you can easily include it with
   your application
 - When you've decorated function as command, you can continue to use it as
   usual Python function.
 - It's easy to switch between usual command line options parser and
   subcommands.

Read more in :doc:`overview`.


.. _single file: http://hg.piranha.org.ua/opster/file/tip/opster.py