Inspection based parser built on argparse. Build complex CLI interfaces by writing more code-complete applications.
Argufy is designed to be an alternative to decorator based parsers such as Click. Decorators have limitations that prevent effective use of inspection without drawbacks. This parser easilly allows a CLI to be created with minimal effort while enabling inspection.
pip install argufy
def example(argument: bool = False):
"""Provide an example command.
Parameters
----------
argument: bool, optional
Provide an example argument.
"""
if argument:
print('This is a true argument')
else:
print('This is a false argument')
from argufy import Parser
from . import cli
def main():
"""Do main function for CLI."""
parser = Parser()
parser.add_commands(cli)
parser.dispatch()
if __name__ == '__main__':
main()
$ command --help
usage: command [-h] {example} ...
positional arguments:
{example}
example Provide an example command.
optional arguments:
-h, --help show this help message and exit
$ command example --help
usage: command [-h] [--argument ARGUMENT]
optional arguments:
-h, --help show this help message and exit
--argument ARGUMENT Provide an example argument.