def METHOD_NAME(variables_meta_df: pd.DataFrame) -> Dict[str, VariableMeta]:
    variables_list = [_prune_empty(v) for v in variables_meta_df.to_dict(orient="records")]  # type: ignore
    # default variable values
    for variable in variables_list:
        variable.setdefault("unit", "")
    # move display.* columns to display object
    for variable in variables_list:
        for k in list(variable.keys()):
            if k.startswith("display."):
                variable.setdefault("display", {})[k[8:]] = variable.pop(k)
    out = {}
    for variable in variables_list:
        # sources field is deprecated
        variable.pop("sources", None)
        short_name = variable.pop("short_name")
        if variable.get("presentation"):
            variable["presentation"] = VariablePresentationMeta(**json.loads(variable["presentation"]))
        var_meta = VariableMeta(**variable)
        out[short_name] = var_meta
    return out