Skip to content

BEP 5: Python 2 Support Timeline

Bryan Van de Ven edited this page Jun 17, 2020 · 7 revisions
BEP 5 Python 2 Support Timeline
Authors Bryan Van de Ven
Status Implemented
Discussion https://github.com/bokeh/bokeh/issues/8463
https://github.com/bokeh/bokeh/issues/9295

In order to reduce the ongoing maintenance burden on the Core Team, the Bokeh Project will drop support for Python 2 on or before January 1, 2020 (the End-of-Life date for Python 2).

This document details the timeline for dropping Bokeh support for Python 2.

Timeline

Python 3 Statement

The Bokeh project will sign the Python 3 Statement before the end of 2018, and publicize this event.

Outreach

Release announcements will include a prominent reminder that Bokeh Python 2 support will be ending on or before the Python 2 EOL date. Periodic reminders will also be made on other channels, e.g. Twitter, Gitter, and Discourse.

LTS for Python 2

In Q4 2019, a new minor version release will be made to serve as the "Long Term Support for Python 2". For example, if the latest previous release is 1.7.2, then Bokeh version 1.8 will be made at this time.

This new minor version will be the final Bokeh version that supports Python 2. No future enhancements or bugfixes are planned to be backported to this branch.

New Major Version

Shortly after the release for "LTS for Python 2", the next release will be a new major version that removes all code specific to Python 2 (e.g. use of the six compatibility library), and sets Python>=3.6 as the minimum supported Python version. For example, if the LTS for Python 2 is version 1.8, then Bokeh version 2.0 will be made at this time.

As appropriate, other large or incompatible changes may also be made coincident with this release, to take advantage of the bump in major number.

Outcomes

Bokeh version 1.4.0 is the last version to support Python 2.

Revisions

Date Change
2019-05-24 Replace reference to mailing list with Discourse
2019-10-19 Update minimum Python version to 3.6 per new consensus
2020-06-17 Update outcomes section