code: def download_file(
      cls, destination: pathlib.Path, file_definition: ArtifactFileData
  ):
      location = file_definition.metadata.get("location")
      url = urlparse(location)
      bucket_name, path = url.netloc, url.path.lstrip("/")
  
      remote_storage = get_boto_s3_client()
      try:
          bucket = remote_storage.Bucket(bucket_name)
          bucket.download_file(path, str(destination))
      except NoCredentialsError:
          raise NeptuneRemoteStorageCredentialsException()
      except (
          remote_storage.meta.client.exceptions.NoSuchBucket,
          remote_storage.meta.client.exceptions.NoSuchKey,
      ):
          raise NeptuneRemoteStorageAccessException(location=location)
  
file_path: neptune-client/src/neptune/internal/artifacts/drivers/s3.py
imports: import pathlib
  import typing
  from datetime import datetime
  from urllib.parse import urlparse
  from botocore.exceptions import NoCredentialsError
  from neptune.exceptions import NeptuneRemoteStorageAccessException, NeptuneRemoteStorageCredentialsException, NeptuneUnsupportedArtifactFunctionalityException
  from neptune.internal.artifacts.types import ArtifactDriver, ArtifactFileData, ArtifactFileType
  from neptune.internal.utils.s3 import get_boto_s3_client
label_desc: Use image node_id 6 for calling the S3ArtifactDriver obj's underlying member method code with example usage: obj.download_file(cls, destination, file_definition) without return types