'Checks that the input is a differential object and is one of the
allowed class types.
Parameters
value : object
Input value.
Returns
out, converted : correctly-typed object, boolean
Tuple consisting of the correctly-typed object and a boolean which
indicates if conversion was actually performed.
Raises
ValueError
If the input is not valid for this attribute.'

def convert_input(self, value):

    if (not isinstance(value, self.allowed_classes)):
        raise TypeError(u'Tried    to    set    a    DifferentialAttribute    with    an    unsupported    Differential    type    {0}.    Allowed    classes    are:    {1}'.format(value.__class__, self.allowed_classes))
    return (value, True)
