def expose(*methods):
    """A decorator for exposing the methods of a class.

    Parameters
    ----------
    *methods : str
        A str representation of the methods that should be exposed to callbacks.

    Returns
    -------
    decorator : function
        A function accepting one argument - the class whose methods will be
        exposed - and which returns a new :class:`Watchable` that will
        notify a :class:`Spectator` when those methods are called.

    Notes
    -----
    This is essentially a decorator version of :func:`expose_as`
    """

    def setup(base):
        return expose_as(base.__name__, base, *methods)

    return setup
def expose ( * methods ) : def setup ( base ) : return expose_as ( base . __name__ , base , * methods ) return setup
A decorator for exposing the methods of a class.

    Parameters
    ----------
    *methods : str
        A str representation of the methods that should be exposed to callbacks.

    Returns
    -------
    decorator : function
        A function accepting one argument - the class whose methods will be
        exposed - and which returns a new :class:`Watchable` that will
        notify a :class:`Spectator` when those methods are called.

    Notes
    -----
    This is essentially a decorator version of :func:`expose_as`