Claude-night-market python-async
Async Python patterns and concurrency: async APIs, I/O-bound apps, rate limiting, context managers
install
source · Clone the upstream repo
git clone https://github.com/athola/claude-night-market
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/athola/claude-night-market "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/parseltongue/skills/python-async" ~/.claude/skills/athola-claude-night-market-python-async && rm -rf "$T"
manifest:
plugins/parseltongue/skills/python-async/SKILL.mdsource content
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
- Core async/await, gather(), and task managementmodules/basic-patterns.md - See
- Semaphores and locks for rate limitingmodules/concurrency-control.md - See
- Error handling, timeouts, and cancellationmodules/error-handling-timeouts.md - See
- Context managers, iterators, producer-consumermodules/advanced-patterns.md - See
- Testing with pytest-asynciomodules/testing-async.md - See
- Web scraping and database operationsmodules/real-world-applications.md - See
- Common mistakes and best practicesmodules/pitfalls-best-practices.md
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.