Configuration#

The DecreeTree class can be configured in several ways, many of which are documented on this page. Refer to Nesting Commands for a discussion of now to nest commands and configure the nesting process.

Warning

The content of this page is incomplete!

General Workflow#

Describe the general flow of how a DecreeTree command works, and how to set up a new command.

  • Describe key methods (add/process/exec)

  • Use of super() (note that worst-case, override the method and don’t call super)

  • Invoking run; passing argv; passing options

  • Exception handling

Command Names#

Discuss how command names are configured: __doc__, name, prog, prog_is_name

Options and Arguments#

Provide summary of how to use argparse tools to create the command interface: add_args, groups, etc.

Parsers and Subparsers#

Describe how to customize the creation of parsers and subparsers.

The Help Option#

Discuss the help option: how it works, how to configure it for a (sub-)command and for an option/argument, and how to disable it.

The Version Option#

Discuss the built-in version option, including the use of super(), and how to enable/disable it.