Skip to main content

Hooks advice to a function or method.

advise() is a decorator that takes a set of functions or methods and injects the decorated function in their place. There is no concept of before/after callbacks. Instead, the intercepting function is responsible for calling (or not) the intercepted function.

The “classic” logging example:

class A(object):
  def a_function(self):
    print 'a_function()'

@advise(A.a_function)
def logit(on, next, *args, **kwargs):
  logging.debug('%r.%r(%r, %r)', on, next, args, kwargs)
  return next(*args, **kwargs)

See the function documentation for more information.

Release history Release notifications | RSS feed

This release

0.0.1 This release

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page