SciPy 贡献者指南#

本指南旨在帮助您在查阅了 贡献方式贡献者快速入门指南 中的入门资料后,快速找到关于 SciPy 开发所需的信息。

你也可以观看 SciPy 开发工作流程,这是一个修复错误并提交拉取请求的五分钟视频示例(注意:此视频来自2018年,因此构建步骤现已不同 - 但整体工作流程仍然相同)。

  • 从源码构建 - 如何设置开发环境,包括安装编译器和SciPy依赖项,在GitHub上克隆SciPy仓库并更新git子模块,以及使用``dev.py``接口进行构建和运行测试。

  • 编辑 SciPy - 如何编辑 SciPy Python 代码,包括找到包含要编辑的 SciPy 功能的模块的技巧,向 SciPy 添加新模块,以及遵守 PEP8 风格标准。

  • 单元测试 - 如何使用 pytest 框架为 SciPy 编写和运行单元测试

  • 文档 - 如何编写符合docstring标准的reStructuredText文档,使用Sphinx在本地构建文档,以及查看在持续集成检查期间构建的文档

  • 基准测试 - 如何使用airspeed velocity对代码进行基准测试

  • 编译代码 - 如何将快速编译的代码添加到SciPy

  • 持续集成 - 我们的持续集成系统如何工作以及如何调试您的PR

编辑 SciPy#

  • 开发工作流程 概述了在开发环境设置完成后需要做的事情

  • PEP8 和 SciPy 提供了一些确保你的代码符合PEP8标准的建议

  • 开发中的Git 是使用 git 的指南,git 是一个分布式版本控制系统,用于管理来自世界各地对 SciPy 代码所做的更改。

  • SciPy API 包含了一些关于 SciPy 代码组织方式的重要说明,并记录了 SciPy API 的结构;如果你打算导入其他 SciPy 代码,请先阅读此内容。

  • 审核拉取请求 解释了如何在本地审查另一位作者的 SciPy 代码

  • 分类 解释了如何管理和处理问题和PR,以及GitHub团队权限在SciPy中的工作方式。

  • 添加新内容 包含了如何添加新方法、函数和类的信息

  • 核心开发指南 包含背景信息,包括决策的制定方式和版本的准备方式;它面向 核心开发者 ,但也包含对所有贡献者有用的信息。

  • 代码和文档风格指南 - 缺失的部分 - 代码和文档风格指南

测试#

  • Testing guidelines 是编写 NumPy 或 SciPy 代码单元测试的权威指南(NumPy 文档的一部分)

  • 在本地运行 SciPy 测试 文档了 dev.py test,这是在本地构建 SciPy 并运行测试的命令。

  • 调试线性代数问题

文档#

  • Documentation style 包含了关于编写文档字符串所需的所有信息,这些文档字符串通过使用 Sphinx 生成HTML文档(NumPy文档的一部分)。

  • 为 SciPy 文档做贡献 包含了如何为 SciPy 文档贡献信息。

  • 渲染文档 在合并PR之前检查文档更改的渲染效果非常重要;本文档解释了如何做到这一点

基准测试#

  • 使用asv进行基准测试 解释了如何使用 airspeed velocity 向SciPy添加基准测试

编译代码#

  • 添加-cython 使用 Cython 扩展和编译 Python 代码可以显著提高其性能;本文档帮助您入门

  • 其他语言 讨论了在 SciPy 中使用 C、C++ 和 Fortran 代码的情况

  • 公开的Cython API 关于公开Cython API的指南