docs: def download(url, fname=None):
      """
      Downloads a file.
  
      Args:
          url (str): The URL to download.
          fname (Optional[str]): The filename to store the downloaded file in. If
              `None`, take the filename from the URL. Defaults to `None`.
  
      Returns:
            The filename the URL was downloaded to.
  
      Raises:
          requests.exceptions.HTTPError: There was a problem connecting to the
              URL.
      """
      # Determine the filename
      if fname is None:
          fname = url.split('/')[-1]
  
      # Stream the URL as a file, copying to local disk
      with contextlib.closing(requests.get(url, stream=True)) as r:
          try:
              r.raise_for_status()
          except requests.exceptions.HTTPError as error:
              print('Error connecting to URL: "{}"'.format(url))
              print(r.text)
              raise error
  
          with open(fname, 'wb') as f:
              shutil.copyfileobj(r.raw, f)
  
      return fname