import asyncio
import functools


def call_later(delay, fn, *args, **kwargs) -> asyncio.Handle:
    """
    Call a function after a delay (in seconds).
    """
    loop = asyncio.get_event_loop()
    callback = functools.partial(fn, *args, **kwargs)
    handle = loop.call_later(delay, callback)
    return handle