class_docstr: Base class for all class types that have Bokeh properties.
  
      
class_docstr_tok: ["Base","class","for","all","class","types","that","have","Bokeh","properties","."]
docstr: Intercept attribute setting on HasProps in order to special case
  a few situations:
  
  * short circuit all property machinery for ``_private`` attributes
  * suggest similar attribute names on attribute errors
  
  Args:
      name (str) : the name of the attribute to set on this object
      value (obj) : the value to set
  
  Returns:
      None
docstr_tok: ["Intercept","attribute","setting","on","HasProps","in","order","to","special","case","a","few","situations",":","*","short","circuit","all","property","machinery","for","``","_private","``","attributes","*","suggest","similar","attribute","names","on","attribute","errors","Args",":","name","(","str",")",":","the","name","of","the","attribute","to","set","on","this","object","value","(","obj",")",":","the","value","to","set","Returns",":","None"]
code: def __setattr__(self, name: str, value: Any) -> None:
      """Intercept attribute setting on HasProps in order to special case
      a few situations:
  
      * short circuit all property machinery for ``_private`` attributes
      * suggest similar attribute names on attribute errors
  
      Args:
          name (str) : the name of the attribute to set on this object
          value (obj) : the value to set
  
      Returns:
          None
  
      """
      if name.startswith("_"):
          return super().__setattr__(name, value)
  
      properties = self.properties(_with_props=True)
      if name in properties:
          return super().__setattr__(name, value)
  
      descriptor = getattr(self.__class__, name, None)
      if isinstance(descriptor, property):  # Python property
          return super().__setattr__(name, value)
  
      self._raise_attribute_error_with_matches(name, properties)
  
imports: from __future__ import annotations
  import logging
  import difflib
  from typing import TYPE_CHECKING, Any, Callable, ClassVar, Iterable, Literal, NoReturn, TypedDict, TypeVar, Union, overload
  from weakref import WeakSet
  from ..util.strings import append_docstring, nice_join
  from ..util.warnings import warn
  from .property.descriptor_factory import PropertyDescriptorFactory
  from .property.descriptors import PropertyDescriptor, UnsetValueError
  from .property.override import Override
  from .property.singletons import Intrinsic, Undefined
  from .property.wrappers import PropertyValueContainer
  from .serialization import ObjectRep, Ref, Serializable, Serializer
  from .types import ID
label_desc: Use image node_id 3 for calling the HasProps obj's underlying member method code with example usage: obj.__setattr__(name, value) and returns: super, super, super