贡献#

Bokeh 是一个开源项目,它的存在仅仅是因为像您一样的贡献者。Bokeh 得益于多元化的软件开发人员、测试人员、编写者、外联专家以及更多人员的共同努力。我们始终欢迎新的成员加入,共同努力让 Bokeh 成为更优秀的工具,为每个人服务!

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

注意

在 Bokeh 项目的代码库、问题追踪器和讨论论坛中活跃的每个人都应遵循 行为准则

从哪里开始#

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

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

Bokeh 的 Python 代码库

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

BokehJS (TypeScript)

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

Bokeh 文档

其他资源#

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

Bokeh Slack

Bokeh Slack 是所有贡献者的工作空间,也是从经验丰富的贡献者和维护者那里快速获得反馈的最佳途径。请 申请邀请

GitHub wiki 和 BEP

Bokeh GitHub 存储库上的 wiki 包含 Bokeh 增强提案 (BEP)。BEP 是 Bokeh 的核心治理和政策文件。这包括有关贡献流程的详细信息,尤其是在 BEP 1:问题和 PR 管理BEP 6:分支策略 中。

GitHub 讨论

Bokeh GitHub 存储库的 讨论部分 是一个讨论实现细节以及 Bokeh 的拟议功能和想法的地方。

Bokeh 路线图

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

Github 存储库

Bokeh、bokeh.org 网站以及 Bokeh 的许多其他方面的源代码都托管在 bokeh 上。一个好的入门方法是查看我们 问题追踪器 中的开放问题。

Bokeh 的文档

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

Bokeh 的 Discourse

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

更多贡献方式#

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

添加示例#

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

帮助社区支持#

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 将协调修复和披露。