def kendall_tau_dist(x: List[int], y: List[int]) -> float:
    r"""Kendall tau distance.

    https://en.wikipedia.org/wiki/Kendall_tau_distance

    Args:
        x: Values of the first annotation.
        y: Values of the first annotation.

    Returns:
        distance: Kendall tau distance.

    Example:
        >>> import itertools
        >>> values = (1, 2, 3)
        >>> for i, a in enumerate(itertools.permutations(values, len(values))):
        ...     for j, b in enumerate(itertools.permutations(values, len(values))):
        ...             if j >= i:
        ...                     print((a, b), kendall_tau_dist(a,b))
        ...
        ((1, 2, 3), (1, 2, 3)) 0.0
        ((1, 2, 3), (1, 3, 2)) 0.3333333333333333
        ((1, 2, 3), (2, 1, 3)) 0.3333333333333333
        ((1, 2, 3), (2, 3, 1)) 0.6666666666666667
        ((1, 2, 3), (3, 1, 2)) 0.6666666666666667
        ((1, 2, 3), (3, 2, 1)) 1.0
        ...
    """
    from scipy.stats import kendalltau

    coef, _ = kendalltau(x, y)
    return 0.5 * (1 - coef)
Kendall tau distance.

    https://en.wikipedia.org/wiki/Kendall_tau_distance

    Args:
        x: Values of the first annotation.
        y: Values of the first annotation.

    Returns:
        distance: Kendall tau distance.

    Example:
        >>> import itertools
        >>> values = (1, 2, 3)
        >>> for i, a in enumerate(itertools.permutations(values, len(values))):
        ...     for j, b in enumerate(itertools.permutations(values, len(values))):
        ...             if j >= i:
        ...                     print((a, b), kendall_tau_dist(a,b))
        ...
        ((1, 2, 3), (1, 2, 3)) 0.0
        ((1, 2, 3), (1, 3, 2)) 0.3333333333333333
        ((1, 2, 3), (2, 1, 3)) 0.3333333333333333
        ((1, 2, 3), (2, 3, 1)) 0.6666666666666667
        ((1, 2, 3), (3, 1, 2)) 0.6666666666666667
        ((1, 2, 3), (3, 2, 1)) 1.0
        ...
    
argilla-v1/src/argilla_v1/client/feedback/metrics/agreement_metrics.py