SciPy 贡献者指南#
本指南旨在帮助您在查看了 贡献方式 或 贡献者快速入门指南 中的介绍性材料后,快速找到有关 SciPy 开发的信息。
您还可以观看 SciPy 开发工作流程,这是一个五分钟的视频示例,展示了如何修复错误并提交拉取请求(注意:此视频来自 2018 年,因此构建步骤现在有所不同 - 但总体工作流程仍然相同)。
从源代码构建 - 如何设置开发环境,包括安装编译器和 SciPy 依赖项,克隆 GitHub 上的 SciPy 存储库并更新 git 子模块,以及使用
dev.py
接口构建和运行测试。编辑 SciPy - 如何编辑 SciPy Python 代码,其中包含有关查找包含要编辑的 SciPy 功能的模块、向 SciPy 添加新模块以及遵守 PEP8 样式标准的提示
测试 - 如何使用 pytest 框架为 SciPy 编写和运行单元测试
文档 - 如何编写符合文档字符串标准的 reStructuredText 文档,使用 Sphinx 在本地构建文档,以及查看在持续集成检查期间构建的文档
基准测试 - 如何使用 airspeed velocity 对代码进行基准测试
编译代码 - 如何向 SciPy 添加快速编译代码
持续集成 - 我们的持续集成系统是如何工作的以及如何调试您的 PR
编辑 SciPy#
开发工作流程 说明了在设置开发环境后该怎么做
PEP8 和 SciPy 提供了一些提示,确保您的代码符合 PEP8 规范
用于开发的 Git 是一个使用
git
的指南,git
是一个分布式版本控制系统,用于管理对来自世界各地的 SciPy 代码所做的更改SciPy API 包含一些有关 SciPy 代码组织方式的重要说明,并记录了 SciPy API 的结构;如果您要导入其他 SciPy 代码,请先阅读此内容
审查拉取请求 说明了如何在本地审查其他作者的 SciPy 代码
对问题进行分类和管理 说明了如何管理问题和 PR,以及 GitHub 团队权限在 SciPy 中是如何工作的
添加新方法、函数和类 包含有关如何添加新方法、函数和类的信息
SciPy 核心开发者指南 包含背景信息,包括如何做出决策以及如何准备发布;它面向 核心开发者,但也包含对所有贡献者都有用的信息
代码和文档风格指南 - 遗漏的部分 - 代码和文档风格指南
测试#
测试指南 是编写 NumPy 或 SciPy 代码单元测试的权威指南(NumPy 文档的一部分)
在本地运行 SciPy 测试 文档
dev.py test
,用于在本地构建 SciPy 并运行测试的命令
文档#
文档风格 包含您需要了解的有关编写文档字符串的所有内容,这些文档字符串使用 Sphinx 呈现以生成 HTML 文档(NumPy 文档的一部分)
贡献 SciPy 文档 包含有关如何贡献 SciPy 文档的信息
使用 Sphinx 在本地渲染文档 在合并 PR 之前检查对文档的更改是如何呈现的非常重要;本文档说明了如何做到这一点
基准测试#
使用 airspeed velocity 对 SciPy 进行基准测试 说明了如何使用 airspeed velocity 向 SciPy 添加基准测试
编译代码#
向 SciPy 添加 Cython 使用 Cython 扩展和编译 Python 代码可以显着提高其性能;本文档将帮助您入门
超越 Python 讨论了在 SciPy 中使用 C、C++ 和 Fortran 代码
公共 Cython API 关于公开公共 Cython API 的指南