Good with Computers

The Sixty North Blog

Python

Event-Sourced Domain Models in Python at PyCon UK

At PyCon UK 2015 I led a very well attended workshop with the goal of introducing Python developers to the tried-and-tested techniques and patterns of Domain Driven Design (DDD), in particular when used as part of an event-sourced architecture. The two-and-a-half hour workshop was comprised of excerpts from our training course DDD Patterns in Python. […]

Event Processing with Transducers

In the previous article in this series on transducers we looked at lazily evaluating transducers. This time we’ll look not at pulling output through a transducer chain from downstream, but at pushing input items into the chain from upstream. All of the uses of transducers we’ve demonstrated in Python so far are probably better handled […]

Lazy Transducer Evaluation

In the previous article in this series on transducers we looked at transducers which push more items downstream through the reducer chain than they receive from upstream. We promised that this would make lazy evaluation of transducer chains quite interesting. When used with our transduce() function, our mapping and filtering transducers are in some ways […]

Item Injecting Transducers

In the previous article in our series on understanding transducers through Python we showed how to support early termination of a reduction operation. This time, we’ll demonstrate how transducers can produce more items than they consume. Although this may seem obvious, it leads to some important consequences for implementing lazy evaluation of transducers, which is […]

Terminating Transducers

In the previous article in this series on transducers, we showed how to implement stateful transducers, and how to deal with any left-over state or other clean-up operations when the reduction operation is complete. Sometimes, however, there is no need to process a whole series of items in order to produce the final result. For […]

Stay in Touch

Our business hours are 08:00 to 16:00 CET/CEST.