贡献#
如果您有兴趣为 RAFT 做出贡献,您的贡献将分为三类
您想报告一个错误、功能请求或文档问题
提交一个问题,描述您遇到的情况或您希望更改的内容。
RAPIDS 团队将评估这些问题并进行分类,然后安排发布时间。如果您认为某个问题需要优先关注,请在该问题下评论以通知团队。
您想提出一个新功能并实现它
发表您意向中的功能,我们将讨论设计和实现。
一旦我们同意该计划可行,就可以继续实现它,使用下面的代码贡献指南。
您想为未解决的问题实现功能或错误修复
按照下面的代码贡献指南进行。
如果您需要关于特定问题的更多背景信息,请询问,我们将提供。
代码贡献#
您的第一个问题#
阅读项目的README.md以了解如何设置开发环境
找到一个可以着手解决的问题。最好的方法是查找带有good first issue或help wanted标签的问题
在问题下评论,说明您将着手解决它
编写代码!务必更新单元测试!
完成后,创建您的拉取请求
验证 CI 通过所有状态检查。如果需要,进行修复
等待其他开发者审查您的代码并根据需要更新代码
一旦审查并批准,RAPIDS 开发者将合并您的拉取请求
记住,如果您对任何事情不确定,请随时在问题下评论并寻求解释!
Python / Git 提交前钩子#
RAFT 使用pre-commit来执行代码 Linter 和格式化工具,例如Black、isort和flake8。这些工具确保项目中的代码格式一致。使用 pre-commit 可以确保所有开发者的 Linter 版本和选项一致。此外,还有一个 CI 检查来强制执行提交的代码符合我们的标准。
要使用pre-commit
,通过conda
或pip
安装
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