PyCon UK 2019

Clean Architectures in Python
2019-09-14, 12:00–12:30, Assembly Room

What is a good software architecture? Why should we bother structuring the code and spending time testing it? The clean architecture is a good way to structure an application to make it easy to develop, debug, maintain, and change.


Architectural considerations are often overlooked by developers or completely delegated to a framework. We should start once again discussing how applications are structured, how components are connected and how to lower coupling between different parts of a system, to avoid creating software that cannot easily be maintained or changed.

The “clean architecture” model predates Robert Martin, who recently brought it back to the attention of the community, and is a way of structuring applications that leverages layers separation and internal APIs to achieve a very tidy, fully-tested, and loosely coupled system. The talk introduces the main ideas of the architecture, showing how the layers can be implemented in Python, following the content of the book “Clean Architectures in Python” edited by Leanpub. The book recently reached 8,000 downloads and many readers found it useful to start learning how to test software and how to structure an application without relying entirely on the framework.


Is your proposal suitable for beginners? – True