def from_callable_parameter(cls, parameter):
        """
        Produces a parameter from a function or method
        """
        if parameter.kind == parameter.KEYWORD_ONLY or \
                parameter.kind == parameter.POSITIONAL_OR_KEYWORD and parameter.default is not parameter.empty:
            if parameter.annotation is not parameter.empty:
                constraint = parameter.annotation
            else:
                constraint = Parameter.constraint_from_type(parameter.default)
            return cls(
                name=parameter.name,
                value=parameter.default,
                constraint=constraint,
            )
        else:
            raise ParameterError('Only keyword parameters are supported')
def from_callable_parameter ( cls , parameter ) : if parameter . kind == parameter . KEYWORD_ONLY or parameter . kind == parameter . POSITIONAL_OR_KEYWORD and parameter . default is not parameter . empty : if parameter . annotation is not parameter . empty : constraint = parameter . annotation else : constraint = Parameter . constraint_from_type ( parameter . default ) return cls ( name = parameter . name , value = parameter . default , constraint = constraint , ) else : raise ParameterError ( 'Only keyword parameters are supported' )
Produces a parameter from a function or method