Skip to main content
# 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()

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

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for argdeclare-0.5.6.tar.gz
Algorithm Hash digest
SHA256 63fe30070f4aedff832801c42f9e00ea199df3509309a0ac79aa731df73a7ea2
MD5 5477ec57bfe3206480e034feb2feff21
BLAKE2b-256 495e0cb3c7b9da9824999c8042506d28ca4027f268806e9f983fd225b62a8faf

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.6 This release

1 file

0.5.5

1 file

0.5.4

1 file

0.5.3

1 file

0.5.2

1 file

0.5.1

1 file

0.5.0

1 file

0.4.14

1 file

0.4.13

1 file

0.4.12

1 file

0.4.11

1 file

0.4.10

1 file

0.4.9

1 file

0.4.8

1 file

0.4.7

1 file

0.4.6

1 file

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4

2 files

0.3

2 files

0.2

2 files

0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page