import zipfile
import pathlib


async def make_zip_archive(
    input_directory_path: str, output_file_path: str,
) -> dict:
    """
    Creates zip file of a directory.

    Parameters
    ----------
    input_directory_path : str
        Path to directory to be archived
    output_file_path : str
        Path where the output archive should be saved (should include file name)

    Returns
    -------
    dict
        Path to the output zip file
    """
    with zipfile.ZipFile(output_file_path, "w") as zip:
        for file in pathlib.Path(input_directory_path).rglob("*"):
            zip.write(file, file.name)
    return {"output_path": output_file_path}