语义和正则表达式版本筛选/屏蔽库。

version-filter的Python项目详细描述


版本过滤器

https://travis-ci.org/dropseedlabs/version-filter.svg?branch=masterhttps://img.shields.io/pypi/v/version撸filter.svghttps://img.shields.io/pypi/l/version撸filter.svghttps://img.shields.io/pypi/pyversions/version撸filter.svg

语义和正则表达式版本过滤/屏蔽库。

给定过滤掩码或正则表达式和版本列表(作为字符串),将返回该版本列表的子集。 如果给定了掩码并且该掩码使用当前版本引用,则还必须提供显式的当前版本作为 输入也必须作为输入提供。

输入

掩码/正则表达式

掩码可以是具有以下扩展名的Semver v2有效掩码。

面罩锁延长

锁( l )用作掩码中的替换字符,用于在需要的地方替换主要、次要和修补程序组件 将版本筛选器限制为与给定的当前版本具有相同值的版本。如果a l 如果掩码中的任何位置存在,则还必须提供当前版本参数。通过给出一个正整数 紧跟着"l"你可以表达"lock+int"行为。例如,掩码中的 l1 表示"当前 任何给定位置的版本号+1"。

屏蔽是扩展

是( y )用于提供对位于 y 位置的任何值的通配符接受。它可以用在 版本'

的主要、次要、修补程序或预发布组件
次优匹配分机

有些包从未公开发布过预期的语义版本。以一个从未发布的包为例 a '2.0.0' 版本,但已将 '2.0.1' 作为2系列的第一个可用版本。能够处理 在不使用范围或通配符的情况下偏离了约定,从而失去了锁的某些功能,是的 扩展名可以用连字符( - )作为掩码的前缀。这使得算法能够预测 发布"应该"被发布,如果预期的发布从未出现,则选择"下一个"发布。例如, 掩模 '-y.0.0' 预期将进行 '2.0.0' 释放,但如果 2.0.0 从未出现释放。

布尔型和/或

布尔和运算符( &; )和布尔或运算符( )可用于组合掩码。但是,和和或 不能在同一表达式中组合

马SK示例

一些常见示例:

  • '1.y.0' 仅返回主要版本1的次要版本
  • 'l.y.0' 只返回那些比当前安装的版本大的次要版本,但在相同的版本中 主要版本
  • '>;=l1.0.0' >返回主版本的每个版本,至少比当前主版本大1个版本
  • '-y.0.0' \ 已启用匹配(如果从未发布2.0.0,则返回2.0.1版本)
  • 'l.l.y' 只返回那些大于当前安装版本的修补程序版本,但在相同的版本中 主要和次要版本
  • 'y.y.y' 返回所有主要、次要和修补程序版本
  • 'y.y.y-y' >返回所有主要、次要、修补程序和预发布版本
  • 'l.l.y y.y.0' 返回当前安装版本或所有主要和次要版本的修补程序版本
  • '>;1.0.0&;3.0.0' ;返回1.0.0到3.0.0之间的所有版本,独占
  • '*' 返回所有版本,包括预发行版

版本字符串列表

版本字符串列表应该是一组格式良好的语义版本,符合semver v2规范。

当前版本

符合semver v2规范的版本字符串。

用法

fromversion_filterimportVersionFiltermask='L.Y.Y'versions=['1.8.0','1.8.1','1.8.2','1.9.0','1.9.1','1.10.0','nightly']current_version='1.9.0'VersionFilter.semver_filter(mask,versions,current_version)# ['1.9.1', '1.10.0']VersionFilter.regex_filter(r'^night',versions)# ['nightly']

许可证

  • 自由软件:麻省理工学院许可证

学分

  • 保罗·奥特曼
  • 戴夫·盖德特

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
hashmap Java如何以列表作为值组织映射   java二进制搜索树如何在“main”中调用我的inoder方法,并在输出中省略null?   java Subclipse如何覆盖更改的文件   java无法识别的VM选项“ExplicitGCInvokesConcurrentAndUnloadsClasses”   java需要从字符串中转义“| |”条件   JavaMVEL迭代列表   如果有对元素字段的引用,java会对元素进行垃圾收集吗?   java如何按索引删除行   java有没有简单的http服务来检查域名的可用性   java Spring@ContextConfiguration无法从不同的项目加载测试上下文   IntelliJ IDEA社区版中的java Webservice客户端   netbeans从java Main调用另一个java文件中的方法   java MySQL左连接和组连接返回重复和中断数据   Java\Hibernate\ManyTone\Ordering   java JPQL中的LIMIT子句是什么?   在Java中,预处理器将单词转换为基本形式   在核心java中创建GUI时的swing问题   java从javabean创建不可变对象   java线程是否可能在wait()循环中饿死?   java有spring用来从xml解析setter数据的助手类吗?