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_tok: []
code: def __init__(self, **properties: Any) -> None:
      """ """
      super().__init__()
      self._property_values = {}
      self._unstable_default_values = {}
      self._unstable_themed_values = {}
  
      for name, value in properties.items():
          # TODO: this would be better to handle in descriptors
          if value is Undefined or value is Intrinsic:
              continue
          setattr(self, name, value)
  
      initialized = set(properties.keys())
      for name in self.properties(
          _with_props=True
      ):  # avoid set[] for deterministic behavior
          if name in initialized:
              continue
          desc = self.lookup(name)
          if desc.has_unstable_default(self):
              desc._get(self)  # this fills-in `_unstable_*_values`
  
      self._initialized = True
  
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 2 to create a new HasProps object from inherited base classes: Serializable with example: obj = HasProps()