docs: def get_entries(self, criteria, inc_structure=False, optional_data=None):
          """
          Get ComputedEntries satisfying a particular criteria.
  
          .. note::
  
              The get_entries_in_system and get_entries  methods should be used
              with care. In essence, all entries, GGA, GGA+U or otherwise,
              are returned.  The dataset is very heterogeneous and not
              directly comparable.  It is highly recommended that you perform
              post-processing using pymatgen.entries.compatibility.
  
          Args:
              criteria:
                  Criteria obeying the same syntax as query.
              inc_structure:
                  Optional parameter as to whether to include a structure with
                  the ComputedEntry. Defaults to False. Use with care - including
                  structures with a large number of entries can potentially slow
                  down your code to a crawl.
              optional_data:
                  Optional data to include with the entry. This allows the data
                  to be access via entry.data[key].
  
          Returns:
              List of pymatgen.entries.ComputedEntries satisfying criteria.
          """
          all_entries = list()
          optional_data = [] if not optional_data else list(optional_data)
          optional_data.append("oxide_type")
          fields = [k for k in optional_data]
          fields.extend(["task_id", "unit_cell_formula", "energy", "is_hubbard",
                         "hubbards", "pseudo_potential.labels",
                         "pseudo_potential.functional", "run_type",
                         "input.is_lasph", "input.xc_override",
                         "input.potcar_spec"])
          if inc_structure:
              fields.append("output.crystal")
  
          for c in self.query(fields, criteria):
              func = c["pseudo_potential.functional"]
              labels = c["pseudo_potential.labels"]
              symbols = ["{} {}".format(func, label) for label in labels]
              parameters = {"run_type": c["run_type"],
                            "is_hubbard": c["is_hubbard"],
                            "hubbards": c["hubbards"],
                            "potcar_symbols": symbols,
                            "is_lasph": c.get("input.is_lasph") or False,
                            "potcar_spec": c.get("input.potcar_spec"),
                            "xc_override": c.get("input.xc_override")}
              optional_data = {k: c[k] for k in optional_data}
              if inc_structure:
                  struct = Structure.from_dict(c["output.crystal"])
                  entry = ComputedStructureEntry(struct, c["energy"],
                                                 0.0, parameters=parameters,
                                                 data=optional_data,
                                                 entry_id=c["task_id"])
              else:
                  entry = ComputedEntry(Composition(c["unit_cell_formula"]),
                                        c["energy"], 0.0, parameters=parameters,
                                        data=optional_data,
                                        entry_id=c["task_id"])
              all_entries.append(entry)
  
          return all_entries