Table of Contents
- Introduction, Code Formatting, and Tools
- Pythonic Code
- General Traits of Good Code
- The SOLID Principles
- Using Decorators to Improve Our Code
- Getting More Out of Our Objects with Descriptors
- Generators, Iterators, and Asynchronous Programming
- Unit Testing and Refactoring
- Common Design Patterns
- Clean Architecture

