docs: def upload_predictions(self, file_path, tournament=1):
          """Upload predictions from file.
  
          Args:
              file_path (str): CSV file with predictions that will get uploaded
              tournament (int): ID of the tournament (optional, defaults to 1)
  
          Returns:
              str: submission_id
  
          Example:
              >>> api = NumerAPI(secret_key="..", public_id="..")
              >>> api.upload_predictions()
              '93c46857-fed9-4594-981e-82db2b358daf'
          """
          self.logger.info("uploading predictions...")
  
          auth_query = '''
              query($filename: String!
                    $tournament: Int!) {
                  submission_upload_auth(filename: $filename
                                         tournament: $tournament) {
                      filename
                      url
                  }
              }
              '''
          arguments = {'filename': os.path.basename(file_path),
                       'tournament': tournament}
          submission_resp = self.raw_query(auth_query, arguments,
                                           authorization=True)
          submission_auth = submission_resp['data']['submission_upload_auth']
          with open(file_path, 'rb') as fh:
              requests.put(submission_auth['url'], data=fh.read())
          create_query = '''
              mutation($filename: String!
                       $tournament: Int!) {
                  create_submission(filename: $filename
                                    tournament: $tournament) {
                      id
                  }
              }
              '''
          arguments = {'filename': submission_auth['filename'],
                       'tournament': tournament}
          create = self.raw_query(create_query, arguments, authorization=True)
          self.submission_id = create['data']['create_submission']['id']
          return self.submission_id