Introduction to Bokeh
Bokeh is a software package built to support interactive data visualization in web browsers. Bokeh is part of the Python software ecosystem, consisting of a library written in Python that programmers can use to visualize data and build custom applications, along with a JavaScript-based backend that carries out rendering and interaction within web browsers. It is important to note that Bokeh provides an Application Programming Interface (API) that enables you to write Python programs that leverage Bokeh's functionality. It is not a standalone application that enables data visualization.
Bokeh supports many standard types of data visualizations, such as the ability to make line plots, bar charts, scatter plots, image plots, etc. But where it really shines is in its ability to support interactivity and exploration in data visualizations. This interactivity includes mechanisms for providing different and/or augmented views of static data, as well as for changing what is plotted or how the data are analyzed based upon user interactions. Bokeh provides the ability to scale out from relatively simple data visualizations to elaborate webservers and dashboards that integrate multiple data streams and analyses.
The Bokeh project provides a great deal of useful documentation, and our material here is intended to complement that documentation, distill some key elements, and present a bit more about the Bokeh server than might be obvious from the documentation at bokeh.org. In addition to what we present here, useful places to start learning more are the Bokeh User Guide and First Steps Guides.
In the pages that follow, we will use the capitalized name "Bokeh" when describing the package and its functionality. In other places, however, we will use the lower-case name bokeh
when discussing a case-sensitive element of the software ecosystem, such as the name of the module that one imports into python, the name of the package that one can install using a package manager, the name of the main bokeh.org website, or the name of the command-line utility that supports running a server or carrying out other types of Bokeh-related functions. We will generally follow a similar convention when describing other packages in the Python ecosystem.