确保您的依赖项与最低版本兼容
项目描述
pessimist
"optimist"这个名字已经被占用了吗?
根据您列出的要求和测试运行方式,尝试各种版本以确保最小版本准确无误。
用法
python -m pessimist [-c 'make test'] [--fast] [--extend=name[,name...]] [--requirements=requirements*.txt] /path/to/repo
-c
-- 要运行的命令。如果您使用src/布局,可以使用cd src; python -m unittest
或类似命令。--fast
-- 仅验证最小和最大版本--extend
-- 完全忽略列出的规范名称的指定符;旨在让您回到==
之前,可能在未来改进为做类似的事情。还允许*
作为名称,表示所有“变量”名称--requirements
-- 由逗号分隔的glob,代表“固定”需求。--verbose
-- 显示日志
固定和变量
- 固定需求来自
requirements*.txt
。如果这些与多个版本匹配,则仅保留最新版本。 - 变量需求来自您的setup.py/setup.cfg/etc,它们会进入元数据。这些是我们感兴趣尝试的。
- 如果名称同时出现在两个集合中,则遵循变量逻辑。
策略
- 尝试所有东西的新版本。如果失败则退出。
- 对于每个依赖项独立地,尝试逐渐较旧的版本。
- 尝试所有东西的最旧版本。如果失败则退出。
我订阅了“requirements.txt应该是您在CI中想要使用的具体版本”的思想;setup.py/setup.cfg/pyproject.toml中的约束应该是大于等于可以工作的最小版本,并且小于下一个主要版本(在poetry术语中称为“兼容”)。
创建此项目的目标是有一个自动检查,以确保我们没有无意中破坏与旧版本的兼容性。您可以在需求文件上使用类似sed -e 's/>=/==/'的简单版本,但如果失败,找到新的最小版本仍然是这个自动化的一个研究项目。
许可证
悲观者版权属于Tim Hatch,并使用MIT许可证授权。我在此存储库中向您提供代码,属于开源许可证。这是一个个人仓库;您获得的我的代码的许可证来自我,而不是来自我的雇主。有关详细信息,请参阅LICENSE
文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
pessimist-0.9.3.tar.gz (14.2 kB 查看哈希值)
构建发行版
pessimist-0.9.3-py3-none-any.whl (10.0 kB 查看哈希值)
关闭
pessimist-0.9.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a9c9be7ec8133fd188d73359d12b9346e97e5c675491557f3c7d0ae29888448a |
|
MD5 | 12b85091d582830b96a6e5b7a7004471 |
|
BLAKE2b-256 | 369e50a29c11bcb571c12497a929bf599a5cc264440b584052517652b8beace4 |
关闭
pessimist-0.9.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bd074b0d207a89f4e88a34ea6a4d7f1a6ca685dbe9a91cc3bd90858870357018 |
|
MD5 | 50ace9865218fdae00ee972c0a07c7d3 |
|
BLAKE2b-256 | 8ca4fe644106a9442e16c11e3f37c68fc6600e58657f12c5d90267c3e972e551 |