SciPy投稿人指南¶
本指南旨在帮助您在审阅了中的介绍性材料后,快速找到所需的有关SciPy开发的信息 做出贡献的方式 。如果您是新手,并且想要尽快开始编码,那么您已经找到了正确的位置。
开发环境 -如何设置和维护开发环境,包括安装编译器和SciPy依赖项、在GitHub上创建SciPy存储库的个人分支、使用Git管理具有开发分支的本地存储库、执行SciPy的就地构建,以及创建将此开发版本的SciPy添加到Python路径的虚拟环境
编辑SciPy -如何编辑SciPy Python代码,提供有关查找包含要编辑的SciPy功能的模块、向SciPy添加新模块以及遵守PEP8样式标准的提示
单元测试 -如何使用pytest框架为SciPy编写和运行单元测试
文档 -如何编写符合docstring标准的reStructiredText文档,使用Sphinx在本地构建文档,以及查看在持续集成检查过程中构建的文档
基准 -如何使用空速对代码进行基准测试
编译后的代码 -如何将快速编译的代码添加到SciPy
持续集成 -我们的持续集成系统是如何工作的,如何调试您的公关
开发环境¶
开发环境快速入门指南(Linux和Mac) 仅包含在Mac和Linux上入门所需的命令
开发环境快速入门指南使用 pip 在Ubuntu Linux上 概述如何在linux上使用pip设置开发环境。
开发环境快速入门指南(MacOS) 介绍在MacOS中设置便捷的SciPy开发环境的分步过程
开发环境快速入门指南(Ubuntu) 介绍在Ubuntu中设置便捷的SciPy开发环境的分步过程
在Windows上从源代码构建 介绍在Windows上构建SciPy的分步过程
开发环境快速入门指南(Docker) 介绍了使用Docker构建SciPy的分步过程;如果您在上面的说明中遇到问题,这可能是您的最佳选择
开发环境快速入门指南(Gitpod) 介绍使用Gitpod进行SciPy开发的分步过程;此过程只需最少的设置,并且对新手友好
从源头开始构建 如果您需要偏离上面的指南,可能会有一些有用的提示
建议的开发设置 包括有关开发设置的附加说明;所有这些信息都包含在其他地方,但会作为遗留文档保留
编辑SciPy¶
开发工作流 列出在设置开发环境后要执行的操作
SciPy Development Workflow 是一个5分钟的视频示例,演示如何修复错误并提交拉取请求
PEP8和SciPy 提供一些提示,以确保您的代码符合PEP8
用于开发的Git 是使用
git
,这是一个分布式版本控制系统,用于管理来自世界各地对SciPy代码所做的更改SciPy API 包含一些关于SciPy代码如何组织的重要说明,并记录了SciPy API的结构;如果您要导入其他SciPy代码,请先阅读本文
审查拉式请求 说明如何在本地审阅其他作者的SciPy代码
NumPy Distutils - Users Guide -在将任何新文件添加到SciPy之前,请先检出此文件
添加新方法、函数和类 包含有关如何添加新方法、函数和类的信息。
SciPy Core开发人员指南 有背景信息,包括如何做出决策和如何准备发布;它的目标是 Core Developers ,但包含所有贡献者的有用信息
单元测试¶
Testing Guidelines 是编写SciPy代码的单元测试的权威指南
在本地运行SciPy测试 文件
runtests.py
,这是一个方便的脚本,用于构建SciPy并在本地运行测试
文档¶
Documentation style 包含有关编写文档字符串所需了解的所有内容,这些文档字符串被呈现为使用 Sphinx
使用Sphinx渲染文档 在合并PR之前检查文档的更改是如何呈现的,这一点很重要;本文档解释了如何做到这一点
基准¶
用空速对SciPy进行基准测试 说明如何使用将基准添加到SciPy airspeed velocity
编译后的代码¶
将Cython添加到SciPy 使用扩展和编译Python代码 Cython 可以显著提高其性能;本文档帮助您入门
超越Python 讨论C、C++和Fortran代码在SciPy中的使用
公共Cython接口 关于公开Cython公共API的准则