code: def read_partition(self, i):
          
          self._load_metadata()
          if i < 0 or i >= self.npartitions:
              raise IndexError('%d is out of range' % i)
  
          return self._get_partition(i)
docs: Return a part of the data corresponding to i-th partition.
  
          By default, assumes i should be an integer between zero and npartitions;
          override for more complex indexing schemes.