开发者页面

本页解释如何通过提交补丁、统计测试、新模型或示例来为 statsmodels 的开发做出贡献。

statsmodelsGithub 上使用 Git 版本控制系统进行开发。

提交错误报告

  • 包含一个简短的、独立的代码片段,该代码片段可以重现问题

  • 指定使用的 statsmodels 版本。您可以使用 sm.version.full_version 来完成此操作

  • 如果问题似乎涉及其他依赖项,还包括 sm.show_versions() 的输出

更改代码

首先,查看 使用 statsmodels 代码 部分以了解 Git 版本控制系统的介绍。

要接受拉取请求,您必须满足以下要求。这极大地帮助了维护和发布共享努力的软件的工作。

  • **一个分支。一个功能。**分支很便宜,github 使得用几次点击即可轻松合并和删除分支。尽可能避免在处理一个功能时将一堆不相关的更改合并在一起。这有助于我们在准备发布时跟踪更改的内容。

  • 提交消息应该清晰简洁。这意味着主题行少于 80 个字符,并且如果需要,则使用空行后跟提交消息正文。我们有一个 非正式的提交格式标准,我们试图遵守该标准。您可以通过 git log --oneline -n 10 来查看实际情况。如果您的提交引用或关闭了特定问题,则可以通过在 提交消息 中提及它来关闭它。(对于维护者:这些建议也适用于合并提交评论。这些部分是发行说明的记录。)

  • 代码提交必须始终包含测试。请参阅我们关于 测试 的说明。

  • 每个函数、类、方法和属性都需要使用文档字符串进行记录。我们符合 numpy 文档字符串标准

  • 如果您要添加新功能,则需要通过编辑(或创建)docs/source 中的相应文件将其添加到文档中。

  • 确保您的文档更改解析正确。更改到顶层 docs/ 目录并键入

    make clean
    make html
    

    检查构建输出中是否没有任何由于您的更改导致的警告。

    生成文档需要额外的依赖项,有关详细信息,请参阅 docs/README.md

  • 尽可能遵循 PEP8 样式指南。通过运行 LINT=true ./lint.sh 来整理您的代码。

  • 通过运行 git diff upstream/main 来比较您的更改与主分支中的更改。

  • 最后,请将您的更改添加到发行说明中。打开 docs/source/release/versionX.X.rst 文件,该文件包含下一个版本的版本号,并将您的更改添加到相应的节中。

如何提交拉取请求

所以您想向 statsmodels 提交一个补丁,但不太熟悉 github?以下是您需要采取的步骤。

  1. Fork statsmodels 存储库 在 Github 上。

  2. 创建新的功能分支。每个分支都必须是独立的,包含单个新功能或错误修复。

  3. 确保测试套件通过。这包括在 Python 3 上进行测试。最简单的方法是创建拉取请求并让机器人为您检查。这可能很慢,如果您不确定修复程序或增强功能,最好在本地运行 pytest。

  4. 提交拉取请求

拉取请求在被接受到代码库之前会经过彻底审查。如果您的拉取请求过时,请将您的拉取请求重新设置到中央存储库中的最新版本。

邮件列表

关于开发的对话发生在 statsmodels 邮件列表 上。

许可证

statsmodels 根据 修改后的 (3 条款) BSD 许可证 发布。

内容


上次更新:2024 年 10 月 3 日