如果我的包与 Python/another 包的版本 A 和 C 兼容,那么假设我的包与版本 B 兼容是否正确?

Is it correct to assume that my package is compatible with a version B, if it is compatible with versions A and C of Python/another packages?

我刚刚创建了自己的包,并想在 GitHub 和 PyPi 上发布它。

我目前正在使用 the tox library. My package, for example, uses the Pandas library

检查包的依赖关系

包测试通过 Pandas 1.1.4 和 Pandas 1.3.4。 假设测试也将通过 1.1.4 和 1.3.4 之间的每个 Pandas 版本是否正确?

与 Python 版本相同的问题。 如果包测试在 Python 3.8.2 和 Python 3.10.0 上通过,假设这两者之间的每个 Python 版本都与我的代码兼容是否正确?

如果假设不正确,有没有办法使用 tox 库自动执行该过程?

以防万一,我将列出其他包依赖项:

不幸的是,您不能假设您的包裹适用于 Python 或例如Pandas 未测试的版本。

这意味着,如果您真的想确保您的包适用于所有组合,则需要对其进行测试。

tox 是一个很好的工具。

您需要在 tox 中使用 factors

尤其是 Django 社区经常使用此功能,例如:

https://github.com/jazzband/django-auditlog/blob/3dee9f1555239ae9c4a50afeaa487547247d2d96/tox.ini

这里是 tox 文档中相关部分的 link:

https://tox.wiki/en/latest/config.html?highlight=factors#factors-and-factor-conditional-settings

为了在 GitHub 上测试这个矩阵,我推荐使用这个 tox 插件

https://github.com/ymyzk/tox-gh-actions

免责声明:我是 tox 维护者之一。