class_docstr: A base class for Bokeh properties with simple get/set and serialization
  behavior.
class_docstr_tok: ["A","base","class","for","Bokeh","properties","with","simple","get\/set","and","serialization","behavior","."]
docstr: Produce the value used for serialization.
  
  Sometimes it is desirable for the serialized value to differ from
  the ``__get__`` in order for the ``__get__`` value to appear simpler
  for user or developer convenience.
  
  Args:
      obj (HasProps) : the object to get the serialized attribute for
  
  Returns:
      Any
code: def get_value(self, obj: HasProps) -> Any:
      """Produce the value used for serialization.
  
      Sometimes it is desirable for the serialized value to differ from
      the ``__get__`` in order for the ``__get__`` value to appear simpler
      for user or developer convenience.
  
      Args:
          obj (HasProps) : the object to get the serialized attribute for
  
      Returns:
          Any
  
      """
      return self.__get__(obj, obj.__class__)
  
imports: from __future__ import annotations
  import logging
  from copy import copy
  from types import FunctionType
  from typing import TYPE_CHECKING, Any, Callable, Generic, TypeVar
  from ...util.deprecation import deprecated
  from .singletons import Undefined
  from .wrappers import PropertyValueColumnData, PropertyValueContainer
label_desc: Use image node_id 8 for calling the PropertyDescriptor obj's underlying member method code with example usage: obj.get_value(obj) and returns: self