bokeh.core.property.bases

Provide base classes for the Bokeh property system.

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 ContainerProperty(default=None, help=None, serialized=True, readonly=False)[source]

A base class for Container-like type properties.

class ParameterizedProperty(default=None, help=None, serialized=True, readonly=False)[source]

A base class for Properties that have type parameters, e.g. List(String).

class PrimitiveProperty(default=None, help=None, serialized=True, readonly=False)[source]

A base class for simple property types.

Subclasses should define a class attribute _underlying_type that is a tuple of acceptable type values for the property.

Example

A trivial version of a Float property might look like:

class Float(PrimitiveProperty):
    _underlying_type = (numbers.Real,)
class Property(default=None, help=None, serialized=True, readonly=False)[source]

Base class for Bokeh property instances, which can be added to Bokeh Models.

Parameters:
  • default (obj or None, optional) – A default value for attributes created from this property to have (default: None)
  • help (str or None, optional) – A documentation string for this property. It will be automatically used by the bokeh_prop extension when generating Spinx documentation. (default: None)
  • serialized (bool, optional) – Whether attributes created from this property should be included in serialization (default: True)
  • readonly (bool, optional) – Whether attributes created from this property are read-only. (default: False)
from_json(json, models=None)[source]

Convert from JSON-compatible values into a value for this property.

JSON-compatible values are: list, dict, number, string, bool, None

is_valid(value)[source]

Whether the value passes validation

Parameters:value (obj) – the value to validate against this property type
Returns:True if valid, False otherwise
make_descriptors(base_name)[source]

Return a list of BasicPropertyDescriptor instances to install on a class, in order to delegate attribute access to this property.

Parameters:name (str) – the name of the property these descriptors are for
Returns:list[BasicPropertyDescriptor]

The descriptors returned are collected by the MetaHasProps metaclass and added to HasProps subclasses during class creation.

serialize_value(value)[source]

Change the value into a JSON serializable format.

themed_default(cls, name, theme_overrides)[source]

The default, transformed by prepare_value() and the theme overrides.

transform(value)[source]

Change the value into the canonical format for this property.

Parameters:value (obj) – the value to apply transformation to.
Returns:transformed value
Return type:obj
validate(value)[source]

Determine whether we can set this property from this value.

Validation happens before transform()

Parameters:value (obj) – the value to validate against this property type
Returns:None
Raises:ValueError if the value is not valid for this property type
readonly

Whether this property is read-only.

Read-only properties may only be modified by the client (i.e., by BokehJS in the browser).

serialized

Whether the property should be serialized when serializing an object.

This would be False for a “virtual” or “convenience” property that duplicates information already available in other properties, for example.