贡献#

如果您有兴趣为 RAFT 做出贡献,您的贡献将分为三类

  1. 您想报告一个错误、功能请求或文档问题

    • 提交一个问题,描述您遇到的情况或您希望更改的内容。

    • RAPIDS 团队将评估这些问题并进行分类,然后安排发布时间。如果您认为某个问题需要优先关注,请在该问题下评论以通知团队。

  2. 您想提出一个新功能并实现它

    • 发表您意向中的功能,我们将讨论设计和实现。

    • 一旦我们同意该计划可行,就可以继续实现它,使用下面的代码贡献指南。

  3. 您想为未解决的问题实现功能或错误修复

    • 按照下面的代码贡献指南进行。

    • 如果您需要关于特定问题的更多背景信息,请询问,我们将提供。

代码贡献#

您的第一个问题#

  1. 阅读项目的README.md以了解如何设置开发环境

  2. 找到一个可以着手解决的问题。最好的方法是查找带有good first issuehelp wanted标签的问题

  3. 在问题下评论,说明您将着手解决它

  4. 编写代码!务必更新单元测试!

  5. 完成后,创建您的拉取请求

  6. 验证 CI 通过所有状态检查。如果需要,进行修复

  7. 等待其他开发者审查您的代码并根据需要更新代码

  8. 一旦审查并批准,RAPIDS 开发者将合并您的拉取请求

记住,如果您对任何事情不确定,请随时在问题下评论并寻求解释!

Python / Git 提交前钩子#

RAFT 使用pre-commit来执行代码 Linter 和格式化工具,例如Blackisortflake8。这些工具确保项目中的代码格式一致。使用 pre-commit 可以确保所有开发者的 Linter 版本和选项一致。此外,还有一个 CI 检查来强制执行提交的代码符合我们的标准。

要使用pre-commit,通过condapip安装

conda install -c conda-forge pre-commit
pip install pre-commit

然后在提交代码前运行 pre-commit 钩子

pre-commit run

您可以选择设置 pre-commit 钩子,使其在您进行 git 提交时自动运行。这可以通过运行以下命令来完成

pre-commit install

现在,每次您提交更改时,都会运行代码 Linter 和格式化工具。

您可以使用git commit --no-verify或简写版本git commit -n跳过这些检查。

资深开发者#

一旦您熟悉了代码并感到更加自如,您可以在我们的项目看板中查看我们下一个版本的优先问题。

专家提示:始终查看编号最高的发布看板以寻找可以着手解决的问题。这也是 RAPIDS 开发者集中精力的地方。

查看未分配的问题,找到一个您愿意贡献的问题。从上面的*步骤 3*开始,在问题下评论,让其他人知道您正在处理。如果您有任何与问题实现相关的疑问,请在问题中提问,而不是在 PR 中提问。

致谢#

部分内容借鉴自 https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md