def __call__(self, **kwargs):
        """Execute the task

        Keyword arguments are used to construct Input instance. This is
        validated and  passed to :code:`run`. The Output of :code:`run`
        is validated, passed to :code:`process_output`, and returned.
        """
        input_obj = self.Input.deserialize(kwargs)
        input_obj.validate()
        output_obj = self.run(input_obj)
        if not isinstance(output_obj, BaseOutput):
            raise ValidationError(
                message='Invalid task output class: {}'.format(
                    output_obj.__class__.__name__,
                ),
                reason='invalid_class',
                instance=(
                    output_obj if isinstance(output_obj, HasProperties)
                    else None
                ),
            )
        output_obj.validate()
        return self.process_output(output_obj)
def __call__ ( self , ** kwargs ) : input_obj = self . Input . deserialize ( kwargs ) input_obj . validate ( ) output_obj = self . run ( input_obj ) if not isinstance ( output_obj , BaseOutput ) : raise ValidationError ( message = 'Invalid task output class: {}' . format ( output_obj . __class__ . __name__ , ) , reason = 'invalid_class' , instance = ( output_obj if isinstance ( output_obj , HasProperties ) else None ) , ) output_obj . validate ( ) return self . process_output ( output_obj )
Execute the task

        Keyword arguments are used to construct Input instance. This is
        validated and  passed to :code:`run`. The Output of :code:`run`
        is validated, passed to :code:`process_output`, and returned.