def _call_signature(callable, *args, **kwargs):
    """
    Generate a human-friendly call signature

    From recipe http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/307970
    """
    argv = [repr(arg) for arg in args] + ["%s=%r" % x for x in kwargs.items()]
    return "%s(%s)" % (callable.__name__, ", ".join(argv))