"Fossies" - the Fresh Open Source Software Archive

Member "bokeh-2.4.1/sphinx/source/docs/releases/0.12.4.rst" (13 Oct 2021, 7114 Bytes) of package /linux/www/bokeh-2.4.1.tar.gz:

As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.


Bokeh Version 0.12.4 (Jan 2017) is an incremental update that adds a few important features and fixes several bugs. Some of the highlights include:

Many other small bugfixes and docs additions. For full details see the CHANGELOG.

Migration Guide

As the project approaches a 1.0 release, it is necessary to make some changes to bring interfaces and functionality up to a point that can be maintained long-term. We try to limit such changes as much as possible, and have a period of deprecation.

Broken Dialog Removed

The Dialog widget has been broken for some time. Due to lack of user reports about it, and because custom extensions now provide a path for users to integrate third party JS dialog libraries, this widget has been removed immediately.

Custom Extension Import/Export

BokehJS is making a slow migration to TypeScript to support long-term stability and maintainability. This necessitates some short term changes for writing custom extensions.

JavaScript extension code with requires and module.exports, such as:

Model = require "model"

class DateGapTickFormatter extends TickFormatter
    # implementation here

module.exports =
    Model: DateGapTickFormatter

should be re-written as:

import {Model} from "model"

export class DateGapTickFormatter extends TickFormatter
    # implementation here

Legend Locations

To improve consistency, the following locations names have changed:

old location name new location name
left_center center_left
right_center center_right

The old location names will continue to work for some time with a deprecation warning.

App Current Directory

Directory style apps no longer chdir into the app directory. The module attribute __file__ should be used to construct any file paths relative to main.py for use with open, etc.

Window Titles

Bokeh apps embedded with autoload_server will no longer set the browser window title.

Positional Argument Order For hbar

In order to provide much improved interactive help (true function signatures and rich auto-generated docstrings) the order of the left and right parameters to hbar had to be swapped (cannot have non-default args after a default arg). The new function signature is:

p.hbar(y, height, right, left=0, **kwargs)

Old bokeh-server Command Removed

Since 0.11, the old bokeh-server command remained and only printed a message directing to information about using bokeh serve. It has been removed completely.

Cruft auto Functions removed

The following functions in bokeh.io were long unused and have been removed: autoadd, autopush, and autosave.

Eco Templates No Longer Supported

BokehJS has migrated to using .tsx templates. Provisional support for including .eco templates has been removed from both BokehJS and the Bokeh Python library.

Base64 serialisation and Python 3.3

The addition a binary protocol that uses a base 64 encoding for NumPy arrays means that Bokeh will not function with NumPy arrays on Python 3.3, due to a bug in Python. A possible workaround is to convert all arrays to plain python lists. As a reminder, Bokeh official support includes Python 2.7 and 3.4+ only.

BokehJS BackboneView $ Removed

In part of a longer effort to remove the JQuery dependency from BokehJS entirely, the $ attribute that BokehJS added to BackboneView has been removed. Use e.g., @$el.find instead.

Additionally, use of Bokeh.$ and Bokeh._

Refactor of bokeh.core

It is expected that all of these these changes should be below the level that standard users will ever be exposed to. These changes are listed here for completeness.

The overly large bokeh.core.properties module has been split up. This improves maintainability and allows the contents of bokeh.core.properties to limited to things of that might be useful to users writing custom models. The new file structure:

The following class names have been changed to improve intent and clarity (i.e. only things that are actually Python descriptors are named "Descriptor"):

old class name new class name
PropertyFactory PropertyDescriptorFactory
PropertyDescriptor Property
ParameterizedPropertyDescriptor ParameterizedProperty
BasicProperty BasicPropertyDescriptor
DataSpecProperty DataSpecPropertyDescriptor
UnitsSpecProperty UnitsSpecPropertyDescriptor

The following unused and non-useful properties were removed in this effort: Align, Event, Function, and This.

The default value for the owner parameter of the __get__ method on property descriptors was an unnecessary change to the standard Python descriptor protocol, and has been removed.

Additionally, the HasProps.set method has been removed. The name caused problems with the Sphinx docs build, and it was an unnecessary duplicate of HasProps.update (which should be used instead).