bokeh.core.has_props¶
Provide a base class for objects that can have declarative, typed, serializable properties.
Note
These classes form part of the very low-level machinery that implements the Bokeh model and property system. It is unlikely that any of these classes or their methods will be applicable to any standard usage or to anyone who is not directly developing on Bokeh’s own infrastructure.
-
class
HasProps
(**properties)[source]¶ Base class for all class types that have Bokeh properties.
-
apply_theme
(property_values)[source]¶ Apply a set of theme values which will be used rather than defaults, but will not override application-set values.
The passed-in dictionary may be kept around as-is and shared with other instances to save memory (so neither the caller nor the
HasProps
instance should modify it).- Parameters
property_values (dict) – theme values to use in place of defaults
- Returns
None
-
classmethod
dataspecs
()[source]¶ Collect the names of all
DataSpec
properties on this class.This method always traverses the class hierarchy and includes properties defined on any parent classes.
-
classmethod
dataspecs_with_props
()[source]¶ Collect a dict mapping the names of all
DataSpec
properties on this class to the associated properties.This method always traverses the class hierarchy and includes properties defined on any parent classes.
-
equals
(other)[source]¶ Structural equality of models.
- Parameters
other (HasProps) – the other instance to compare to
- Returns
True, if properties are structurally equal, otherwise False
-
classmethod
lookup
(name)[source]¶ Find the
PropertyDescriptor
for a Bokeh property on a class, given the property name.- Parameters
name (str) – name of the property to search for
- Returns
descriptor for property named
name
- Return type
-
classmethod
properties
(with_bases=True)[source]¶ Collect the names of properties on this class.
This method optionally traverses the class hierarchy and includes properties defined on any parent classes.
-
classmethod
properties_containers
()[source]¶ Collect the names of all container properties on this class.
This method always traverses the class hierarchy and includes properties defined on any parent classes.
-
classmethod
properties_with_refs
()[source]¶ Collect the names of all properties on this class that also have references.
This method always traverses the class hierarchy and includes properties defined on any parent classes.
-
properties_with_values
(include_defaults=True)[source]¶ Collect a dict mapping property names to their values.
This method always traverses the class hierarchy and includes properties defined on any parent classes.
Non-serializable properties are skipped and property values are in “serialized” format which may be slightly different from the values you would normally read from the properties; the intent of this method is to return the information needed to losslessly reconstitute the object instance.
-
query_properties_with_values
(query, include_defaults=True)[source]¶ Query the properties values of
HasProps
instances with a predicate.- Parameters
query (callable) – A callable that accepts property descriptors and returns True or False
include_defaults (bool, optional) – Whether to include properties that have not been explicitly set by a user (default: True)
- Returns
mapping of property names and values for matching properties
- Return type
-
set_from_json
(name, json, models=None, setter=None)[source]¶ Set a property value on this object from JSON.
- Parameters
name – (str) : name of the attribute to set
json – (JSON-value) : value to set to the attribute to
models (dict or None, optional) –
Mapping of model ids to models (default: None)
This is needed in cases where the attributes to update also have values that have references.
setter (ClientSession or ServerSession or None, optional) –
This is used to prevent “boomerang” updates to Bokeh apps.
In the context of a Bokeh server application, incoming updates to properties will be annotated with the session that is doing the updating. This value is propagated through any subsequent change notifications that the update triggers. The session can compare the event setter to itself, and suppress any updates that originate from itself.
- Returns
None
-
themed_values
()[source]¶ Get any theme-provided overrides.
Results are returned as a dict from property name to value, or
None
if no theme overrides any values for this instance.- Returns
dict or None
-
update
(**kwargs)[source]¶ Updates the object’s properties from the given keyword arguments.
- Returns
None
Examples
The following are equivalent:
from bokeh.models import Range1d r = Range1d # set properties individually: r.start = 10 r.end = 20 # update properties together: r.update(start=10, end=20)
-
update_from_json
(json_attributes, models=None, setter=None)[source]¶ Updates the object’s properties from a JSON attributes dictionary.
- Parameters
json_attributes – (JSON-dict) : attributes and values to update
models (dict or None, optional) –
Mapping of model ids to models (default: None)
This is needed in cases where the attributes to update also have values that have references.
setter (ClientSession or ServerSession or None, optional) –
This is used to prevent “boomerang” updates to Bokeh apps.
In the context of a Bokeh server application, incoming updates to properties will be annotated with the session that is doing the updating. This value is propagated through any subsequent change notifications that the update triggers. The session can compare the event setter to itself, and suppress any updates that originate from itself.
- Returns
None
-
-
class
MetaHasProps
(class_name, bases, nmspc)[source]¶ Specialize the construction of
HasProps
classes.This class is a metaclass for
HasProps
that is responsible for creating and adding thePropertyDescriptor
instances that delegate validation and serialization toProperty
attributes.
-
accumulate_dict_from_superclasses
(cls, propname)[source]¶ Traverse the class hierarchy and accumulate the special dicts
MetaHasProps
stores on classes:- Parameters
name (str) –
name of the special attribute to collect.
Typically meaningful values are:
__dataspecs__
,__overridden_defaults__
-
accumulate_from_superclasses
(cls, propname)[source]¶ Traverse the class hierarchy and accumulate the special sets of names
MetaHasProps
stores on classes:- Parameters
name (str) –
name of the special attribute to collect.
Typically meaningful values are:
__container_props__
,__properties__
,__properties_with_refs__