code: def put_multipart(self, local_path, destination_s3_path, part_size=DEFAULT_PART_SIZE, **kwargs):
          
          self._check_deprecated_argument(**kwargs)
  
          from boto3.s3.transfer import TransferConfig
          # default part size for boto3 is 8Mb, changing it to fit part_size
          # provided as a parameter
          transfer_config = TransferConfig(multipart_chunksize=part_size)
  
          (bucket, key) = self._path_to_bucket_and_key(destination_s3_path)
  
          self.s3.meta.client.upload_fileobj(
              Fileobj=open(local_path, 'rb'), Bucket=bucket, Key=key, Config=transfer_config, ExtraArgs=kwargs)
docs: Put an object stored locally to an S3 path
          using S3 multi-part upload (for files > 8Mb).
          :param local_path: Path to source local file
          :param destination_s3_path: URL for target S3 location
          :param part_size: Part size in bytes. Default: 8388608 (8MB)
          :param kwargs: Keyword arguments are passed to the boto function `upload_fileobj` as ExtraArgs