def METHOD_NAME(
    dataset_meta_df: pd.DataFrame,
    variables_meta_df: pd.DataFrame,
    sources_meta_df: pd.DataFrame,
    origins_meta_df: pd.DataFrame,
) -> Tuple[DatasetMeta, Dict[str, VariableMeta]]:
    source = _parse_sources(sources_meta_df)
    origin = _parse_origins(origins_meta_df)
    dataset_meta = _parse_dataset(dataset_meta_df)
    variables_meta_dict = _parse_variables(variables_meta_df)
    if origin and source:
        raise ValidationError("Using origins and sources together is not yet supported")
    # put all sources and origins to dataset level
    if source:
        dataset_meta.sources = [source]
    if origin:
        dataset_meta.origins = [origin]
    return dataset_meta, variables_meta_dict