Стандартная библиотека asyncio это стандарт (начиная с Py3.4) для работы с асинхронным кодом. Но эта библиотека достаточно низкоуровневая, со своими проблемами, устаревшими подходами.
Чтобы исправить это, были созданы разные обертки и альтернативы с реализацией популярных инструментов и паттернов асинхронного программирования. Это такие библиотеки как:
- trio: улучшает корректность выполнения, не оставляя потерянных корутин при ошибках, то есть предлагает Structured Concurrency из коробки.
- curio: упрощение синтаксиса и читаемости кода, больше похоже на работу с потоками.
- anyio: универсальная обертка над asyncio или trio плюс множество вспомогательных инструментов.
anyio используется в FastAPI как основная библиотека для работы с асинхронным кодом и вызовом синхронного кода из асинхронного.
В общем, рекомендую почитать про возможности anyio, возможно вы более не будете использовать чистый asyncio в своих проектах)
Это совсем не значит что дефолтный asyncio плох, он тоже даёт достаточный для работы функционал и продолжает развиваться. Например, в версии 3.11 появились TaskGroup, с похожим на trio функционалом. Так что он тоже актуален, просто придется больше написать кода самостоятельно.
#libs#async
«В Милане запустили два трамвая в честь 20-летия сотрудничества #LouisVuitton и Такаси Мураками.
Эти исторические трамваи 1920-х годов курсируют с 8 по 28 января.
Первый трамвай — это передвижной кинотеатр в синих тонах с арт-видео и работами Мураками. Второй — ярко-розовое литературное кафе с Monogram Multicolor на столиках, книгами об искусстве и баром, где подают малиновый bubble tea и печенье в форме Panda Superflat.
Чтобы попасть на один из трамваев, нужно заранее забронировать место через службу поддержки Louis Vuitton или на официальном сайте бренда».
Via кутюрник