My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Wiki pages

Squires is a Python library which simplifies the creation of powerful self-documenting command line interfaces.


Scripts using Squires have the following features in their interface:

  • Full readline bindings.
  • Tab completion of commands and their options.
  • Inline command help (is press tab to see description of allowable.
  • Option syntax validation.
  • Hidden commands and options.

The combination of the above features attempts to emulate the feel of the Cisco(tm) CLI in your own scripts.

On the inside, programmers using Squires can enjoy these features:

  • Class based hierarchial command tree.
  • One-line command creation.
  • Boolean and key/value options.
  • Option autocompletes via either static list, regex or dynamic method.
  • Hidden commands, for debug, easter egg, or similar commands.
  • Custom prompt strings.

Squires was developed internally at Google and released under the Apache 2.0 licence for the benefit of the wider community.

Before contributing

If you are not a Google employee, our lawyers insist that you sign a Contributor Licence Agreement (CLA).

  • If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an individual CLA. Individual CLAs can be signed electronically.
  • If you work for a company that wants to allow you to contribute your work, then you'll need to sign a corporate CLA.

The Google CLA is based on Apache's. Note that unlike some projects (notably GNU projects), we do not require a transfer of copyright. You still own the patch.

Sadly, even the smallest patch needs a CLA.

Powered by Google Project Hosting