Skip to main content

console app builder

Project description

qr_console

This project is a small console-app builder based on argparse package.

Usage example:

from qr_console import QRConsole, QRCommand
console = QRConsole(hello='hello')
console.add_command(QRCommand('add', lambda a, b: print(a + b), 'sum 2 integers')
                    .add_argument('a', type=int, help='1st arg')
                    .add_argument('b', type=int, help='2nd arg'))
console.add_command(QRCommand('sub', lambda a, b: print(a - b), 'differ 2 integers')
                    .add_argument('-a', type=int, default=0, help='1st arg')
                    .add_argument('--value', '-v', type=int, help='2nd arg'))
console.add_command(QRCommand('one', lambda v, i: print(v + 1 if i else v - 1), 'change value by 1')
                    .add_argument('v', type=int)
                    .add_argument('-i', '--flag', action='store_true', help='set to inc; default is dec')
                    )
console.run()

Output example:

hello
Type '-h' or '--help' to get more info
Enter commands:
?>-h
usage: PROG [-h] {add,sub,one} ...

positional arguments:
  {add,sub,one}
    add          sum 2 integers
    sub          differ 2 integers
    one          change value by 1

optional arguments:
  -h, --help     show this help message and exit
?>add -h
usage: add [-h] a b

positional arguments:
  a           1st arg
  b           2nd arg

optional arguments:
  -h, --help  show this help message and exit
?>one --help
usage: one [-h] [-i] v

positional arguments:
  v

optional arguments:
  -h, --help           show this help message and exit
  -i, --i, --flag  set to inc; default is dec
?>add 1 2
3
?>sub -a=5 -v=2
3
?>sub --value=5
-5
?>one 5
4
?>one -i 5
6
?>add
the following arguments are required: a, b
?>sub -b=5
unrecognized arguments: -b=5
?>add 1 a
argument b: invalid int value: 'a'
?>

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

qr_console-1.1.1.tar.gz (4.7 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