为 llvmlite 贡献
llvmlite 的诞生是为了满足 Numba 项目的需求。它主要由 Numba 团队维护。我们倾向于优先考虑 Numba 的需求和限制,而不是其他相冲突的愿望。
沟通方式
论坛
llvmlite 使用 Numba Discourse 作为论坛,用于进行设计讨论和路线图规划等长期性主题。这里有各种类别可用,可以通过以下链接访问:numba.discourse.group。它还有一个 llvmlite 话题。
错误报告
我们使用 GitHub 问题追踪器 来追踪错误报告和功能请求。如果您报告问题,请包含:
您正在尝试做什么。
您的操作系统。
您正在运行的 llvmlite 版本。
问题的描述——例如,完整的错误追踪信息或您得到的不预期结果。
尽可能提供一个能够完全重现您问题的代码片段。
拉取请求
贡献代码
Fork 我们的 GitHub 仓库。
创建一个代表您工作的分支。
当您的工作准备就绪时,通过 GitHub 界面提交为拉取请求。
开发规则
编码规范
所有 Python 代码应遵循 PEP 8。
所有 C++ 代码均使用
conda-forge
conda 频道中可用的clang-format-13
包的clang-format-13
进行格式化。代码和文档通常应保持在 80 列以内,以便与所有现有工具(如代码审查用户界面)实现最大可读性。
此外,您可能希望设置 pre-commit 钩子,以便在进行 git 提交时自动运行 clang-format
。这可以通过安装 pre-commit
pip install pre-commit
然后运行
pre-commit install
在 Numba 仓库的根目录。现在,每次您提交更改时都会运行 clang-format
。您可以使用 git commit --no-verify
跳过此检查。
平台支持
Llvmlite 将保持与 Python 3.10 及更高版本兼容,至少支持 Windows、macOS 和 Linux。
我们不期望贡献者在所有平台上测试他们的代码。拉取请求会通过 Azure Pipelines 自动构建和测试,支持 Windows、OSX 和 Linux。
文档
这份 llvmlite 文档是使用 Sphinx 构建的,并维护在 llvmlite 仓库 的 docs
目录中。
编辑
docs/source/
下的源文件。构建文档
make html
检查文档
open _build/html/index.html