def METHOD_NAME(points):
    """Fit a frame to a set of points.
    Parameters
    ----------
    points : array_like[point]
        XYZ coordinates of the points.
    Returns
    -------
    [float, float, float]
        The frame origin.
    [float, float, float]
        The local X axis.
    [float, float, float]
        The local Y axis.
    Raises
    ------
    ValueError
        If the number of points is smaller than the dimensionality of the points.
        At least two points are needed for two-dimensional data.
        At least three points are needed for three-dimensional data.
    See Also
    --------
    :func:`compas.geometry.bestfit_line_numpy`, :func:`compas.geometry.bestfit_plane_numpy`
    :func:`compas.geometry.bestfit_circle_numpy`, :func:`compas.geometry.bestfit_sphere_numpy`
    Examples
    --------
    >>>
    """
    o, uvw, _ = pca_numpy(points)
    return o, uvw[0], uvw[1]