We are pleased to announce the release of version 0.4.4 of Bokeh, an interactive web plotting library for Python!

This release includes improved Matplotlib, ggplot, and Seaborn support, PyPy compatibility, continuous integration testing, downsampling of remote data, and initial work on Bokeh “apps”. If you are a Matplotlib user, you can just use %bokeh magic to start interacting with your plots in the notebook immediately!

Get It Now!

If you are using Anaconda, you can install with conda:

    conda install bokeh

Alternatively, you can install with pip:

    pip install bokeh

About Bokeh

Bokeh is an interactive web plotting library for large and realtime datasets, combining the novel graphics of d3 with the ease of use of Python. For more information, please visit the Bokeh homepage, and consult the Technical Vision and FAQ.

What’s New?

This point release has arrived soon after the 0.4.2 release last month; there were still more great enhancements we wanted to roll out while work proceeds towards 0.5 in late April:

  • Additional Matplotlib, ggplot, and Seaborn compatibility (styling, more examples)
  • TravisCI testing integration
  • Tool enhancements, constrained pan/zoom, more hover glyphs
  • Server remote data and downsampling examples
  • Initial work for Bokeh “app” concept

Data Notebooks

We have also started collecting more complete and interesting examples in notebooks available through the excellent nbviewer.ipython.org. Here are two of the first few, put together by the newest Bokeh team member, Karan Dodia

The first is a visualization of drought conditions across Texas counties since 2000. The darker the shade, the worse the drought condition:

The second is an breakdown of GitHub followers (looking at the bokeh repository in a fit of navel-gazing, but can be applied to any account!) with additional information provided by the hover tool.

We intend to grow this collection of analysis notebooks regularly, if you have a Bokeh visualization worked up that you would like to share, please let us know on our mailing list at [email protected]


The latest version of BokehJS, the standalone reactive scenegraph javascript library targeted by Bokeh, is available by CDN:


Examples of BokehJS use can be found on the Bokeh JSFiddle page.

Tutorials and Webinars

The extensive tutorial created for the last release was recently presented at PyData London. You can watch the video recording of that presentation on YouTube. An expanded, three hour version of this tutorial will be presented and recorded at the upcoming PyData Silicon Valley in two weeks.

Additionally, there will be a Bokeh Webinar on May 13th.

Upcoming 0.5

The release of Bokeh 0.5 is planned for late April. Some notable features we plan to include are:

  • More refinements to interactions and tools
  • Improved layout system for plots, tools, and widgets using cassowary.js
  • Prettification” of plots and toolbar, and the bokeh server index page
  • Even more Matplotlib, ggplot, and Seaborn support using mplexporter

Issues, enhancement requests, and pull requests can be made on the Bokeh Github page

Questions can be directed to the Bokeh mailing list: [email protected]

Getting Involved

We would love to have contributions from folks. There are many easy places to plug in:

  • touch events and mobile experience overall
  • styling/design around plots, frames, etc.
  • graphical configuration tools
  • building out better Matplotlib support
  • more language bindings: Ruby, R, Matlab, C, C++, etc.
  • more nice-looking examples for our gallery page

Check out the gallery, play with the source, and follow us on Twitter @BokehPlots!

If you would like some help incorporating Bokeh into your Notebooks, apps, or dashboards, please send an email to [email protected] to inquire about Continuum’s training and consulting services—not just for Bokeh, but for anything throughout the full NumPy/SciPy/PyData stack.