docs: def _compile_interpretation(data):
      """
      Compile the interpretation data into a list of multiples, based on the keys provided.
      Disassemble the key to figure out how to place the data
      :param dict data: Interpretation data (unsorted)
      :return dict: Interpretation data (sorted)
      """
      # KEY FORMAT : "interpretation1_somekey"
      _count = 0
  
      # Determine how many entries we are going to need, by checking the interpretation index in the string
      for _key in data.keys():
          _key_low = _key.lower()
          # Get regex match
          m = re.match(re_interpretation, _key_low)
          # If regex match was successful..
          if m:
              # Check if this interpretation count is higher than what we have.
              _curr_count = int(m.group(1))
              if _curr_count > _count:
                  # New max count, record it.
                  _count = _curr_count
  
      # Create the empty list with X entries for the interpretation data
      _tmp = [{} for i in range(0, _count)]
  
      # Loop over all the interpretation keys and data
      for k, v in data.items():
          # Get the resulting regex data.
          # EXAMPLE ENTRY: "interpretation1_variable"
          # REGEX RESULT: ["1", "variable"]
          m = re.match(re_interpretation, k)
          # Get the interpretation index number
          idx = int(m.group(1))
          # Get the field variable
          key = m.group(2)
          # Place this data in the _tmp array. Remember to adjust given index number for 0-indexing
          _tmp[idx-1][key] = v
  
      # Return compiled interpretation data
      return _tmp