Clean Architectures in Python
Clean Architectures in Python
A practical approach to better software design
About the Book
The clean architecture is the opposite of spaghetti code, where everything is interlaced and there are no single elements that can be easily detached from the rest and replaced without the whole system collapsing. The main point of the clean architecture is to make clear "what is where and why", and this should be your first concern while you design and implement a software system, whatever architecture or development methodology you want to follow.
To fully appreciate the book you need to know Python and be familiar with TDD, in particular with unit testing and mocks. Please refer to the series TDD in Python with pytest published on my blog if you need to refresh your knowledge about these topics.
After the two introductory parts that you are reading, chapter 1 goes through a 10,000 feet overview of a system designed with a clean architecture, while chapter 2 briefly discusses the components and the ideas behind this software architecture. Chapter 3 runs through a concrete example of clean architecture and chapter 4 expands the example adding a web application on top of it. Chapter 5 discusses error management and improvements to the Python code developed in the previous chapters. Chapters 6 and 7 show how to plug different database systems to the web service created previously, and chapter 8 wraps up the example showing how to run the application with a production-ready configuration.
You can read the book online at The Digital Cat Books.
Bundles that include this book
Table of Contents
-
Introduction
- What is a software architecture?
- Why is it called “clean”?
- Why “architectures”?
- Why Python?
- Acknowledgments
-
About the book
- Prerequisites and structure of the book
- Typographic conventions
- Why this book comes for free
- Submitting issues or patches
- About the author
- Changes in the second edition
-
Chapter 01 A day in the life of a clean system
- The data flow
- Advantages of a layered architecture
- Chapter 02 Components of a clean architecture
- Chapter 03 A basic example
-
Chapter 04 Add a web application
- Flask setup
- Test and create an HTTP endpoint
- WSGI
-
Chapter 05 Error management
- Request and responses
- Basic structure
- Requests and responses in a use case
- Request validation
- Responses and failures
- Error management in a use case
- Integrating external systems
-
Chapter 06 Integration with a real external system postgres
- Decoupling with interfaces
- A repository based on PostgreSQL
- Label integration tests
- Create SQLAlchemy classes
- Orchestration management
- Database fixtures
- Integration tests
-
Chapter 07 Integration with a real external system mongodb
- Fixtures
- Docker Compose configuration
- Application configuration
- Integration tests
- The MongoDB repository
-
Chapter 08 Run a production ready system
- Build a web stack
- Connect to a production-ready database
- Changelog
- Colophon
- Notes
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them