Skip to main content

Create simple, nested, command-line interfaces.

Project description

Create simple, nested, command-line interfaces with Clams (Command Line Applications Made Simple).


pip install clams


A simple example with hello and goodbye subcommands. This can be found at /demo/

from clams import arg, Command

salutation = Command('salutation')

@arg('name', nargs='?')  # same interface as argparse's ``add_argument``
def handler(name):
    print 'Hello %s' % (name or 'Nick')

@arg('name', nargs='?')
def handler(name):
    print 'Goodbye %s' % (name or 'Nick')

if __name__ == '__main__':


$ cd demo

$ ./ hello
Hello Nick
$ ./ hello Jason
Hello Jason

$ ./ goodbye "my friend."
Goodbye my friend.


Clams documentation is available on ReadTheDocs and can be found locally in the /docs directory.

Issue Reporting and Contact Information

If you have any problems with this software, please take a moment to report them at or by email to

If you are a security researcher or believe you have found a security vulnerability in this software, please contact us by email at


Contributions are always welcome, whether it’s reporting a bug or sending a pull request. If you want to help, but don’t know where to start, email me at and I’ll try to point you in the right direction.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for clams, version 0.0.5
Filename, size & hash File type Python version Upload date
clams-0.0.5-py2-none-any.whl (6.5 kB) View hashes Wheel py2
clams-0.0.5.tar.gz (6.6 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page