Bokeh 2.3.3
As of its release in mid-2021, Bokeh 2.3.3 was the most stable patch in the 2.x series. Today, it remains a critical reference point for several reasons:
Dependency Compatibility: Bokeh 2.3.3 runs smoothly on Python 3.6 to 3.9 (with limited support for 3.10). It does not require the latest versions of Jinja2, PyYAML, or Pillow, making it ideal for environments with strict dependency pinning.
Documentation Stability: The official Bokeh documentation for version 2.3.3 is still archived and accessible, meaning you aren't forced to read docs for a newer API that doesn't match your code. bokeh 2.3.3
Even with a stable release, users occasionally encounter issues. Here are common ones and how to solve them:
p.line('date', 'price', source=source, legend_label="Price", color="navy", alpha=0.7) p.line('date', 'moving_avg', source=source, legend_label="10-day MA", color="firebrick", line_width=2) As of its release in mid-2021, Bokeh 2
If you're starting a new project today, should you use Bokeh 2.3.3 or jump to Bokeh 3.4+? Here’s a decision matrix:
| Feature / Consideration | Bokeh 2.3.3 | Bokeh 3.x+ | |-------------------------------|--------------------------------------------------|------------------------------------------------| | Python version support | 3.6 – 3.9 (3.10 experimental) | 3.8 – 3.11+ | | API stability | Frozen, no changes | Evolving (removals up to 3.4) | | New features | No | Yes (e.g., Vega themes, better TypeScript) | | Long-term support | Community, no official LTS | Active development | | Legacy code compatibility | Excellent | May require refactoring (layouts, tools) | | Security patches | No new patches | Regular | Dependency Compatibility : Bokeh 2
Recommendation: Stick with Bokeh 2.3.3 if you have a working production system that you don't want to risk breaking. Choose Bokeh 3.x for greenfield projects where you can adopt the latest patterns.