Google Summer of Code 2020 的第一次评估已经完成。我通过了!!!欢呼!现在我们正处于第二次评估的中间阶段。这篇文章讨论了 2020 年 6 月 30 日至 7 月 12 日的第二编码阶段前两周的进展。

matplotlib_baseline_images 包的完成#

我们成功创建了 matplotlib_baseline_images 包。它包含 matplotlib 和 matplotlib 工具包的基线图像。基线图像的符号链接已完成,Travis、appvoyer、azure pipelines 等相关的更改已生效,测试/test_data 也如之前博客中所述创建。PR 已被审核,建议的工作已完成。

模块化方法,用于移除 matplotlib 基线图像#

我们将工作分为两部分。第一部分是下面讨论的基线图像生成。第二部分是基线图像的修改,当一些基线图像由于 git pushgit merge 而被修改时,就会发生这种情况。基线图像的修改将进一步细分为两个子任务:添加新基线图像和删除以前的基线图像。这将在 Google Summer of Code 2020 第二阶段的后半部分进行讨论。

matplotlib 基线图像的生成#

之前 PR 中提出的更改之后,开发者在全新安装 matplotlib 时将不再拥有基线图像。开发者需要安装子轮 matplotlib_baseline_images 包才能开始 mpl 的测试部分。现在,我们已经开始移除 matplotlib_baseline_images 包的使用。这将需要上面提到的两个步骤。图像可以通过图像比较测试生成。这些图像第一次生成后,就可以作为之后比较的基线图像使用。这是采用的主要原则。图像首先在 result_images 目录中创建。然后它们将被移动到 lib/matplotlib/tests/baseline_images 目录。之后,运行 pytests 将开始图像比较。

为基线图像创建创建了命令行标志#

我学习了 pytest 钩子和 fixture。我构建了一个命令行标志 matplotlib_baseline_image_generation,它将在 result_images 目录中创建基线图像。完整的命令将是 python3 pytest --matplotlib_baseline_image_generation。为了做到这一点,我们在 conftest.py 中进行了更改,并向 image_comparison 装饰器添加了标记。

进一步学习 Git 和虚拟环境#

我了解了 git 工作树以及我们可以使用它的场景。我还了解了更多关于虚拟环境及其在不同场景下的需求。

未来目标#

一旦 当前 PR 中的基线图像生成完成,我们将进入第二编码阶段的后半部分,进行基线图像的修改。

每日会议#

周一至周四通过 Zoom 在 印度标准时间晚上 11:00 启动会议。会议记录位于 HackMD。

我很感激能成为这样一个伟大社区的一部分。这个项目真的很有趣,也具有挑战性 :) 感谢 Thomas、Antony 和 Hannah 的帮助。