async-python-patterns
Освойте паттерны асинхронного Python
Также доступно от: ActiveInferenceInstitute
Создавайте высокопроизводительные приложения Python с паттернами async/await. Изучайте методы параллельного программирования для масштабируемых I/O-систем.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «async-python-patterns». Покажите, как получать несколько URL параллельно с обработкой таймаутов
Ожидаемый результат:
- Используйте asyncio.gather() с asyncio.wait_for() для контроля таймаутов
- Создайте aiohttp ClientSession с пулом соединений
- Корректно обрабатывайте успешные ответы и таймауты
- Возвращайте результаты с кодами состояния и информацией об ошибках
Использование «async-python-patterns». Как реализовать ограничитель скорости для API-вызовов
Ожидаемый результат:
- Используйте asyncio.Semaphore для ограничения параллельных запросов
- Применяйте semaphore с паттерном асинхронного контекстного менеджера
- Установите подходящее значение max_concurrent на основе лимитов API
- Комбинируйте с логикой повторных попыток для надежности
Использование «async-python-patterns». Какие распространенные ошибки при написании асинхронного кода на Python
Ожидаемый результат:
- Забывать await у корутин - они возвращают объекты корутин, а не результаты
- Использовать time.sleep() вместо asyncio.sleep() - блокирует цикл событий
- Не обрабатывать отмену задач с try/except CancelledError
- Смешивать синхронный и асинхронный код без правильного обертывания
Аудит безопасности
БезопасноDocumentation-only skill containing Python async programming patterns. Static analyzer flagged 77 findings, all confirmed as false positives. Markdown code fences were misidentified as shell backticks. Documentation text was misidentified as cryptographic algorithms. Example URLs are standard placeholders. No executable code, network access, or security risks exist.
Факторы риска
🌐 Доступ к сети (10)
⚙️ Внешние команды (48)
Оценка качества
Что вы можете построить
Создание асинхронных веб-API
Создавайте приложения FastAPI и aiohttp с правильными асинхронными паттернами для обработки параллельных запросов
Параллельная обработка данных
Реализуйте параллельные I/O операции для запросов к базам данных, обработки файлов и вызовов API
Асинхронные скрипты автоматизации
Пишите эффективные инструменты автоматизации, которые обрабатывают несколько сетевых операций параллельно
Попробуйте эти промпты
Покажите, как создать простую асинхронную функцию, которая получает данные с asyncio.sleep() для симуляции сетевой задержки
Продемонстрируйте, как делать 10 HTTP-запросов параллельно с помощью asyncio.gather() с правильной обработкой ошибок
Создайте паттерн производитель-потребитель с использованием asyncio.Queue для обработки 100 элементов с 5 воркерами
Спроектируйте асинхронный WebSocket-сервер, который обрабатывает несколько клиентов и транслирует сообщения всем подключенным пользователям
Лучшие практики
- Всегда используйте asyncio.run() как точку входа для асинхронных приложений
- Реализуйте правильную обработку ошибок с блоками try/except в асинхронных функциях
- Используйте пулы соединений и семафоры для ограничения параллельных операций
Избегать
- Никогда не используйте time.sleep() в асинхронном коде - всегда используйте asyncio.sleep()
- Не забывайте await у корутин, иначе они не выполнятся
- Избегайте смешивания блокирующих I/O операций с асинхронным кодом
Часто задаваемые вопросы
Какие версии Python поддерживают asyncio?
Когда использовать async versus потоки?
Можно ли использовать async с Django?
Как отлаживать асинхронный код?
В чем разница между create_task и gather?
Совместим ли этот навык с Jupyter ноутбуками?
Сведения для разработчиков
Автор
wshobsonЛицензия
MIT
Репозиторий
https://github.com/wshobson/agents/tree/main/plugins/python-development/skills/async-python-patternsСсылка
main
Структура файлов
📄 SKILL.md