docs: def DictReader(file_obj, columns=None):  # pylint: disable=invalid-name
      """
      Reader for a parquet file object.
  
      This function is a generator returning an OrderedDict for each row
      of data in the parquet file. Nested values will be flattend into the
      top-level dict and can be referenced with '.' notation (e.g. 'foo' -> 'bar'
      is referenced as 'foo.bar')
  
      :param file_obj: the file containing parquet data
      :param columns: the columns to include. If None (default), all columns
                      are included. Nested values are referenced with "." notation
      """
      footer = _read_footer(file_obj)
      keys = columns if columns else [s.name for s in
                                      footer.schema if s.type]
  
      for row in reader(file_obj, columns):
          yield OrderedDict(zip(keys, row))