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.
"""