def is_sequence_subclass(obj):
    'Returns True if *obj* is a subclass of list, set or tuple.\n\n    *obj* must be a subclass and not the actual builtin, such\n    as list, set, tuple, etc..\n\n    >>> class Temp(list): pass\n    >>> is_sequence_subclass(Temp())\n    True\n    '
    return (hasattr(obj, '__class__') and (issubclass(obj.__class__, SEQUENCES) or is_list_like(obj)) and (not is_sequence(obj)))
Returns True if *obj* is a subclass of list, set or tuple.

*obj* must be a subclass and not the actual builtin, such
as list, set, tuple, etc..

>>> class Temp(list): pass
>>> is_sequence_subclass(Temp())
True
def is_sequence_subclass(obj):
    'Returns True if *obj* is a subclass of list, set or tuple.\n\n    *obj* must be a subclass and not the actual builtin, such\n    as list, set, tuple, etc..\n\n    >>> class Temp(list): pass\n    >>> is_sequence_subclass(Temp())\n    True\n    '
    return (hasattr(obj, '__class__') and (issubclass(obj.__class__, SEQUENCES) or is_list_like(obj)) and (not is_sequence(obj)))