bokeh
Interactive plots and applications in the browser from Python
What it is and what it does
Bokeh is a Python library for creating interactive, browser-based visualizations. It generates standalone HTML files or integrates with web frameworks to deliver plots and dashboards that respond to user interaction—panning, zooming, selection, and hover tooltips—without requiring JavaScript knowledge. The library handles both static plots and streaming data, making it suitable for exploratory analysis, real-time monitoring, and embedded applications.
The package depends on Jinja2 for templating, NumPy and contourpy for numerical operations, Pillow for image handling, PyYAML for configuration, Tornado for web serving, and xyzservices for map tile integration. It targets modern Python versions and is maintained as a production-stable project with active development and institutional support.
Use it for:
- Build interactive dashboards for real-time data monitoring and business intelligence applications.
- Create exploratory data analysis tools where users can interact with plots to zoom, pan, and select subsets.
- Embed interactive visualizations in web applications using Tornado or other Python web frameworks.
- Generate standalone HTML reports with interactive plots that can be shared without requiring a server.
- Visualize large datasets with linked plots and cross-filtering for multi-dimensional analysis.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Bokeh is an interactive visualization library that creates browser-based plots, dashboards, and data applications from Python code, with support for large and streaming datasets.
Yes. Bokeh is a mature, actively maintained library with no known vulnerabilities, low install friction, and broad applicability across data science, finance, healthcare, and research. Its permissive license and institutional backing make it a reliable choice for interactive visualization projects. Install it if you need browser-based interactivity.
Install
bokeh on PyPI
pip
pip install bokehuv
uv add bokehpoetry
poetry add bokehInstalling bokeh
Before you install
Installation is straightforward with low friction; the package is actively maintained with a recent release and strong community backing through NumFOCUS sponsorship.
License in practice
BSD-3-Clause is a permissive license that allows commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
pip install bokeh
from bokeh.plotting import figure, show
plot = figure(title="Example")
plot.line([1, 2], [3, 5])
show(plot)
Requires Python 3.10 or later.
Verify before relying
- Whether narwhals is used as a dataframe abstraction layer or for a specific feature.
- Performance characteristics on very large datasets and typical latency expectations.
- Whether the package supports real-time streaming updates or requires data to be pre-loaded.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — Jinja2, contourpy, narwhals, numpy, packaging, pillow, PyYAML, tornado, xyzservices |
| Maintenance | actively maintained — 20 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 12,119,700/month — #1,340 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bokeh-3.9.2-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
jupyter_bokehRenders Bokeh visualizations directly within…
permissive · top 15,000 on PyPI
panelPanel is a Python framework for building…
permissive · top 5,000 on PyPI
hvplothvPlot provides a high-level plotting API that…
permissive · top 5,000 on PyPI
holoviewsHoloViews lets you declare data structure and…
permissive · top 5,000 on PyPI
plotlyPlotly is an interactive, browser-based…
permissive · top 1,000 on PyPI
colorcetColorcet provides a collection of perceptually…
unclear · top 5,000 on PyPI
mplfinancemplfinance provides matplotlib-based…
permissive · top 15,000 on PyPI
matplotlibmatplotlib creates static, animated, and…
permissive · top 1,000 on PyPI
notebookJupyter Notebook is a web-based interactive…
permissive · top 1,000 on PyPI
bqplotbqplot is a 2-D interactive plotting library…
permissive · top 15,000 on PyPI