Bokeh vs Matplotlib
A data-driven comparison of two Python data visualization libraries: popularity, development activity, licensing and installation. Updated .
Interactive Web Plotting for Python.
2D plotting library.
Key differences
- Matplotlib and Bokeh have a similar number of GitHub stars (23.3K vs 20.5K).
- Matplotlib had more development activity over the last 12 months: 2,023 commits vs 344.
- Matplotlib is downloaded 30× as often on PyPI (39.5M vs 1.3M per week).
- Bokeh is licensed under BSD-3-Clause; Matplotlib under PSF-2.0.
- Bokeh is written primarily in TypeScript, Matplotlib in Python.
- Matplotlib is the older project: its repository was created in 2011, Bokeh's in 2012.
By the numbers
- Bokeh
- Matplotlib
Show data as a table
| Metric | Bokeh | Matplotlib |
|---|---|---|
| GitHub stars | 20,455 | 23,323 |
| PyPI downloads / week | 1,301,211 | 39,546,864 |
| Commits, last 12 months | 344 | 2,023 |
| Contributors | 389 | 438 |
| Forks | 4,265 | 8,503 |
Development activity
Commits per month to each default branch, last 12 complete months.
- Bokeh
- Matplotlib
Show data as a table
| Month | Bokeh | Matplotlib |
|---|---|---|
| Oct 2025 | 13 | 100 |
| Nov 2025 | 20 | 72 |
| Dec 2025 | 9 | 97 |
| Jan 2026 | 38 | 153 |
| Feb 2026 | 20 | 144 |
| Mar 2026 | 38 | 244 |
| Apr 2026 | 21 | 197 |
| May 2026 | 13 | 257 |
| Jun 2026 | 23 | 257 |
| Jul 2026 | 59 | 199 |
| Aug 2026 | 45 | 139 |
| Sep 2026 | 45 | 164 |
Side by side
| Attribute | Bokeh | Matplotlib |
|---|---|---|
| Description | Interactive Web Plotting for Python. | 2D plotting library. |
| Category | Python data visualization libraries | Python data visualization libraries |
| License | BSD-3-Clause | PSF-2.0 |
| Language | TypeScript | Python |
| Status | Active | Active |
| Latest release | – | v3.11.2 () |
| Last commit | ||
| Repository created | ||
| Open issues | 791 | 1,059 |
| Install | pip install bokeh | pip install matplotlib |
Which should you choose?
Popularity and activity are only part of the story. Consider which ecosystem you work in, the chart types and interactions you need, how much data you render, and whether the license fits your project. Both tool pages list alternatives if neither is quite right.
-
Bokeh
Interactive Web Plotting for Python.
-
Matplotlib
2D plotting library.