docs: def request_file_upload(owner, repo, filepath, md5_checksum=None):
      """Request a new package file upload (for creating packages)."""
      client = get_files_api()
      md5_checksum = md5_checksum or calculate_file_md5(filepath)
  
      with catch_raise_api_exception():
          data, _, headers = client.files_create_with_http_info(
              owner=owner,
              repo=repo,
              data={"filename": os.path.basename(filepath), "md5_checksum": md5_checksum},
          )
  
      # pylint: disable=no-member
      # Pylint detects the returned value as a tuple
      ratelimits.maybe_rate_limit(client, headers)
      return data.identifier, data.upload_url, data.upload_fields