pmdarima.utils.if_has_delegate¶
- 
pmdarima.utils.if_has_delegate(delegate)[source][source]¶
- Wrap a delegated instance attribute function. - Creates a decorator for methods that are delegated in the presence of a results wrapper. This enables duck-typing by - hasattrreturning True according to the sub-estimator.- This function was adapted from scikit-learn, which defines - if_delegate_has_method, but operates differently by injecting methods not based on method presence, but by delegate presence.- Parameters: - delegate : string, list of strings or tuple of strings - Name of the sub-estimator that can be accessed as an attribute of the base object. If a list or a tuple of names are provided, the first sub-estimator that is an attribute of the base object will be used. - Examples - >>> from pmdarima.utils.metaestimators import if_has_delegate >>> >>> class A(object): ... @if_has_delegate('d') ... def func(self): ... return True >>> >>> a = A() >>> # the delegate does not exist yet >>> assert not hasattr(a, 'func') >>> # inject the attribute >>> a.d = None >>> assert hasattr(a, 'func') and a.func()