code: def as_dict(self):
          
          d = {"comment": self.comment, "nkpoints": self.num_kpts,
               "generation_style": self.style.name, "kpoints": self.kpts,
               "usershift": self.kpts_shift,
               "kpts_weights": self.kpts_weights, "coord_type": self.coord_type,
               "labels": self.labels, "tet_number": self.tet_number,
               "tet_weight": self.tet_weight,
               "tet_connections": self.tet_connections}
  
          optional_paras = ["genvec1", "genvec2", "genvec3", "shift"]
          for para in optional_paras:
              if para in self.__dict__:
                  d[para] = self.__dict__[para]
          d["@module"] = self.__class__.__module__
          d["@class"] = self.__class__.__name__
          return d
docs: json friendly dict representation of Kpoints