I myself gave a talk on practical project automation, the summary of that is in the linked separate post.
Erik Groeneveld (Seek You Too) gave a talk at the PUN meeting in Veenendaal.
The observer pattern. An object is an observable and several other objects are observers that observe that observable. Main reason: you have some relation between objects, but you don’t want to make the relation explicit or hardcoded as the observed object doesn’t care who looks at it.
Erik started with an empty python file and slowly added classes and methods to build some quick event system, showing that it quickly gets elaborate and inflexible. He searched for a simple pythonic way, but couldn’t find an observers/observables/event framework.
Jan-Wijbrand Kolman rightfully mentioned zope.event that ought to do everything you want of an event framework. Zope.event nicely decouples the observer and observable.
What Erik (and some others) made is some observable base class with an addObserver() method. And it has self.any(), self.all() etc. methods that call any or all registered observers with some method and yield the results as a generator. The library in which he distilled this all is part of http://weightless.io .
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):