A re-implementation of the asyncio mainloop on top of Trio
Trio has native concepts of tasks and task cancellation. Asyncio is based on callbacks and chaining Futures, albeit with nicer syntax, which make handling of failures and timeouts fundamentally less reliable, esp. in larger programs. Thus, you really want to base your async project on Trio. On the other hand, there are quite a few asyncio-enhanced libraries. You really don't want to re-invent any wheels in your project. Thus, being able to use asyncio libraries from Trio is useful. Trio-Asyncio enables you to do that, and more.