docs: def get_structure_by_formula(self, formula, **kwargs):
          """
          Queries the COD for structures by formula. Requires mysql executable to
          be in the path.
  
          Args:
              cod_id (int): COD id.
              kwargs: All kwargs supported by
                  :func:`pymatgen.core.structure.Structure.from_str`.
  
          Returns:
              A list of dict of the format
              [{"structure": Structure, "cod_id": cod_id, "sg": "P n m a"}]
          """
          structures = []
          sql = 'select file, sg from data where formula="- %s -"' % \
                Composition(formula).hill_formula
          text = self.query(sql).split("\n")
          text.pop(0)
          for l in text:
              if l.strip():
                  cod_id, sg = l.split("\t")
                  r = requests.get("http://www.crystallography.net/cod/%s.cif"
                                   % cod_id.strip())
                  try:
                      s = Structure.from_str(r.text, fmt="cif", **kwargs)
                      structures.append({"structure": s, "cod_id": int(cod_id),
                                         "sg": sg})
                  except Exception:
                      import warnings
                      warnings.warn("\nStructure.from_str failed while parsing CIF file:\n%s" % r.text)
                      raise
  
          return structures