code: def info(self):
          
          info = {}
          for key in ("author", "department", "project", "subject"):
              value = self.header[key].decode("latin-1").strip(" \n\t\0")
              info[key] = value
          info["version"] = self.version
          info["groups"] = len(self.groups)
          for i, gp in enumerate(self.groups):
              if gp.data_location == v23c.LOCATION_ORIGINAL_FILE:
                  stream = self._file
              elif gp.data_location == v23c.LOCATION_TEMPORARY_FILE:
                  stream = self._tempfile
              inf = {}
              info[f"group {i}"] = inf
              inf["cycles"] = gp.channel_group.cycles_nr
              inf["comment"] = gp.channel_group.comment
              inf["channels count"] = len(gp.channels)
              for j, channel in enumerate(gp.channels):
                  name = channel.name
  
                  if channel.channel_type == v23c.CHANNEL_TYPE_MASTER:
                      ch_type = "master"
                  else:
                      ch_type = "value"
                  inf[f"channel {j}"] = f'name="{name}" type={ch_type}'
  
          return info
docs: get MDF information as a dict
  
          Examples
          --------
          >>> mdf = MDF3('test.mdf')
          >>> mdf.info()