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.5.5.tar.gz (3.2 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for argdeclare-0.5.5.tar.gz
Algorithm Hash digest
SHA256 2e5617f1c13e4284daf9205f530bf31e2cb5e0881319c036e4da1492bcf514f3
MD5 cc5f64bcf483f76dc3c4f747befea226
BLAKE2b-256 f9623d04a2eb8804c9efc5231965677391351170301fd8bb5bb520c1f4fd4967

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