疫情期间我的开源实习经历

在夏季实习期间远程工作并没有妨碍我贡献 Python 技能或学习新能力的能力。
83 位读者喜欢这篇文章。
Looking at a map for career journey

opensource.com

2020 年 5 月,在冠状病毒大流行的初期,我开始了在红帽公司的暑期实习。COVID-19 缩短了我在佐治亚理工学院学习计算机工程的第三年,我得知整个夏天都必须远程工作。我不确定对虚拟实习有什么期望。

这是我的第二次实习,但却是第一次完全远程工作。我很快适应了新的虚拟环境——我认为在实体工作空间经验不足反而帮助了我。远程工作最困难的部分是知道何时停止工作并结束一天。很容易沉浸在工作中,再写一行代码,然后完成一个任务。但是,我要说的是,我并不怀念通勤。

我的实习期间在 Pulp 团队工作。Pulp 是一个用于管理软件包仓库并使其可供许多消费者使用的平台。Pulp 可以在本地镜像仓库的全部或部分,在仓库中托管软件包,并在一个地方管理来自多个来源的多种类型的内容。要使用 Pulp 管理某种类型的内容,您只需向其添加内容插件即可。

更新 Pulp Python 插件

自 Pulp 3 于 2019 年 12 月发布以来,Pulp 社区一直在进行快速发布。在我的实习期间,我专注于更新 Pulp Python 插件并添加功能,以便 Pulp Python 插件可以镜像整个 PyPI 仓库,该仓库非常庞大,包含数千个软件包。虽然这在技术上是可行的,但它非常耗时,并且需要向 PyPI 服务器发出大量请求,这并不实际。

我由 Pulp 工程师 Daniel Alley、Dennis Kliban 和 Grant Gainey 指导。当我们研究如何解决这个问题时,Daniel 建议 Pulp 插件应该与 Python 的仓库镜像软件 Bandersnatch 交互。

然而,任何值得做的事情都不会那么容易。Bandersnatch API 需要一些更新才能与 Pulp 的 Python 插件一起使用。Daniel 与 Bandersnatch 社区展开了对话,并解释了我们的意图。他们非常接受我们的想法,并且非常愿意扩展代码,以便它可以更广泛地使用。因此,我最终为 Pulp Python 和 Bandersnatch 都做出了贡献,以便 Pulp Python 插件可以利用 Bandersnatch 过滤工具集。

现在这项工作已经完成,您可以使用 Pulp Python 插件在一个多小时内镜像整个 PyPI。借助 Pulp 团队对 Bandersnatch 的贡献,也应该可以使用 Bandersnatch API 从 PyPI 以外的来源(包括 Pulp 本身)镜像 Python 内容。

跨社区合作

通过在 Pulp 和 Python Bandersnatch 社区工作,我了解到每个开源社区的工作方式都不同。重要的是要了解每个开源社区对问题跟踪、测试、提交消息、拉取请求和变更日志提交的首选方法。我还了解到,在您与之合作的任何社区中,了解其成员及其目标对于完成对每个人都有利的工作至关重要。

最新版本的 Pulp Python 插件可在 Pulp 3.9 及更高版本中使用。您可以通过文档查看其所有功能以及如何使用它们。如果您想试用,可以从 PyPI源代码安装 Pulp Python。用于 PythonRuby 的客户端绑定也可用。

接下来阅读什么

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.