[docs]defservice(*,flags=[]):defdecorator(func):docstring=func.__doc__name=func.__name__signature=inspect.signature(func)module=inspect.getmodule(func)ifmoduleisNone:raiseValueError("Cannot determine module of function")module_name=os.path.basename(os.path.dirname(module.__file__))service_manager.register_function(name,module_name,func,signature,docstring,flags)returnfuncreturndecorator