CLY is a Python module for simplifying the creation of interactive shells. Kind of like the builtin cmd module on steroids.
It has the following features:
* Tab completion of all commands.
* Contextual help.
* Extensible grammar - you can define your own commands with full dynamic completion, contextual help, and so on.
* Simple. Grammars are constructed from objects using a convenient function-like syntax.
* Grammars can also be defined in XML, facilitating a more data-driven approach.
* Flexible command grouping and ordering.
* Grammar parser, including completion and help enumeration, can be used independently of the readline-based shell. This allows CLY's parser to be used in other environments (think web-based shell ;))
* Lots of other cool stuff.
These details are provided for information only. No information here is legal advice and should not be used as such.