贡献入门

SymPy 由一群庞大的贡献者创建和维护,我们非常欢迎您加入我们!对于新贡献者来说,在一个像 SymPy 这样运行良好的大型复杂机器中起步可能会令人望而生畏。此页面旨在为新贡献者提供入门提示。

熟悉软件的使用

我们建议您先浏览SymPy 教程,以便在您开始贡献之前熟悉软件的使用。这将帮助您熟悉 SymPy 的用途。

该教程还有视频版本

阅读论文

我们在 2017 年发表了一篇期刊论文,从高层次概述了 SymPy 及其功能。您可以在此处阅读它

https://peerj.com/articles/cs-103/

浏览文档

除了教程之外,文档中还有更多信息。最好至少浏览一下不同的主题,以了解还有哪些可用资源。

查看行为准则

SymPy 社区的参与者应遵守我们的行为准则。请在开始之前查看它。

加入我们的邮件列表

SymPy 邮件列表 https://groups.google.com/forum/#!forum/sympy 是讨论 SymPy 的主要场所之一。您可以在其中提问关于如何使用 SymPy 的问题、讨论功能请求、讨论软件错误或分享您如何使用 SymPy。您可以在 Google Groups 页面上申请加入邮件列表。请注意,为了防止垃圾邮件,您第一次发帖时需要进行审核才能发布到邮件列表。在发帖之前,请阅读 http://shakthimaan.com/downloads/book/chapter1.pdf,以熟悉邮件列表礼仪。

设置您的开发环境

我们使用 Git 版本控制系统来跟踪软件 随时间推移的变化,并有效地管理 来自许多不同作者的贡献。我们还广泛使用 GitHub,一个 Git 的 Web 界面,并将其用于沟通、问题跟踪、合并贡献(即拉取请求)等。

如果您不熟悉 Git 和 GitHub,请先阅读 设置开发环境 页面,获取有关如何设置您的开发环境的说明。如果您已经熟悉基本的 GitHub 工作流程,则 开发工作流程 页面描述了特定于 SymPy 的 GitHub 贡献工作流程的各个方面。

确定要参与的工作

有很多方法可以为 SymPy 做贡献。大多数贡献集中在修复软件错误和添加对他们感兴趣的事物的新功能。但我们也需要帮助做其他事情,例如维护我们的网站、编写文档、准备教程、在邮件列表、聊天室、StackOverflow 和问题跟踪器上回答人们的问题,以及审查拉取请求。以下是一些开始贡献的方法。

SymPy 代码库

开始使用主代码库的最佳方法是修复一些现有的错误。如果您正在寻找要修复的错误,可以从查看问题跟踪器中标记为 “Easy to fix” 的问题开始,看看是否有您感兴趣的。如果不清楚如何修复,可以在问题本身或邮件列表中询问如何修复的建议。

SymPy 的代码被组织成 Python 包和模块。核心代码位于 sympy/core 目录中,sympy 目录中的其他包包含更具体的代码,例如 sympy/printing 处理如何将 SymPy 对象打印到终端和 Jupyter。

文档

SymPy 的文档存在于两个地方。

  1. 文档源文件:https://github.com/sympy/sympy/tree/master/doc/src

  2. 源代码中函数的文档字符串*:https://github.com/sympy/sympy/tree/master/sympy

这两者最终都显示在文档网站上。您可以点击任何函数文档旁边的“[Source]”链接,以转到其在 SymPy 源代码中的相应文档字符串。

* 每个 SymPy 函数和类在其调用签名下方都有一个字符串,解释该对象的用法。当您在 Python 中输入 help(function_name) 时,就会显示它。

在为我们的文档做出贡献或改进它时,请遵循 SymPy 文档风格指南

审查拉取请求

对 SymPy 的每个贡献都会经历一个拉取请求 https://github.com/sympy/sympy/pulls。我们要求每个拉取请求在合并之前都要经过审查。如果您已经对 SymPy 代码库的一部分和 SymPy 开发流程有了一些了解,审查其他人的拉取请求将对社区有所帮助。您可以查看代码提交,并检查它是否按预期工作。