code: def get_band_qpoints(band_paths, npoints=51, rec_lattice=None):
      
  
      npts = _get_npts(band_paths, npoints, rec_lattice)
      qpoints_of_paths = []
      c = 0
      for band_path in band_paths:
          nd = len(band_path)
          for i in range(nd - 1):
              delta = np.subtract(band_path[i + 1], band_path[i]) / (npts[c] - 1)
              qpoints = [delta * j for j in range(npts[c])]
              qpoints_of_paths.append(np.array(qpoints) + band_path[i])
              c += 1
  
      return qpoints_of_paths
docs: Generate qpoints for band structure path
  
      Note
      ----
  
      Behavior changes with and without rec_lattice given.
  
      Parameters
      ----------
      band_paths: list of array_likes
          Sets of end points of paths
          dtype='double'
          shape=(sets of paths, paths, 3)
  
          example:
              [[[0, 0, 0], [0.5, 0.5, 0], [0.5, 0.5, 0.5]],
               [[0.5, 0.25, 0.75], [0, 0, 0]]]
  
      npoints: int, optional
          Number of q-points in each path including end points. Default is 51.
  
      rec_lattice: array_like, optional
          When given, q-points are sampled in a similar interval. The longest
          path length divided by npoints including end points is used as the
          reference interval. Reciprocal basis vectors given in column vectors.
          dtype='double'
          shape=(3, 3)