A declarative interface to argparse with additional utilities
Project description
Version 0.3.3a
A simple wrapper for argparse that allows commands and arguments to be defined declaratively using decorators. Note that this does not support all the features of argparse yet.
Commando also bundles a few utilities that are useful when building command line applications.
Example
Without commando:
def main(): parser = argparse.ArgumentParser(description='hyde - a python static website generator', epilog='Use %(prog)s {command} -h to get help on individual commands') parser.add_argument('-v', '--version', action='version', version='%(prog)s ' + __version__) parser.add_argument('-s', '--sitepath', action='store', default='.', help="Location of the hyde site") subcommands = parser.add_subparsers(title="Hyde commands", description="Entry points for hyde") init_command = subcommands.add_parser('init', help='Create a new hyde site') init_command.set_defaults(run=init) init_command.add_argument('-t', '--template', action='store', default='basic', dest='template', help='Overwrite the current site if it exists') init_command.add_argument('-f', '--force', action='store_true', default=False, dest='force', help='Overwrite the current site if it exists') args = parser.parse_args() args.run(args) def init(self, params): print params.sitepath print params.template print params.overwrite
With commando:
class Engine(Application): @command(description='hyde - a python static website generator', epilog='Use %(prog)s {command} -h to get help on individual commands') @param('-v', '--version', action='version', version='%(prog)s ' + __version__) @param('-s', '--sitepath', action='store', default='.', help="Location of the hyde site") def main(self, params): pass @subcommand('init', help='Create a new hyde site') @param('-t', '--template', action='store', default='basic', dest='template', help='Overwrite the current site if it exists') @param('-f', '--force', action='store_true', default=False, dest='overwrite', help='Overwrite the current site if it exists') def init(self, params): print params.sitepath print params.template print params.overwrite
Resources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
commando-0.3.3a.tar.gz
(15.9 kB
view details)
File details
Details for the file commando-0.3.3a.tar.gz
.
File metadata
- Download URL: commando-0.3.3a.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 439beaae0dab88163249fda595342b394ca3f1b7f329157b5293da71c88161a5 |
|
MD5 | d28cafd565a3abff71c4c034d1abe51f |
|
BLAKE2b-256 | c9dc0f7c298d87fceb27412604ae2de87546479bb6c07238f78034f7e976ed01 |