新贡献者指南#
本指南旨在为 Apache Arrow 的新贡献者提供帮助。
无论您目前的技能水平如何,都可以尝试完成您对 Arrow 的首次贡献。
参与像 Apache Arrow 这样的大型项目可能会让人望而却步。采取小步骤会让这项任务变得更容易。
为什么要为 Arrow 做贡献?#
您想要为 Arrow 做贡献的原因可能有很多:
您觉得该项目很有趣,并希望尝试贡献以深入了解该库并提升自己的技能。
您在正在进行的项目中使用了 Arrow,并希望实现一个新功能或修复遇到的错误。
阅读 架构概述 部分以了解更多关于该项目的信息。
注意
Apache Arrow 的贡献者均遵循 ASF 的 行为准则。
快速参考#
以下是设置环境并为 Arrow 做贡献所需的基本步骤。这既是一个清单,也旨在提供整个过程的概览。
有关完整说明,请参阅 首次提交 PR 的步骤(分步指南),或查看 R 和 Python 的 教程 以获取添加基本功能的示例。
安装并设置 Git,然后 fork Arrow 仓库
查看有关如何 设置 Git 并 fork Arrow 仓库的详细说明。
构建 Arrow
Arrow 库包含广泛的功能,根据您启用的构建选项和组件,可能需要安装第三方包。C++ 构建指南针对常见问题提供了建议 - 您可以点击 此处 查看。如果在任何时候遇到困难,请随时通过相应的 沟通 渠道寻求帮助。
查看关于 PyArrow 或 R 包 构建过程的简要说明,或直接前往 文档 查看构建 Arrow 库的详细说明。
运行测试
我们应该运行测试以检查一切是否正常工作。例如,您可以在终端中为 Python 运行测试
$ pytest pyarrow
或在 R 控制台中为 R 运行测试
devtools::test()
另请参阅 测试 🧪 部分。
查找问题(如果需要)、创建新分支并处理该问题
查找问题
您可能已经有了想要修复的错误或想要实现的新功能。但如果您还没有目标,需要寻找一个可以处理的问题,可以查阅 查找适合新手的议题 🔎 部分获取灵感。
了解项目结构
开始一个新项目时,第一步是最难的,因此我们编写了一些指南来帮助您。
您可以从阅读 使用 Arrow 代码库 🧐 部分开始。
沟通
沟通非常重要。您可能需要一些帮助来解决途中遇到的问题(开发人员经常会遇到这种情况)。此外,如果您有一个想要解决的 GitHub 问题,建议告知团队您正在处理它,可能需要一些协助。
查看可能的 沟通 渠道。
实现计划的修复或功能后,编写并运行测试
将分支推送到您的 fork 并创建拉取请求 (Pull Request)
查看关于 创建拉取请求 的详细说明。如果您使用了 AI 工具来辅助生成贡献内容,请阅读我们关于 AI 生成代码 的指南。
如果您准备好了,可以从构建 Arrow 开始,或者选择跟随 教程 之一,学习如何编写 R 绑定或 Python 功能。
其他贡献方式#
除了编写代码外,还有很多方式可以为该项目做出贡献!
改进文档是开始贡献的绝佳方式!如需更多信息,请访问指南中的 帮助完善文档 部分。
Apache Arrow 手册 (Cookbooks) 是用于解决各种问题和完成使用 Apache Arrow 的不同任务的食谱集合。它们也是开始贡献的绝佳方式。如需更多信息,请访问 Apache Arrow 手册仓库中的 如何为 Apache Arrow 手册做贡献。
欢迎查看 其他信息和资源 部分。
我们鼓励每个人都为 Arrow 做出贡献!