def expose(func):
    """
    Decorator to be used with :class:`SDKWrapper`. This decorator indicates
    that the wrapped method or class should be exposed in the proxied object.

    Args:
        func(types.FunctionType/types.MethodType): function to decorate

    Returns:
        None
    """

    @functools.wraps(func)
    def wrapped(*args, **kwargs):
        return func(*args, **kwargs)

    if inspect.isclass(func):
        wrapped._sdkmetaclass = SDKMethod(func.__name__)
    else:
        wrapped._sdkmeta = SDKMethod(func.__name__)
    return wrapped
Decorator to be used with :class:`SDKWrapper`. This decorator indicates
    that the wrapped method or class should be exposed in the proxied object.

    Args:
        func(types.FunctionType/types.MethodType): function to decorate

    Returns:
        None