The Changes


  1. Let debug raise the original exception.


  1. Support Python 3.
  2. Fixed an error when no usage. Thanks uranusjr.
  3. Let exception just be raised when debug.


  1. It now generates metavar for argument which has default value.
  2. Fixed argument whose default is bool took next command line argumnet as its value. (--bool shouldnttake)
  3. Fixed it caught option-like string in option description.
  4. Refactored the parse().


  1. Make the better.
  2. Refactored the clime.__main__.
  3. Refactored the


  1. Renamed the get_usage() to build_usage().
  2. Refactored the code and the doc.


  1. Fixed a bug of finding docstring of command.
  2. Added support for using f and float as metavar in docstring. Thanks for the contribution from mail6543210.


  1. It now shows the doc of program only if the object is a module
  2. It is also a command now. You can use clime from shell.


  1. It now prints the doc of default command if doc of program is not available.


  1. Fixed the bug of program name.


  1. It now catches more exceptions (include KeyboardInterrupt).
  2. Added clime.core.start() which works equally as clime.core.customize()


  1. Added clime.core.CMD_SUFFIX and an argument, white_pattern, for clime.core.Program.


  1. It now exits with 1 if there has error – issue #14.


  1. Fixed the bug with generator – issue #12.


  1. It now supports the ignore_return in Program class.
  2. Added a shortcut, customize(), of using Program class.
  3. Fixed the support of the -kmeta format in docstring.


  1. It now uses <meta> instead of META.
  2. It supports more metavars, include <json> for the string in json format.
  3. It supports more options of creating a program, include white_list, black_list, ignore_help, debug, ...
  4. It repects __all__ now.
  5. Refactored the code a lot and the whole file structure.