Skip to main content

Argdeclare is a declarative argument configurator for python's argparse.

Project description

# ardeclare

An implementation of the interface provided by the cmdln module but
using argparse to provide the option/arg heavy parsing.

Credit for this code goes foremost to Shakeeb Alireza, code was
initially found: [argdeclare: declarative interface to argparse](http://code.activestate.com/recipes/576935-argdeclare-declarative-interface-to-argparse/)

# Usage

from argdeclare import Commander, option_group, option, arg

def test():
# only for options which are repeated across different funcs
common_options = option_group(
option('-t', '--type', action='store', help='specify type of package'),
arg('package', help='package to be (un)installed'),
option('--log', '-l', action='store_true', help='log is on')
)

class Application(Commander):
'a description of the test app'
name = 'app1'
version = '0.1'
default_args = ['install', '--help']

@option('--log', '-l', action='store_true', help='log is on')
@arg('pattern', help="pattern to delete")
def do_delete(self, options):
"help text for delete subcmd"
print(options)

@option('-f', '--force', action='store_true',
help='force through installation')
@common_options
def do_install(self, options):
"help text for install subcmd"
print(options)

@common_options
def do_uninstall(self, options):
"help text for uninstall subcmd"
print(options)

app = Application()
app.cmdline()

if __name__ == '__main__':
test()

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

argdeclare-0.4.10.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file argdeclare-0.4.10.tar.gz.

File metadata

  • Download URL: argdeclare-0.4.10.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for argdeclare-0.4.10.tar.gz
Algorithm Hash digest
SHA256 400dfaebdb7612723392a1b6bda36eb30c761f9db433cde32d8bed25f1fc7725
MD5 dfce5585ac2f93ffddf46fd62c7aa526
BLAKE2b-256 fa82556e960a67c6719c9aa75014cf10b763e6dd0b736afea77730708dcd9465

See more details on using hashes here.

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