Python3 parser for command-line options and arguments using Tiramisu engine.
Find a file
2024-07-30 11:31:16 +02:00
examples/Hangman first commit 2024-07-30 11:30:21 +02:00
test first commit 2024-07-30 11:30:21 +02:00
LICENSE Initial commit 2024-07-30 11:24:26 +02:00
README.md add a simple example 2024-07-30 11:31:16 +02:00
tiramisu_parser.py first commit 2024-07-30 11:30:21 +02:00

tiramisu-cmdline-parser

Parser for command-line options and arguments using Tiramisu engine.

simple example

#!/usr/bin/env python3

from tiramisu_parser import TiramisuParser
from tiramisu import StrOption, BoolOption, SymLinkOption, OptionDescription, \
                     Config
parser = TiramisuParser()
booloption = BoolOption('verbosity',
                        'increase output verbosity',
                        default=False)
config = Config(OptionDescription('root', 'root', [StrOption('var',
                                                             'a string option',
                                                             properties=('mandatory',
                                                                         'positional')),
                                                   booloption,
                                                   SymLinkOption('v', booloption)]))
parser.add_arguments(config)
parser.parse_args()
print('result:', config.value.dict())
[gnunux@localhost tiramisu-parser]$ ./prog.py -h
usage: prog.py [-h] [-v] var

positional arguments:
  var              a string option

optional arguments:
  -h, --help       show this help message and exit
  -v, --verbosity  increase output verbosity
[gnunux@localhost tiramisu-parser]$ ./prog.py -v
usage: prog.py [-h] [-v] var
prog.py: error: the following arguments are required: var
[gnunux@localhost tiramisu-parser]$ ./prog.py test
result: {'var': 'test', 'verbosity': False, 'v': False}
[gnunux@localhost tiramisu-parser]$ ./prog.py -v test
result: {'var': 'test', 'verbosity': True, 'v': True}
[gnunux@localhost tiramisu-parser]$ ./prog.py --verbosity test
result: {'var': 'test', 'verbosity': True, 'v': True}