free and open-source library for visualizing data with interactive plots and graphics


Over the last few decades, there has been a proliferation of sources of big- and high-dimensional data. In the biosciences, researchers run high-throughput experiments or generate molecular trajectory data from molecular dynamics simulations. In the tech sector, data from a large app user base is fed to a behavioral analytics setup, and word/phrase usage in digitized books can be used to train speech recognition programs.

Given their power and ubiquity, web browsers are the ideal data visualization forum. Bokeh is a multi-faceted library for creating interactive web plots and graphics. It has a server-side portion written in Python and a client-side portion written in a variant of JavaScript. Configuring the Bokeh server allows client-side UI actions to trigger server-side Python events, which then send updated graphics back to the client. A potentially large dataset, sitting in memory on the server, can be updated and processed as the user explores different parts of it. Bokeh allows a much more powerful setup than pure client-side libraries like D3.js.