Create command-driven scripts with smart arguments and help derived from decorated functions.
Simplifies construction of command-based tools. Tool development consists of:
- Creating module files in one of several known locations using special file extensions.
- Writing ordinary Python functions.
- Adding decorators to choose exported functions and to describe argument types/repetition/defaults.
- Creating new argument type classes as needed.
- Adding descriptive documentation as structured text in doc strings, decorators, and or separate documentation modules.
- Full command line interpretation, including support for both user-friendly simplified syntax and developer-friendly Python expressions.
- Argument type and quantity checking.
- Argument validation, conversion and defaults.
- Keyword assignment for optional arguments.
- Automatic support for simple bash shell command line completion.
- Command line help for modules, functions and other documentation.
- Publish help to pretty text, HTML, XML, or custom format.
- View help in browser or other viewer based on mime type.
- On-demand module loading.
- Import-less inter-module calling and references through special CMDO namespace.
- Complete support for all normal Python capabilities.
- Error handling, logging, traceback, etc.
- Simple interactive prompted command input.