Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices

Harry Percival

A practical book about building software systems that survive contact with change. The framing is that most architectural decisions are about which kinds of mistakes you want to make easy to fix later. The TDD and DDD parts are familiar. The event driven sections are the parts I came back to most often.