The story of Bokeh 2.3.3 is one of meticulous refinement rather than flashy new features. Released in

: Use this to build applications where Python code reacts to browser events (like sliders or selections). You run these apps via the bokeh serve Interactions CustomJS callbacks

Bokeh sits comfortably between low-level visualization tools and high-level dashboard frameworks like Dash or Streamlit, offering granular control without writing raw JavaScript.

Architecture

: Built on a "layered glyph" system similar to ggplot's geoms, allowing users to build complex plots one layer at a time.

def update(): new_data = dict(x=[source.data["x"][-1] + 1], y=[random()]) source.stream(new_data, rollover=20)

Example Use Case

Users can now create more complex visualizations, such as sparse scatterplots on large datasets, using datashader and holoviews .