docs: def lipd_to_df(metadata, csvs):
      """
      Create an organized collection of data frames from LiPD data
      :param dict metadata: LiPD data
      :param dict csvs: Csv data
      :return dict: One data frame per table, organized in a dictionary by name
      """
      dfs = {}
      logger_dataframes.info("enter lipd_to_df")
  
      # Flatten the dictionary, but ignore the chron data items
      dict_in_dotted = {}
      logger_dataframes.info("enter dot_notation")
      _dotnotation_for_nested_dictionary(metadata, '', dict_in_dotted)
      dict_in_dotted = collections.OrderedDict(sorted(dict_in_dotted.items()))
  
      # Create one data frame for metadata items
      dfs["metadata"] = pd.DataFrame(list(dict_in_dotted.items()), columns=["Key", "Value"])
  
      # Create data frames for paleo data and chron data items. This does not use LiPD data, it uses the csv data
      dfs.update(_get_dfs(csvs))
  
      return dfs