贡献#

Bokeh 是一个开源项目,它的存在归功于像您这样的贡献者。Bokeh 的成功离不开由软件开发者、测试人员、撰稿人、推广专家以及更多人员组成的多样化团队。我们始终欢迎新人帮助我们使 Bokeh 成为对每个人都更有用的工具!

在本贡献者指南中,您将找到加入不断壮大的 Bokeh 贡献者团队所需的所有信息。这包括有关如何为 Bokeh 的代码和文档做贡献帮助社区支持通过捐赠支持 Bokeh的信息。

注意

在 Bokeh 项目的代码库、issue 跟踪器和论坛中活跃的每个人都应遵守行为准则

从哪里开始#

要使用 Bokeh 的代码和文档,您首先需要设置开发环境

然后,您可以通过多种方式为 Bokeh 的代码库做出贡献

Bokeh 的 Python 代码库

如果您想帮助改进 Bokeh 的 Python 代码

BokehJS (TypeScript)

如果您想帮助改进与BokehJS相关的任何内容

其他资源#

除了本贡献者指南之外,还有许多其他资源可以帮助您快速入门

Bokeh Slack

Bokeh Slack 是所有贡献者的工作区,也是从经验丰富的贡献者和维护者那里获得快速响应的最佳方式。请请求邀请

GitHub Wiki 和 BEP

Bokeh GitHub 仓库上的 Wiki 包含 Bokeh 增强提案 (BEP)。BEP 是 Bokeh 的核心治理和政策文档。其中包括有关贡献流程的详细信息,尤其是在BEP 1:Issue 和 PR 管理以及BEP 6:分支策略中。

GitHub Discussions

Bokeh GitHub 仓库的讨论区是讨论实现细节以及 Bokeh 的提议功能和想法的地方。

Bokeh 路线图

Bokeh 路线图包含 Bokeh 作为工具和社区的目标。

Github 仓库

Bokeh 的源代码、bokeh.org 网站以及 Bokeh 的许多其他方面都托管在bokeh上。一个好的入门方法是查看我们issue 跟踪器中的未解决 issue。

Bokeh 的文档

有关 Bokeh 各种文档资源的概述,请参阅docs.bokeh.org

Bokeh Discourse

Bokeh 的用户支持由Bokeh Discourse 服务器上的志愿者提供。有关 Bokeh 社区资源的更多信息,请参阅Bokeh 网站的社区部分

更多贡献方式#

除了改进 Bokeh 的代码库和文档之外,还有许多其他方式可以为 Bokeh 做出贡献

添加示例#

如果您或您的组织正在使用 Bokeh 并且愿意分享您正在进行的一些示例,请考虑将它们添加到 Bokeh Showcase。您还可以通过向 examples 文件夹提交pull request,将新示例添加到Bokeh 的画廊

帮助社区支持#

Bokeh 的所有用户支持均由志愿者提供。虽然支持问题在 Stack Overflow 等多个地方进行讨论,但所有用户支持问题的中心位置是 Bokeh Discourse 服务器。欢迎回答您能够解答的用户问题。Bokeh Discourse 上的所有互动都必须遵守 Bokeh 的行为准则

贡献语言绑定#

BokehJS 接受由声明式 JSON 位表示的对象图。这意味着任何可以生成 JSON 的语言也可以生成 Bokeh 图表以在浏览器中显示。

目前有三种已知的绑定将 Bokeh 公开给 Python 以外的语言

  • Bokeh.jl 将 Bokeh 带给 Julia 用户。它由社区成员 @cjdoris 创建。

  • BokehServer.jl 也实现了 Julia 到 BokehJS 的绑定,包括用于同步来自 Julia 的绘图的服务器。它由社区成员 @poldavezac 编写。

  • rbokeh 为 R 语言添加了对 Bokeh 的支持。它由 @hafen 发起。(该项目目前已存档。)

  • bokeh-scala 在 Scala 语言中公开了 Bokeh。该项目由 Bokeh 核心开发团队成员 @mattpap 创建。(该项目目前已存档。)

Python 中的低级对象接口完全镜像了 JSON 模式。因此,对于任何编写 Bokeh 绑定的人来说,最权威的信息来源是 bokeh.core.propertiesbokeh.models 的参考指南部分。

另一个用于处理绑定的资源是 Bokeh 的 scripts/spec.py 脚本。这个 Python 脚本生成 Bokeh 中每个模型和属性的 JSON 描述,包括类型、默认值和每个模型和属性的帮助字符串。例如,您可以将此信息用作创建新的低级绑定或检查现有绑定的完整性的基础。

如果您想开始开发新的绑定或将新的绑定添加到此列表中,请通过 Slack 联系 Bokeh 核心团队。

报告漏洞#

要报告安全漏洞,请使用 Tidelift 安全联系方式。Tidelift 将协调修复和披露。