Source code for stakk

from stakk import cli_handler, meta_handler, bench_handler

# init stack
stack = meta_handler.Stack()
benchy = bench_handler.Benchy()


[docs]def register(stack_id: str): '''register a function to a stack with a stack name :param stack_id: stack identifier to register function with ''' def decorator(func): original_func = getattr(func, "__wrapped__", func) stack.add_func(stack_id, original_func) return func return decorator
[docs]def cli(stack_id: str, desc : str = None): '''init cli and register to a stack :param stack_id: stack identifier to register to CLI :param desc: description of the CLI ''' cli_obj = cli_handler.CLI(desc) cli_obj.add_funcs(stack.get_stack(stack_id)) cli_obj.parse() stack.add_cli(cli_obj) return cli_obj