Clean Architectures in Python
Free!
Minimum price
$7.99
Minimum paid price

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.

About the Author

Leonardo Giordani
Leonardo Giordani

My name is Leonardo Giordani, I was born in 1977 with Star Wars, bash, Apple ][, BSD, Dire Straits, The Silmarillion. I'm interested in operating systems and computer languages, photography, fantasy and science fiction, video and board games, guitar playing, and (too) many other things.

I studied and used several programming languages, from the Z80 and x86 Assembly to Python and Scala. I love mathematics and cryptography. I'm mainly interested in open source software, and I like both the theoretical and practical aspects of computer science.

For 13 years I was a C/Python programmer and DevOps for a satellite imagery company. and I am currently infrastructure engineer at WeGotPOP, a UK company based in London and New York that creates innovative software for film productions.

In 2013 I started publishing some technical thoughts on my blog, The Digital Cat. In 2018 I published my first book with Leanpub, “Clean Architectures in Python”, which has been already downloaded more than 25,000 times.

Bundles that include this book

$60.98
Bought separately
$19.99
Bundle Price

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 $14 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub