def script(func: t.Callable = None, help: HelpDict = None): if not func: if help: return functools.partial(script, help=help) else: return Script() scrpt = Script(func, help=help) print(scrpt) func.run = scrpt.run func.subcommand = scrpt.subcommand func._script = scrpt return func