python-async

Async Python Patterns

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "python-async" with this command: npx skills add athola/claude-night-market/athola-claude-night-market-python-async

Async Python Patterns

asyncio and async/await patterns for Python applications.

Quick Start

import asyncio

async def main(): print("Hello") await asyncio.sleep(1) print("World")

asyncio.run(main())

When To Use

  • Building async web APIs (FastAPI, aiohttp)

  • Implementing concurrent I/O operations

  • Creating web scrapers with concurrent requests

  • Developing real-time applications (WebSockets)

  • Processing multiple independent tasks simultaneously

  • Building microservices with async communication

When NOT To Use

  • CPU-bound optimization - use python-performance instead

  • Testing async code - use python-testing async module

Modules

This skill uses progressive loading. Content is organized into focused modules:

  • See modules/basic-patterns.md

  • Core async/await, gather(), and task management

  • See modules/concurrency-control.md

  • Semaphores and locks for rate limiting

  • See modules/error-handling-timeouts.md

  • Error handling, timeouts, and cancellation

  • See modules/advanced-patterns.md

  • Context managers, iterators, producer-consumer

  • See modules/testing-async.md

  • Testing with pytest-asyncio

  • See modules/real-world-applications.md

  • Web scraping and database operations

  • See modules/pitfalls-best-practices.md

  • Common mistakes and best practices

Load specific modules based on your needs, or reference all for detailed guidance.

Exit Criteria

  • Async patterns applied correctly

  • No blocking operations in async code

  • Proper error handling implemented

  • Rate limiting configured where needed

  • Tests pass with pytest-asyncio

Troubleshooting

Common Issues

RuntimeError: no current event loop Use asyncio.run() as the entry point. Avoid get_event_loop() in Python 3.10+.

Blocking call in async context Move sync I/O to asyncio.to_thread() or loop.run_in_executor() .

Tests hang indefinitely Ensure pytest-asyncio is installed and test functions are decorated with @pytest.mark.asyncio .

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-quality-principles

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-refinement

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-performance

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

architecture-paradigm-client-server

No summary provided by upstream source.

Repository SourceNeeds Review