High-level version of loop.create_datagram_protocol

I’m creating a simple UDP server based on the examples in transports and protocols. That example is using low-level asyncio functionality and I was wondering if there exists a high-level API for datagram servers? If not, is there any workaround to use asyncio.run instead of loop.run_forever?