Sunday, August 16, 2009

Boscli Creating Interactive domain specific Shells in Python

Boscli is a framework to create interactive command line interfaces. Our mission is to help developers write interactive shells for domain specific task. It provides an easy way to wrap and join together command line apps and utilities and create specific shells with security levels and modes, history, auto-completion and so on.

Using this framework any developer can build an interactive command line interface for configuration or monitor an appliance in a few minutes.

The Boscli can be used as a great "glue code" for appliance's interfaces or to create a "homogeneous" administration interface for different systems and applications.

For example if you need to integrate different services and applications (asterisk, linux conf, monit, apache, etc...) but you want to offer to your users or to the systems administrator an integrated line oriented interface, you can use Boscli as a framework to create thin wrappers around the apps/services you want to integrate and create one or more boscli shells.

All the commands are defined as a Boscli plugin that can be reused for different shells in different configurations, so with the same code you can create different shells, for different users or for different task (initial conf, admon, etc....)

The main features are:
  • For developers:
    • Integrated plugin system
    • Easy new plugin creation
    • Easy new command definition
    • Easy new types definition
    • Auto generated help
    • Basic types support
    • Function access control support
    • Function mode support
    • Command execution Log
  • For final shell users
    • Command Autocompletion
    • Interactive line edition
    • Contextual Help
    • Pagination
    • Filters
    • Command history



More info at:
Home page: http://oss.alea-soluciones.com/trac/wiki/BoscliOss
Freshmeat entry http://freshmeat.net/projects/boscli-oss