docs: def to_file(self, file_name=None):
          """Saves a DataFrame with all the needed info about the experiment"""
  
          file_name = self._check_file_name(file_name)
          pages = self.pages
  
          top_level_dict = {
              'info_df': pages,
              'metadata': self._prm_packer()
          }
  
          jason_string = json.dumps(
              top_level_dict,
              default=lambda info_df: json.loads(
                  info_df.to_json()
              )
          )
  
          self.paginate()
  
          with open(file_name, 'w') as outfile:
              outfile.write(jason_string)
  
          self.file_name = file_name
          logging.info("Saved file to {}".format(file_name))