skillfed

bokeh

Interactive plots and applications in the browser from Python

bokeh v3.9.2 12.1M downloads/30d#1,340 on PyPI20,431
Permissive license BSD-3-Clause Active released

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 bokeh

uv

uv add bokeh

poetry

poetry add bokeh

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: Web EnvironmentIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: End Users/DesktopIntended Audience :: Financial and Insurance IndustryIntended Audience :: Healthcare IndustryIntended Audience :: Information TechnologyIntended Audience :: Legal IndustryIntended Audience :: Other AudienceIntended Audience :: Science/ResearchProgramming Language :: JavaScriptProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Office/BusinessTopic :: Office/Business :: FinancialTopic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: VisualizationTopic :: Utilities

Tags

interactive plots pythonweb-based data visualizationdashboard creation librarybrowser visualization pythonstreaming data plotsinteractive charts webpython plotting library
interactive-visualizationweb-dashboarddata-exploration

More Scientific/Engineering packages