import six


def isIterable(usrData):
    """
    Returns True if is the object can be iter'd over and is NOT a string


    >>> common.isIterable([5, 10])
    True
    >>> common.isIterable('sharp')
    False
    >>> common.isIterable((None, None))
    True
    >>> common.isIterable(stream.Stream())
    True
    """
    if hasattr(usrData, "__iter__"):
        if six.PY3:
            if isinstance(usrData, str) or isinstance(usrData, bytes):
                return False
        return True
    else:
        return False