用于json/yaml验证方案的python lib/cli

pykwalify-unfixed的Python项目详细描述


#皮克瓦利![构建状态](https://travis-ci.org/grokzen/pykwalify.svg?branch=master)(https://travis-ci.org/grokzen/pykwalify)[![覆盖状态](https://coveralls.io/repos/grokzen/pykwalify/badge.png?branch=master)(https://coveralls.io/r/grokzen/pykwalify)[![Gitter](https://badges.gitter.im/join chat.svg)](https://gitter.im/grokzen/pykwalify?utm_source=badge&utm_medium=badge&utm_campaign=pr badge&;UTMYEng=徽章)
BR/> YAML/JSON验证库BR/>< BR/>此框架是一个具有Java功能的框架KWALIDEN附加功能的端口,可以在http://www-kuraa-Labv/kWalTiel/
中找到。http://SooCuxFiel.NET/Studio/KalyTys/FrutyAs/Java/0.5.1/BR/> BR/>该库是基于和扩展的:http://www-kuavaLabv/kWalTie/Ruby /用户指南。01。HTML模式:BR/> BR/> BR/> BR/>文档(BR/> > BR/>可以找到所有文档。http://pykwalify.readthedocs.org/en/latest/

` json和yaml格式都受支持。

``yaml
-foo
-bar
`````

schema.yaml
````





\r运行时依赖项

-docopt>;=0.6.2
-pyyaml>;=3.11
-python dateutil>;=2.4.2



有关详细信息,请参阅docs/license.txt


版权所有(C)2013-2015 Johan Andersson




发行说明
===


next release(?)????,2016年)
----

-将所有文档转换为readthedocs
-true/false不再被视为有效整数
-python3"bytes"对象现在是有效字符串和文本类型



1.5.1(3月6日,2016年)
----

-改进文档(scottlowe)。
-通过将规则类中的私有变量重写为属性来改进代码linting,并更新所有使用旧方法的代码。
-通过重写所有日志消息来改进代码linting,以呈现根据PEP标准。
(使用%s并将变量作为位置参数传入)
-在验证序列和值时修复错误,仅当字符串
-改进时间戳的验证。
-改进浮点验证以现在接受有效的字符串例如,使用科学符号"1e-06"的int。
-更新travis以测试python 3.6



>1.5.0(2015年9月30日)
----


-float/number type现在支持范围限制
-非数字类型的范围(例如seq,string)现在需要非负。
-修复了当regex匹配规则"any"和"all"都发现
regex匹配失败的关键字时触发的编码错误。在
regex匹配失败期间,添加了故障单元测试以涵盖regex匹配规则"any"和"all"。已更新允许的规则列表以包含匹配规则"all"。
-已将"验证"映射方法从"使用重新匹配"更改为"重新搜索"。这修复了与使用匹配规则"any"的多关键字regex相关的错误。将成功单元测试添加到测试默认值、'any'、
和'all'匹配规则。



1.4.1(2015年8月27日)
————————————————————————————————————————————————————————————————————————此版本中没有代码更改。



1.4.0(2015年8月4日)
----------

-由于python 3.2中不存在unicode文本,因此放弃了对python3.2的支持。
-修复了日志记录&;在架构/数据/文件名中使用Unicode字符时引发异常。
-重新处理了所有Ruleerror异常,以便现在有更好的异常消息。
-Ruleerror异常现在有一个唯一的"error\u key",可以更容易地标识它是什么错误。
-Ruleerrors的路径已作为变量移动到异常内部。
-重写所有schemaConflict异常以提高可读性。



1.3.0(2015年7月14日)
---------

-重写大多数错误消息以提高可读性。请参阅"docs/upgrade instructions.md"
了解更多详细信息。
-现在可以使用针对每个验证错误引发的异常。它可以
在变量"c.validation\u errors\u exceptions"中找到。它们包含有关错误的更详细信息




1.2.0(2015年5月19日)
---------

-此功能是新的和实验性的。
实现了对序列中多个值的支持。
这将允许对不同类型的一个序列可以包含。您可以要求
序列中的每个值对所有不同的可能性都是有效的。
测试表明它仍然保持与所有旧模式的向后兼容性,但不能保证它是有效的。
如果您在此版本中发现回归,请提交一个错误报告以便尽快修复。
-此功能是新的和实验性的。
添加了定义可用于对所有类型调用自定义python代码/函数的python文件的功能,以便可以对所有数据结构执行自定义/额外验证。
-添加新的关键字"func"是一个字符串,用于指向通过扩展系统加载的函数。
-添加只能在架构顶层使用的新关键字"extensions"。它应该是一个列表,包含扩展系统应该加载的文件字符串。路径可以是相对路径,也可以是绝对路径。
-新的cli选项'-e file'或'-extension file'可用于从cli加载扩展文件。
-修复了类型未正确引发异常的错误。如果schema说它应该是一个映射,但数据是
序列,则在早期版本中不会引发验证错误,但现在它会引发"notsequenceerror"或
"notmappingerror"。



1.1.0(2015年4月4日)
----

-重做docopt使用的cli字符串。删除了docopt提供的冗余标志[--version&;--帮助]
-添加对时间戳验证的支持
-添加用于验证时间戳的新运行时依赖项"python dateutil"
-更改如何实现"any"关键字,以便现在接受任何内容,而不仅仅是实现的类型。(有关迁移的详细信息,请参阅升级说明文档)




