0.11.0 (Jan 2016)¶
Bokeh Version 0.11.0
is a large release with many new improvements
- New Tornado and websocket-based Bokeh Server
bokeh
command line tool for creating applications- expanded docs including deployment guidance
- video demonstrations and tutorials
- supports async, periodic, timeout and model event callbacks
- python client API
- User-Defined Models allowing anyone to extend Bokeh
- GeoJSON data source and map tiles renderer
- WebGL support for rendering lines
- Python -> JS compilation for CustomJS callbacks (Py3 only for now)
- New general push_notebook() based on Jupyter comms
- Updates to charts
- all legacy charts converted
- more examples and expanded docs
- UX improvements
- configurable and “auto” range bounds
- wheel zoom scroll capture turned off by default
- hover policy for glyphs
- responsive improvements
- Known issues
- annulus glyph does not render correctly on IE and Edge
- many small bug fixes
Known Issues¶
Server output in the Jupyter notebook with output_server is currently not functioning correctly, and will be fixed in a follow on 0.11.1 release shortly. However, new notebook comms can enable many of the same kinds of interactions and notebook-based apps without a Bokeh server.
The Image glyph does not currently work with the Bokeh server, and will be fixed in a follow on 0.11.1 release shortly.
Migration Guide¶
The previous Flask-based bokeh-server
has been completely removed and
replaced with the new bokeh serve
based on Tornado and a websocket
protocol. If you require to use bokeh-server
you will have to remain on
Bokeh version 0.10.0
or lower.
All “old-style” charts in bokeh._legacy_charts
have been updated to use
the more consistent and powerful bokeh.charts
interface, and
bokeh._legacy_charts
has been removed.
Bokeh deprecation warnings, which are not enabled by default python, have now been unconditionally enabled and are always displayed.
ColumnDataSource.push_notebook()
has been deprecated (but still works)
in favor of the more general bokeh.io.push_notebook()
base on Jupyter
notebook websocket comms.
The following modules have been deprecated (but still work), with new counterparts as described in this table:
Old location | New location |
---|---|
bokeh.browserlib |
bokeh.util.browser |
bokeh.properties |
bokeh.core.properties |
bokeh.mixins |
bokeh.core.property_mixins |
bokeh.plotting_helpers |
bokeh.plotting.helpers |
bokeh.templates |
bokeh.core.templates |
Additionally, the following modules that should not be of interest to general users have been moved immediately, without deprecation:
Old location | New location |
---|---|
bokeh._json_encoder |
bokeh.core.json_encoder |
bokeh.compat |
bokeh.core.compat |
bokeh.enums |
bokeh.core.enums |
bokeh.query |
bokeh.core.query |
bokeh.state |
bokeh.core.state |
bokeh.validation |
bokeh.core.validation |
If you have been using file_html
and manually passing in
js_resources
or css_resources
, your call will no longer
work. You can still do this, but you pass a tuple to the resources
argument.
Before:
html = file_html(layout, None, title=title, template=template, js_resources=js_resources, css_resources=css_resources)
v0.11:
html = file_html(layout, resources=(js_resources, css_resources), title=title, template=template)
Note you can pass None
in place of either js_resources
or css_resources
.