class_docstr: Base class for ``Expression`` models that represent a computation
  to be carried out on the client-side.
  
  JavaScript implementations should implement the following methods:
  
  .. code-block
  
      v_compute(source: ColumnarDataSource): Arrayable {
          # compute and return array of values
      }
  
  .. note::
      If you wish for results to be cached per source and updated only if
      the source changes, implement ``_v_compute: (source)`` instead.
class_docstr_tok: ["Base","class","for","``","Expression","``","models","that","represent","a","computation","to","be","carried","out","on","the","client-side",".","JavaScript","implementations","should","implement","the","following","methods",":","..","code-block","v_compute","(","source",":","ColumnarDataSource",")",":","Arrayable","{","#","compute","and","return","array","of","values","}","..","note",":",":","If","you","wish","for","results","to","be","cached","per","source","and","updated","only","if","the","source","changes",",","implement","``","_v_compute",":","(","source",")","``","instead","."]
code: def __init__(self, *args, **kwargs) -> None:
      super().__init__(*args, **kwargs)
  
imports: from __future__ import annotations
  import logging
  from math import inf
  from ..core.enums import Direction
  from ..core.has_props import abstract
  from ..core.properties import AngleSpec, AnyRef, Bool, Dict, Enum, Float, Instance, Nullable, NumberSpec, Required, Seq, String, field
  from ..model import Model
label_desc: Use image node_id 1 to create a new Expression object from inherited base classes: Model with example: obj = Expression()