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 的指南