class_docstr: Mixin to use when a __proxy__ class attribute should be used for
  additional fields. This allows tab-complete (i.e., calling __dir__ on the
  object) to include class methods as well as the results of
  __proxy__.list_fields().
docstr: Use the internal proxy object for obtaining list_fields.
docstr_tok: ["Use","the","internal","proxy","object","for","obtaining","list_fields","."]
code: def __getattribute__(self, attr):
      """
      Use the internal proxy object for obtaining list_fields.
      """
      proxy = object.__getattribute__(self, "__proxy__")
  
      # If no proxy exists, use the properties defined for the current class
      if proxy is None:
          return object.__getattribute__(self, attr)
  
      # Get the fields defined by the proxy object
      if not hasattr(proxy, "list_fields"):
          fields = []
      else:
          fields = proxy.list_fields()
  
      def list_fields():
          return fields
  
      if attr == "_list_fields":
          return list_fields
      elif attr in fields:
          return self._get(attr)
      else:
          return object.__getattribute__(self, attr)
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import turicreate
  import turicreate._connect.main
  from turicreate.data_structures.sframe import SFrame
  import turicreate.extensions
  from turicreate.extensions import _wrap_function_return
  from turicreate.toolkits._internal_utils import _toolkit_serialize_summary_struct
  from turicreate.util import _make_internal_url
  from turicreate.toolkits._main import ToolkitError
  from turicreate._deps.minimal_package import _minimal_package_import_check
  import turicreate.util._file_util
  import os
  from copy import copy
  import six
  import warnings
label_desc: Use image node_id 3 for calling the ExposeAttributesFromProxy obj's underlying member method code with example usage: obj.__getattribute__(attr) and returns: object, fields, list_fields, self, object