副项目负责人#

发布经理#

发布经理 (RM) 是为 Matplotlib 的小版本 (A.B.x) 发布系列而非固定任期任命的。他们负责该系列中所有小版本的完整发布生命周期,包括:

  • 确保“新增内容”、“API 更改”和“发行说明”是最新的

  • 发布的时机

  • 哪些更改应从主分支回溯或不应回溯

  • 重建并发布网站

  • 将 sdist 和 wheels 发布到 PyPI

  • 通知下游打包者关于发布

  • 宣布发布(与社区经理协调)

个人可以同时担任多个发布系列的发布经理。

API 负责人#

良好的 API 对于可用性和用户满意度至关重要。我们力求 API 直观、易用、一致且稳定。API 负责人 (AL) 负责 API 的整体演进。他们特别确保:

  • 新增功能是合理的,即它们不重复现有功能,也不超出库的预期范围

  • 新增功能与现有 API 保持一致

  • 新增功能的设计不会导致未来的负担,即它们不会无意中限制未来的扩展或暴露内部细节

  • 更改在对未来用户的利益和对现有代码的影响之间取得谨慎平衡

  • 更改遵循弃用策略,以避免用户猝不及防

首席工程师#

Matplotlib 依赖广泛而深入的代码库来实现其公共 API;低级细节必须正确才能忠实地实现该 API。与负责库“做什么”的 API 负责人不同,首席工程师负责“如何做”。他们是以下方面的联系点:

  • 渲染

  • 文件格式

  • 文本/字体处理

  • 与 GUI 工具包的集成

  • 内部数据结构和 API

参考文档负责人#

Matplotlib API 参考文档分为 docstring 和 rst 源。这份文档需要完整准确,因为我们的用户将其视为给定方法行为的最终权威(除了阅读源代码之外)。

参考文档负责人 (RDL) 负责确保 docstring:

  • 格式正确并按预期渲染

  • 技术上正确

  • 完整

除了 docstring,RDL 还负责 Sphinx 构建机制和我们的 Sphinx 扩展。

叙述性文档负责人#

除了参考文档,Matplotlib 还有叙述性文档。这种文档可以是简短的“食谱”示例、更长的教程,以及阐述库内部工作原理和原因的散文。这包括主仓库和 Matplotlib 组织中其他仓库里的内容。

叙述性文档负责人负责管理所有这些内容,包括范围、组织、级别、语气和语调。

秘书#

  • 负责确保每周会议有议程并得到遵守。

  • 负责维护每周会议记录。

社区经理#

Matplotlib 的真正力量以及它作为项目如此长寿的原因在于围绕代码的人群社区。这个社区需要维护。社区经理 (CM) 是一个涵盖多项不同任务的综合性职位,未来此角色可能会被拆分,并可能需要招募更多助理。社区经理负责 Matplotlib 的推广、外展和用户支持,以及维护与社区交流的平台。