依赖关系策略的最低版本¶
在本文档中,“次要版本”是指semver(主要、次要、补丁),包括主要和次要版本。对于使用基于日期的版本控制的项目,每个版本都是“次要版本”。
Matplotlib如下 NEP 29 .
Python 与纽比¶
Matplotlib支持:
- Python的所有次要版本都是在项目之前42个月发布的,至少有两个最新的次要版本。
- 所有次要版本
numpy
在项目前24个月发布,至少有最后三个次要版本。
在 setup.py
, the python_requires
变量应设置为Python的最低支持版本。所有受支持的Python次要版本都应该在测试矩阵中,并为发行版构建二进制工件。
Python和NumPy的最低版本支持应该在每个主要版本和次要版本上都向上调整,但在补丁版本上永远不能这样。
也见 依赖项版本列表 .
python依赖项¶
对于Python依赖项,我们至少应该支持:
- 带编译扩展名
- 最初在计划发布日期前24个月发布的次要版本或支持最低Python+NumPy的最旧版本
- 未遵守扩展
- 最初在计划发布日期前12个月发布的次要版本,或支持最低Python的最旧版本。
当我们需要新特性或旧版本不再支持我们的最小NumPy或Python时,我们只会增加这些依赖项。
测试和文档依赖性¶
由于这些包只需要用于测试或构建文档,而最终用户不需要,因此我们可以更积极地放弃对旧版本的支持。但是,我们需要小心不要过度运行下游打包程序支持的内容(因为大多数运行测试并将文档构建为打包过程的一部分)。
我们将支持在计划的发布前12个月发布的开发依赖项的至少小版本。
我们将只在需要时进行缓冲,或者版本不再支持最小的python和numpy。
系统和C依赖性¶
对于系统或C依赖项(FreeType、GUI框架、LaTeX、Ghostscript、FFmpeg),支持尽可能老。这些可能很难为最终用户安装,我们希望能够在尽可能多的系统上使用。我们会根据具体情况来决定。