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/salutation.py.
from clams import arg, Command
salutation = Command('salutation')
@salutation.register('hello')
@arg('name', nargs='?') # same interface as argparse's ``add_argument``
def handler(name):
print 'Hello %s' % (name or 'Nick')
@salutation.register('goodbye')
@arg('name', nargs='?')
def handler(name):
print 'Goodbye %s' % (name or 'Nick')
if __name__ == '__main__':
salutation.init()
salutation.parse_args()
Usage:
$ cd demo
$ ./salutation.py hello
Hello Nick
$ ./salutation.py hello Jason
Hello Jason
$ ./salutation.py goodbye "my friend."
Goodbye my friend.
Clams documentation is available on ReadTheDocs and can be found locally in the /docs directory.
If you have any problems with this software, please take a moment to report them at https://github.com/unbservices/clams or by email to nick@unb.services.
If you are a security researcher or believe you have found a security vulnerability in this software, please contact us by email at nick@unb.services.
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 nick@unb.services and I'll try to point you in the right direction.
Copyright (c) 2015 Nick Zarczynski
This project is licensed under the MIT license. Please see the LICENSE file for more information.