Skip to main content

Additional classes for argparse

Project description

Python argparse.ArgumentParser subclass(es)

Quick example of argparser declaration from dictionary:

import sys
from argparse.extra import DictArgumentParser

def run_testarg_processing(args, argv):
    print 'testarg argument used'

ARGUMENTS = {'--use-something':{'dest':'use_something',
                               'action':'store_true',
                               'default':False},
             'sub:testarg':{
                 #sub:testarg will create subparser 'testarg'
                 #depth of subargs is unlimited
                 'description':'Test arg subcommand',
                 'help':'Test help'
                 'func':run_testarg_processing,
                 '--use-sub-something':{'dest':'use_sub_something',
                                               'action':'store_true',
                                               'default':False},
             }}

DEFAULTS_ONLY = ['func',]
def get_argparser(argsdict=ARGUMENTS):
    #always create get_argparser function for your cli apps
    #this will enable easy integration of subsequent applications
    #with your argparser
    return DictArgumentParser(argsdict, DEFAULTS_ONLY)

def main(args=sys.argv):
    args, argv = get_argparser().parse_known_args(args[1:])
    args.func(args, argv)

if __name__ == '__main__':
    main()

Installation

Try one of these:

python setup.py install

easy_install argparse.extra

pip install argparse.extra

Project details


Download files

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

Source Distribution

argparse.extra-0.0.2.tar.gz (122.2 kB view hashes)

Uploaded Source

Built Distribution

argparse.extra-0.0.2-py2.7.egg (6.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page