diff --git a/src/phi/cli.py b/src/phi/cli.py new file mode 100644 index 0000000..d3de618 --- /dev/null +++ b/src/phi/cli.py @@ -0,0 +1,47 @@ +import sys +import argparse +import inspect +from phi.logging import setup_logging, get_logger + +log = get_logger(__name__) + +parser = argparse.ArgumentParser() +subparses = parser.add_subparsers(title='actions', dest='action') + +cli_callbacks = {} + + +def register(action_info='', param_infos=[]): + def decorator(action): + # Get function name and arguments + action_name = action.__name__ + param_names = inspect.getfullargspec(action)[0] + + # Create subparser for specific action + subparser = subparses.add_parser(action_name, help=action_info) + + for i, name in enumerate(param_names): + info = param_infos[i] if i