code: def monkhorst_automatic(kpts=(2, 2, 2), shift=(0, 0, 0)):
          
          return Kpoints("Automatic kpoint scheme", 0,
                         Kpoints.supported_modes.Monkhorst, kpts=[kpts],
                         kpts_shift=shift)
docs: Convenient static constructor for an automatic Monkhorst pack Kpoint
          grid.
  
          Args:
              kpts: Subdivisions N_1, N_2 and N_3 along reciprocal lattice
                  vectors. Defaults to (2,2,2)
              shift: Shift to be applied to the kpoints. Defaults to (0,0,0).
  
          Returns:
              Kpoints object