Forewords ========= :term:`Domain Driven Design` is to me one of the best approach to develop software in companies. It encourage correctness by preserving intention of stake holders. Creating the best domain model, choosing the right world to name object with an ubiquitous language, creating context boundaries for decoupling are techniques that make maintainable software for long term. I am not fooling you, I am not an :term:`DDD` expert, I'm just someone who tries to do my best. This library is largerly inspired by the book :term:`Architecture Patterns With Python` from Harry J.W. Percival and Bob Gregory. It has been previously written other projects I've wrote and available on my github account, such as :term:`purgatory`, or :term:`casualcms`. At Gandi, I've write a library to encourage Event-Driven development, something simple, too simple with a big lack in domain modeling. The next services I wrote, have all a copy pasted messagebus. After multiple copy pasta, and encouraged by my collegue, Michael_, I am releasing this library to stop that mess, because this buch of code in every software I write at the moment. .. _Michael: https://mvieira.fr/about/