def bounding_box(points):
    """Computes the axis-aligned minimum bounding box of a list of points.

    Parameters
    ----------
    points : list
        XYZ coordinates of the points.

    Returns
    -------
    list
        XYZ coordinates of 8 points defining a box.

    Examples
    --------
    >>> from compas.geometry import pointcloud
    >>> points = numpy.random

    """
    x, y, z = zip(*points)
    min_x = min(x)
    max_x = max(x)
    min_y = min(y)
    max_y = max(y)
    min_z = min(z)
    max_z = max(z)
    return [[min_x, min_y, min_z], [max_x, min_y, min_z], [max_x, max_y,
        min_z], [min_x, max_y, min_z], [min_x, min_y, max_z], [max_x, min_y,
        max_z], [max_x, max_y, max_z], [min_x, max_y, max_z]]
