Bokeh is an interactive data visualization library that enables users to create dynamic, browser-based plots and dashboards directly from Python. The project is written primarily in TypeScript and serves as a bridge between Python data analysis workflows and modern web visualization capabilities. It is sponsored by NumFOCUS and receives support from organizations including the Chan Zuckerberg Initiative, Anaconda, NVIDIA, and others.
The library addresses the need for high-performance interactive visualization across large or streaming datasets. Users can construct graphics with elegant, concise Python code that renders in modern web browsers, making it suitable for creating interactive plots, dashboards, and data applications. Bokeh integrates with Jupyter notebooks, allowing data scientists to embed interactive visualizations directly in their analytical workflows. The project also supports real-time updates and streaming data, enabling applications that require dynamic chart updates and real-time analytics.
The repository demonstrates significant development activity and community engagement.
The project maintains a core team of active contributors. This concentrated contributor base suggests focused project leadership and consistent development direction.
Bokeh's classification spans multiple domains reflecting its versatility: data visualization, interactive plots, scientific computing, browser-based graphics, real-time analytics, web dashboarding, geospatial mapping, and dynamic dashboards. The library is distributed across multiple package managers, available via PyPI for Python users, conda-forge for conda environments, and NPM as BokehJS for JavaScript developers. This multi-platform distribution strategy ensures accessibility across different development ecosystems.
The project maintains comprehensive documentation and community support infrastructure. Users can access installation guides, first steps tutorials, and a full user guide through the official documentation site. Community support operates through a dedicated Discourse forum and Stack Overflow, where tagged questions receive attention. The project also maintains a tutorial repository with live Jupyter Notebook examples and provides a developer Slack workspace for contributors. All community participation is governed by a Code of Conduct, establishing expectations for respectful engagement across discussion forums, codebases, and issue trackers.