def METHOD_NAME(xclbin: Path, data: Mapping[str, Any]) -> Dict[str, Any]:
    """Takes in a json data output and runs pynq using the data provided
    returns a dictionary that can be converted into json
    `xclbin` is path to relevant xclbin file.
    Assumes that data is a properly formatted calyx data file.
    Data file order must match the expected call signature in terms of order
    Also assume that the data Mapping values type are valid json-type equivalents
    """
    # Load the PYNQ overlay from the .xclbin file, raising a FileNotFoundError
    # if the file does not exist.
    ol = pynq.Overlay(str(xclbin.resolve(strict=True)))
    # Send all the input data.
    buffers = [mem_to_buf(mem) for mem in data.values()]
    for buffer in buffers:
        buffer.sync_to_device()
    # Run the kernel.
    kernel = getattr(ol, list(ol.ip_dict)[0])  # Like ol.Toplevel_1
    # XXX(nathanielnrn) 2022-07-19: timeout is not currently used anywhere in
    # generated verilog code, passed in because kernel.xml is generated to
    # expect it as an argument
    timeout = 1000
    kernel.call(timeout, *buffers)
    # Collect the output data.
    for buf in buffers:
        buf.sync_from_device()
    mems = {name: buf_to_mem(data[name]["format"], buf)
            for name, buf in zip(data, buffers)}
    # PYNQ recommends explicitly freeing its resources.
    del buffers
    ol.free()
    return {"memories": mems}