@mark Hm so what would be the advantage of setting up a coroutine and leaving it to be awaited later?

I mean, not that it seems at all far-fetched that such a thing would be useful, I'm just curious since I haven't gone particularly deep into async programming and I can't think of a situation where it would be needed.

I *have* gone deep enough to understand that async functions are not just magic pixie dust though. But I love that name. Eagerly awaiting a PEP to replace the "async" keyword with "magic-pixie-dust" 😂

#Python #asyncio

One of the funny things to me about the way we use languages with coroutines (or "async" if you're nasty) is that we set up the coroutines and then... Immediately await on them.

It's like... We're halfway there. So close. So close to actually taking advantage of concurrent programming. And yes, letting the event loop get in there instead of blocking hard on a main thread is a good thing and a strict improvement in circumstances where it matters.

But I do think sometimes about all the code I've seen where there are three network requests to three separate services that are totally independent of each other and the code is just... Eating the cost of "fully resolve request 1, fully resolve request 2, fully resolve request 3." I do wonder, sometimes, how many people think of these tools as concurrency and not just "the magic pixie-dust syntax I have to use to make half my functions the right color to be called from my other functions."

#python #asyncio

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся

https://habr.com/ru/articles/995032/

#asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

Статья для тех, кто, как и я, споткнулся об asyncio и так и не понял его до конца. Введение Моё знакомство с asyncio началось довольно типично и болезненно. На тот момент я уверенно владел базовым...

Хабр
Did I mention it runs on #asyncio now? And you can select #AWS services you want to monitor?

Разбор threading vs multiprocessing vs asyncio в Python

При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

https://habr.com/ru/articles/991478/

#threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

Разбор threading vs multiprocessing vs asyncio в Python

При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов....

Хабр

contextvars: почему thread-local сломался в asyncio и как это починили

В мире потоков всё было просто: threading.local() даёт каждому потоку свои данные. Request ID, текущий пользователь, database connection — положил в thread-local, достал когда нужно. FastAPI, Flask, Django — все так делали. Потом пришёл asyncio, и эта модель сломалась. В одном потоке выполняются тысячи корутин, и thread-local у них общий. Положил request ID в одной корутине — прочитал чужой в другой. contextvars , появившийся в Python 3.7, решает эту проблему, но механика его работы не очевидна. Разберём, почему thread-local не работает в async, как устроены contextvars, и какие паттерны использовать.

https://habr.com/ru/companies/otus/articles/988882/

#python #asyncio #контекст_выполнения #корутины

contextvars: почему thread-local сломался в asyncio и как это починили

В мире потоков всё было просто: threading.local() даёт каждому потоку свои данные. Request ID, текущий пользователь, database connection — положил в thread-local, достал когда нужно. FastAPI, Flask,...

Хабр

Is using coroutines in Python always beneficial? Or is it sometimes not really needed and overkill? What are the downsides?

#python #asyncio

The Most Popular Python Frameworks and Libraries in 2025 | The PyCharm Blog

Discover the top Python frameworks and libraries based on insights from over 30,000 Python developers.

The JetBrains Blog

15 часов на скрипт, температура 40° и AI-ментор: как я писал VLESS-агрегатор, сразу после «Hello World!»

В этой статье не будет сложной математики или языков программирования. Это история о том, как студент‑медик с нулевыми знаниями Python испытал психоз в температуре и слившись сознанием с ИИ, написал своего Telegram‑бота. Как парсить тысячи VLESS‑ключей с GitHub? Как отличить живой сервер от мертвого за 2 секунды? Как генерировать QR‑коды и JSON‑конфиги в оперативной памяти, чтобы не убить бесплатный сервер? (ответов на эти вопросы слава Богу НЕ будет!) Почему реклама такая убогая? Зачем он всему интернету рассказывает, что ты дурачок, раньше только дома знали... Гайд, как грипп, выгорание и умение ИИ следовать настроению пользователя создали новое хобби и почему программировать — это хотя бы весело. А самое главное — что вы видите на рисунке? Будьте внимательны — от этого зависит диагноз.

https://habr.com/ru/articles/985746/

#aiogram3 #asyncio #telegram #telegrambot #telegram_bot #telegram_bots #telegrambot #vless #vpn #vpnсервер

15 часов на скрипт, температура 40° и AI-ментор: как я писал VLESS-агрегатор, сразу после «Hello World!»

У каждого человека есть желания, которые он не сообщает другим, и желания, в которых он не сознается даже себе самому. Я вообще-то — врач Я программировать и не...

Хабр

Автостопом по граблям: асинхронное лимитирование запросов в Python

Одним солнечным днём мне прилетела задача - написать асинхронный механизм выгрузки данных по API. И тут началось: наивные решения, которые не работают, теоретически правильные концепции, разваливающиеся на практике, и много других неожиданных граблей. В статье я делюсь своим опытом побед и провалов на поприще асинхронного лимитирования запросов: с какими проблемами столкнулся, какие шишки набил и какие инсайты получил по ходу дела. В финале прихожу к решению, которое в итоге оказалось стабильным и продакшн-реди.

https://habr.com/ru/articles/983066/

#python #asyncio #rate_limiting #etl #async_pattern

Автостопом по граблям: асинхронное лимитирование запросов в Python

На днях мне прилетела задача, в которой нужно было вычерпывать данные по HTTP с такими вводными: Есть ограничение по количеству запросов в минуту Объём данных - миллионы записей Один запрос...

Хабр