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 details)

Uploaded Source

File details

Details for the file qr_console-1.1.1.tar.gz.

File metadata

  • Download URL: qr_console-1.1.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for qr_console-1.1.1.tar.gz
Algorithm Hash digest
SHA256 3bb2b0217367c0196d204beefdd96d3f7b0fc16a2280d0e036c197fd764ea0b1
MD5 01e533e4936af46d625648a3117c9143
BLAKE2b-256 d369dfad736768d8c275cf5f6a04e3bc1511218d4608c8d66f688b29cf016b9d

See more details on using hashes here.

Supported by

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