skip to navigation
skip to content

CmDO 0.7

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.

Benefits include:

  • 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.