如何提供NumPy文档

本指南将帮助您决定贡献什么以及如何将其提交给官方NumPy文档。

文件团队会议

NumPy社区已经制定了一个改进文档的坚定目标。我们在Zoom上定期召开文档会议(日期在 numpy-discussion mailing list ),欢迎大家。如果您有任何问题或需要有人指导您迈出第一步,请联系我们--我们很乐意为您提供帮助。会议记录 on hackmd.io 并储存在 NumPy Archive repository .

需要什么

NumPy文档包含了详细信息。API参考文档直接从 docstrings 当文档 built .

我们缺少的是范围更广的文档——教程、操作指南和解释。报告缺陷是另一种方法。我们两个都讨论。

贡献修复程序

我们很想知道并修复doc缺陷。但是为了解决最大的问题,我们不得不推迟或忽略一些错误报告。以下是最好的缺陷。

首要任务是 技术误差 --缺少参数的docstring、对函数/参数/方法的错误描述等等。其他“结构性”缺陷,如断链,也得到优先考虑。所有这些修复都很容易确认和实施。您可以提交 pull request (PR) 如果你知道该怎么做的话,请用修正;否则请用修正 open an issue .

拼写错误 我们欢迎听到他们的消息,但可能无法及时解决。这些也可以作为请求或问题来处理。

显而易见的 措辞 错误(比如漏掉一个“not”)属于打字错误的范畴,但是其他的改写——甚至是语法——需要判断,这就提高了标准。首先将修复作为一个问题来进行测试。

贡献新页面

您对我们文档的不满是我们解决问题的最佳指南。

如果你写了一个丢失的文档,你就加入了开源的前线,但是让我们知道丢失了什么是一个有意义的贡献。如果你想写一篇博士论文,请按顺序分析你的想法 mailing list 进一步的想法和反馈。如果你想提醒我们一个缺口, open an issue . 见 this issue 举个例子。

如果您正在寻找主题,我们的正式文档路线图是 NumPy增强建议(NEP)NEP 44 - Restructuring the NumPy Documentation . 它指出了我们的文档需要帮助的地方,并列出了我们希望看到的一些附加内容,包括Jupyter笔记本。

你可以找到更大的计划和进行中的想法 at our GitHub project .

公式编写

写有用的文档有四个公式,四个公式几乎涵盖了所有内容。有四个公式,因为有四类文件-- tutorial, how-to guide, explanation, and reference. The insight that docs divide up this way belongs to Daniele Procida, who goes on in this short article 解释差异,揭示公式。当你开始一个文件或提出一个,记住这些类型将是。

更多关于贡献

如果英语不是你的第一语言,或者你只能提出一个粗略的草稿,不要担心。开源是一项社区工作。尽你最大的努力--我们将帮助解决问题。

图像和现实生活中的数据使文本更具吸引力和功能,但请确保您使用的是适当的许可和可用的。在这里,即使是一个粗略的想法,艺术品可以抛光别人。

目前,NumPy唯一接受的数据格式是其他Python科学库(如pandas、SciPy或Matplotlib)也使用的数据格式。我们正在开发一个可以接受更多格式的软件包;有关详细信息,请与我们联系。

NumPy文档保存在源代码树中。要将文档放入docbase,必须下载目录树, build it ,并提交拉取请求。如果GitHub和pull请求对您来说是新的,请检查我们的 Contributor Guide .

我们的标记语言是restructedText(rST),它比Markdown更复杂。Sphinx是许多Python项目用来构建和链接项目文档的工具,它将rST转换为HTML和其他格式。有关rST的更多信息,请参阅 Quick reStructuredText GuidereStructuredText Primer

间接贡献

如果你遇到了对NumPy文档有用的外部资料,请通过以下方式告诉我们: opening an issue .

你不必在这里为NumPy做贡献。如果你在博客上写教程,创建YouTube视频,或者在Stack Overflow和其他网站上回答问题,那么你就有贡献了。

文件阅读

  • 技术作家的领导组织, Write the Docs ,召开会议,主持学习资源,并运行松弛通道。

  • “每个工程师都是作家,”谷歌的 collection of technical writing resources ,其中包括为开发者提供的规划和文档写作的免费在线课程。

  • Software Carpentry's 任务是向研究人员教授软件。除了主持课程外,网站还解释了如何有效地表达想法。