def hashable_index(index):
    if type(index) is tuple:  # can't do isinstance due to hashable_list
        return tuple(map(hashable_index, index))
    elif isinstance(index, list):
        return hashable_list(index)
    elif isinstance(index, slice):
        return _slice(index.start, index.stop, index.step)
    return index
Double-clicks as dictated by coordinates and button name.
dataset/ETHPy150Open blaze/blaze/blaze/expr/utils.py/hashable_index--crossover with--dataset/ETHPy150Open F1ashhimself/UISoup/uisoup/interfaces/i_mouse.py/IMouse.double_click