Clean Architecture gives flexibility, independence and ease to test our applications. Using the included Python batteries and some optional add-ons, we can design our programs cleanly today, without compromising our tomorrow's decisions too much.
The objective of the workshop will be to create a console application to manage tasks to be performed (ie TODO List), using clean architecture patterns (ie Clean Architecture: https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html) proposed by Robert Cecil Martin, better known as Uncle Bob.
"Clean Architecture" promotes the separation between the logic of an application and its implementation, making it flexible, easy to test and independent of any framework or infrastructure (e.g. database, user interface).
Python 3 is ideal for using clean architecture guidelines as it is a dynamic, object-oriented language with static typing (using annotations and mypy) which facilitates the representation of concepts such as dependency inversion and system modeling through of their entities and their interactions.