[docs]@dataclass(frozen=True,slots=True)classStepInfo:"""Immutable metadata describing a single step registration. A function decorated with ``@step`` may produce multiple ``StepInfo`` entries (one per stacked decorator call). Each entry is expanded into one or more patterns via i18n translations. """pattern:strcategory:strfunc:Callable[...,Any]backend:str|None=Nonedescription:str|None=Noneparameters:list[Param]=field(default_factory=list)example:str|None=Nonetags:list[str]=field(default_factory=list)version:str|None=Nonedeprecated:bool|str=Falsei18n:dict[str,str]=field(default_factory=dict)requires:list[str]=field(default_factory=list)@propertydefmodule(self)->str:"""Dotted module path of the step function."""returnself.func.__module__@propertydefqualified_name(self)->str:"""Fully qualified function name (``module.qualname``)."""returnf"{self.func.__module__}.{self.func.__qualname__}"@propertydefis_deprecated(self)->bool:"""Whether this step is marked as deprecated."""returnbool(self.deprecated)