跳到内容

贡献

我们欢迎您查看现有问题列表,寻找可以解决的 bug 或可以改进的功能。如果您有关于扩展 TPOT 的想法,请提交一个新问题,以便我们进行讨论。

贡献指南

我们欢迎您查看现有问题列表,寻找可以解决的 bug 或可以改进的功能。如果您有关于扩展 TPOT 的想法,请提交一个新问题,以便我们进行讨论。

项目布局

TPOT 的最新稳定版本位于 main 分支,而开发中的最新版本位于 development 分支。如果您打算贡献代码,请确保您正在查看和操作正确的分支。

目录结构如下

  • TPOT 的所有代码源文件都在 tpot 目录下
  • 文档源文件在 docs_sources 目录下
  • 文档中的图片在 images 目录下
  • TPOT 的教程在 tutorials 目录下
  • TPOT 的单元测试在 tests.py 文件中

在进行任何重大贡献之前,请务必熟悉项目布局,尤其要确保将所有代码更改发送到 development 分支。

如何贡献

向 TPOT 贡献代码的首选方式是在 GitHub 上 Fork 主仓库

  1. Fork 项目仓库:点击页面顶部的 'Fork' 按钮。这会在 GitHub 服务器上您的账号下创建一个代码副本。

  2. 将此副本克隆到您的本地磁盘

      $ git clone git@github.com:YourUsername/tpot.git
      $ cd tpot
    
  3. 创建一个分支来存放您的更改

      $ git checkout -b my-contribution
    
  4. 确保您的本地环境已正确设置为开发环境。安装说明与用户说明几乎相同,只是 TPOT 不应被安装。如果您的计算机上已安装 TPOT,请确保您正在使用未安装 TPOT 的虚拟环境。此外,您应该确保已将 pytest 包安装到您的开发环境中,以便在本地测试更改。

      $ conda install pytest
    
  5. 开始在您新创建的分支上进行更改,记住永远不要在 main 分支上工作!在您计算机上的此副本上使用 Git 进行版本控制。

  6. 检查您的更改没有破坏任何现有测试,并且通过了所有新测试。在终端中导航到 tpot/tpot/ 文件夹并运行命令 pytest 来启动所有测试。(注意:您的开发环境中必须安装 pytest 包才能使其工作)

      $ pytest
    
  7. 完成编辑和本地测试后,运行

      $ git add modified_files
      $ git commit
    

将您的更改记录到 Git 中,然后使用以下命令将其推送到 GitHub

      $ git push -u origin my-contribution

最后,访问您 Fork 的 TPOT 仓库网页,点击 'Pull Request' (PR) 将您的更改发送给维护者进行审查。请确保您将 PR 发送到 dev 分支,因为 main 分支保留用于最新的稳定版本。这将启动 CI 服务器来检查项目的所有单元测试是否运行并通过,并向维护者发送一封电子邮件。

(如果以上任何内容对您来说像魔术一样,请在网上查找Git 文档。)

提交拉取请求之前

在提交贡献的拉取请求之前,请仔细检查此清单,确保您已完成所有必要步骤,以便我们能够高效地审查和接受您的更改。

如果您的贡献以任何方式更改了 TPOT

  • 更新文档,以便您的所有更改都能反映在其中。

  • 如果 README 中有任何变化,请更新README

如果您的贡献涉及任何代码更改

  • 更新项目单元测试以测试您的代码更改。

  • 确保您的代码使用docstrings和注释进行了适当的注释,解释了您在非显而易见的编码实践背后的原理。

如果您的贡献需要新的库依赖项

  • 请仔细检查新的依赖项是否易于通过 pip 或 Anaconda 安装。如果依赖项需要复杂的安装过程,那么我们很可能不会合并您的更改,因为我们希望 TPOT 保持易于安装。

提交拉取请求之后

提交拉取请求后,GitHub 将自动对您的更改运行单元测试,并确保您更新后的代码能够构建和运行。我们还使用自动检查代码质量和测试覆盖率的服务。

提交拉取请求后不久,请返回检查您的代码是否通过了这些检查。如果任何检查结果显示红色的 X,请尽力解决错误。