@decorator<EOL>def task(func, **config):
if func.__name__ == func.__qualname__:<EOL><INDENT>assert not func.__qualname__ in _task_list, "<STR_LIT>".format(func.__qualname__)<EOL>logger.debug("<STR_LIT>", func)<EOL>_task_list[func.__qualname__] = Task(plugin_class=None, func=func, config=config)<EOL><DEDENT>else:<EOL><INDENT>func.yaz_task_config = config<EOL><DEDENT>return func<EOL>
Declare a function or method to be a Yaz task

    @yaz.task
    def talk(message: str = "Hello World!"):
        return message

    Or... group multiple tasks together

    class Tools(yaz.Plugin):
        @yaz.task
        def say(self, message: str = "Hello World!"):
            return message

        @yaz.task(option__choices=["A", "B", "C"])
        def choose(self, option: str = "A"):
            return option