Module Design Guide
Universal rules for designing Python modules and packages. Not framework-specific — applies to any Python project.
Directory structure, layered architecture, size limits, public API facade
Pydantic v2 ModelsData models, validation, serialization, configuration, migration from v1
Async & ConcurrencyAsync/await, gather, semaphores, dual API, streaming, graceful shutdown
Error HandlingException hierarchy, error codes, recovery patterns, structured logging
Testingpytest setup, unit/integration/performance tests, mocking, factories
Dependency InjectionProtocols, constructor injection, factories, containers, testability
Resilience PatternsCircuit breaker, retry with backoff, timeout, bulkhead, rate limiting
Code StyleNaming, type annotations, formatting, docstrings, tooling
PerformanceAsync optimization, memory, caching, database, profiling
Refactoring Checklist8-phase refactoring process, commit strategy, rollback plan
Quick ReferenceCheat sheets, templates, size limits, anti-pattern mapping