Bokeh is an open source project and we love having new contributors. Hopefully, you will find all the information you need in the following pages, linked below and in the sidebar to the left. If not, please contact the developers with any questions.

All changes, enhancements, and bugfixes should follow the guidelines defined in the Bokeh Enhancement Proposals (BEPs). BEPs are records of major developmental and structural decisions for the Bokeh project. This includes guidelines for the software development process, especially in BEP 1 (Issues and PRs management) and BEP 6 (Branching and Milestones).

Everyone interacting in the Bokeh project’s codebases, issue trackers, and discussion forums is expected to follow the Code of Conduct.

Getting Set Up

Installation of everything needed to be able to develop Bokeh and BokehJS.

Environment Variables

Environment settings useful for testing and debugging Bokeh.


Local and continuous integration testing infrastructure.


Style guide and best practices for authoring documentation for Bokeh.

Bokeh Models

Overview of Bokeh’s declarative model system for interfacing with BokehJS.

Server architecture

Architecture and implementation notes for the Bokeh server.

Language Bindings

Guidance for integrating Bokeh into other languages.


Information specific to developing BokehJS.