def METHOD_NAME(df_gr: pd.DataFrame, walden_ds: WaldenDataset) -> Table:
    indicator = df_gr["variable_name"].iloc[0].split("-")[0].strip()
    source_url = get_metadata_link(indicator)
    log.info(
        "Getting the metadata url...",
        url=source_url,
        indicator=indicator,
        var_name=df_gr["variable_name"].iloc[0],
    )
    source = Source(
        name=df_gr["source"].iloc[0],
        url=walden_ds.metadata["url"],
        source_data_url=walden_ds.metadata.get("source_data_url"),
        owid_data_url=walden_ds.metadata["owid_data_url"],
        date_accessed=walden_ds.metadata["date_accessed"],
        publication_date=walden_ds.metadata["publication_date"],
        publication_year=walden_ds.metadata["publication_year"],
        published_by=walden_ds.metadata["name"],
    )
    df_gr["meta"] = VariableMeta(
        title=df_gr["variable_name_meta"].iloc[0],
        description=df_gr["seriesdescription"].iloc[0] + "\n\nFurther information available at: %s" % (source_url),
        sources=[source],
        unit=df_gr["long_unit"].iloc[0],
        short_unit=df_gr["short_unit"].iloc[0],
        additional_info=None,
    )
    # Taking only the first 255 characters of the var name as this is the limit (there is at least one that is too long)
    df_gr["variable"] = underscore(df_gr["variable_name"].iloc[0][0:254])
    df_gr = df_gr[["country", "year", "value", "variable", "meta"]].copy()
    # convert integer values to int but round float to 2 decimal places, string remain as string
    df_gr["value"] = df_gr["value"].apply(value_convert)
    df_gr = df_gr.set_index(["year", "country"])
    return Table(df_gr)