1.0.1(2015年3月8日)
----


切换回该库的语义版本编号。

-在"15.01"发布后,版本架构从<;year>;<;month>;更改回来;样式版本架构返回语义版本名。此更改的一个大问题是"pypi"无法很好地处理对语义名称的更改,因此我不得不从pypi中删除旧版本,并将其替换为单个版本"1.0.1"。
-无论您使用的是什么版本,都应考虑升级到"1.0.1"。这两个版本之间的差异非常小,主要包含错误修复和添加的改进。
-旧版本仍然可以从"github.com"获得,如果您真的需要旧版本,可以将下载URL添加到"requirements.txt"文件中。




15.01(1月2015年12月17日)修正了映射密钥唯一性验证中的一个错误[参见:pr-12](gonditeniz)





2014年12月24日)
---------

-修复了映射键上的断开正则表达式匹配。
-现在可以加载文件以".yml"结尾的源文件
-在某些指令中添加别名,以便更容易/更快地编写
*`sequence`-->;`seq`
*`mapping`-->;`映射`
*`Required`-->;`Req`
*`Regex`-->;`Re`
-重写所有测试文件以减少文件数




<14.08(2014年8月24日)
----

-要上载到PYPI的第一个版本
-关键字"range"现在可以应用于映射和序列类型。
-添加了更多的测试文件。
-删除了关键字"length",因为"range"现在可以处理所有情况。
-关键字"range"现在正确地将内部键检查为整数
-测试的主要更新和增加的覆盖范围。




14.06.1(6月24日,2014年)新功能"部分模式"。定义一个小模式,该模式的id可以在模式中的其他位置重用。有关详细信息,请参阅自述文件。
-用于在指定位置包含部分架构的新指令"include"。
-cli和core()现在可以处理多个架构文件。
-指令"pattern"不能再与map一起用于根据该regex验证所有密钥。使用"regex;"inside"映射:"
-"none"现在可以用作类型
-添加了更多测试





14.06(6月7日,2014年)
----

-新版scheme[yy.mm(.minor release)]
-增加了travisci支持
-将运行时依赖项docopt更新为0.6.1
-将运行时依赖项pyyaml更新为3.11
-对日志及其工作方式进行了巨大的重构。日志配置文件现在被删除,一切都变得更加简单
-清除docopt现在处理的一些检查
-new keyword"regex;<;regex pattern>;",这些检查可以用作映射中的键,以便在验证映射键时提供更大的灵活性
-可以使用的新关键字"匹配规则"要控制如何匹配密钥,请添加python 3.4&;python 2.7支持(请参阅travisci测试了解状态)
-放弃了python 3.1支持
-很多测试代码的重构。
-测试现在应该使用"notests"而不是"python runtests.py"来运行
-重构了很多更具体的异常(schemaerror和ruleerror for示例)而不是一般异常
-已分析的规则现在已正确存储在core()中,因此可以从外部对其进行测试



>0.1.2(2013年1月26日)
----


-添加了新的和实验性的验证规则allowEmpty。(有关更多信息,请参阅自述文件)
-添加了Todo跟踪文件。
-重新编写了cli,现在使用docopt和removede argparse。
-实现了更多类型检查、浮点、数字、文本、any
-现在支持python 3.3.x
-不再支持任何python 2.x.y版本的映射规则模式。它允许验证该映射中的所有键。(有关更多信息,请参阅自述文件)
-更多测试文件,现在测试core.py的源数据和模式数据输入参数
-测试套件中的许多清理





0.1.1(1月21日,2013年)
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————项目根目录的路径必须在python路径中,建议创建一个virtualenv并在激活时导出正确的路径)
-新的make目标"cleanegg"
-makefile中的固定路径错误
-manifest中的固定路径错误




0.1.0(1月20日,2013年)
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————基于下一个版本的新的特征请求。有些目前尚未实现,可以通过输出中的[NYI]标记、文档和代码找到。
-可通过PIP安装(不是正式的在线PIP repo,而是来自此repo中的releases文件夹)
-支持yaml&;如果在lib模式下使用,则来自cli的json文件和任何dict/list数据结构。
-使用pythons内部日志功能,可以通过更改logging.ini(python 3.1.x)或logging.yaml(python 3.2.x)来更改默认日志输出,或者使用-v cli输入参数更改日志记录级别。如果在lib模式下,它使用您实现的python std日志记录。

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

推荐PyPI第三方库


热门话题
在PageLoad上单击复选框时,java jQuery使Div可见(如果已选中)   java将JavaFX控制器链接在一起的最佳实践是什么?   如何在Scala中公开Kafka(带分区的commitSync)的Java方法?   使用xml输出程序创建xml文件时出现java异常   多线程Java:wait()是否从同步块释放锁   java如何在jersey应用程序上运行集成测试,而不必为每个测试重新启动服务器?   java为不同的列提供不同的网格颜色   java如何正确停止ServerSocket线程?关闭socket失败   java如何在Spring引导项目中获取connectTimeout值?   java lwjgl 3:没有为当前线程设置GLCapabilities实例。glCreateProgram()   javascript无法在片段活动中从firebase获取值和图像列表   java JTable仅在调用GUI()的新实例时刷新;   JavaFX ListView中的java图像   java Android:在循环中漫游图像   java Tomcat 7不在Netbeans上运行