Is there an easy way to do this within the standard library? Don't want to add a giant dependency if I can avoid it. Haven't done much with `asyncio`.