Message 189966 - Python tracker (original) (raw)

Rather than exposing the "cache token" (which looks like an implementation detail), you may allow third-party code to register a handler which will be called when an ABC's registrations are modified:

def abc_handler(abc): """ Called when the concrete class registrations for ABC abc are updated. """

or even:

def abc_handler(abc, added, removed): """ Called when the concrete class registrations for ABC abc are updated. added is an iterable of concrete classes which have been registered on the ABC, removed is an iterable of concrete classes which have been unregistered. """