def METHOD_NAME(
    self,
    bucket_name: str,
    object_key: str,
    format: Union[FileFormat, str, None] = None,
    limit: int = QUERY_ROW_LIMIT,
    **kwargs,
) -> DataFrame:
    """
    Loads data from S3 into a Pandas data frame. This function will load at
    maximum 10,000,000 rows of data from the specified file.
    Args:
        import_config (Mapping, optional): Configuration settings for importing file from
        S3. Defaults to None.
        limit (int, Optional): The number of rows to limit the loaded dataframe to.
                                Defaults to 10,000,000.
        read_config (Mapping, optional): Configuration settings for reading file into data
        frame. Defaults to None.
    Returns:
        DataFrame: The data frame constructed from the file in the S3 bucket.
    """
    if format is None:
        format = self._get_file_format(object_key)
    with self.printer.print_msg(
        f'Loading data frame from bucket \'{bucket_name}\' at key \'{object_key}\''
    ):
        response = self.client.get_object(Bucket=bucket_name, Key=object_key)
    if format == FileFormat.HDF5:
        name = os.path.splitext(os.path.basename(object_key))[0]
        with self.open_temporary_directory() as temp_dir:
            obj_loc = temp_dir / f'{name}.hdf5'
            with obj_loc.open('wb') as fin:
                fin.write(response['Body'].read())
            return self._read(obj_loc, format, limit, **kwargs)
    else:
        buffer = BytesIO(response['Body'].read())
        return self._read(buffer, format, limit, **kwargs)