from typing import Iterable
import six


def is_non_string_iterable(arg):
    """Return True if arg is an iterable, but not a string."""
    return (
        isinstance(arg, Iterable)
        and not isinstance(arg, six.string_types)
    )