基于json模式和json补丁构建的python对象模型。

warlock的Python项目详细描述


术士-使用json模式自验证python对象

PyPIPyPI - Python VersionPyPI - Downloads

Build StatusCoverage Status

安装

术士是available on PyPI

pip install warlock

用法

  1. 创建模式

    >>>schema={'name':'Country','properties':{'name':{'type':'string'},'abbreviation':{'type':'string'},'population':{'type':'integer'},},'additionalProperties':False,}
  2. 创建模型

    >>>importwarlock>>>Country=warlock.model_factory(schema)
  3. 使用模型创建对象

    >>>sweden=Country(name='Sweden',abbreviation='SE')
  4. 让对象验证自身

    >>>sweden.name=5Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"warlock/core.py",line53,in__setattr__raiseInvalidOperation(msg)warlock.core.InvalidOperation:Unabletoset'name'to'5'>>>sweden.overlord='Bears'Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"warlock/core.py",line53,in__setattr__raiseInvalidOperation(msg)warlock.core.InvalidOperation:Unabletoset'overlord'to'Bears'
  5. 生成一个JSON Patch document来跟踪更改

    >>>sweden.population=9453000>>>sweden.patch'[{"path": "/population", "value": 9453000, "op": "add"}]'

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

推荐PyPI第三方库


热门话题
java如何使用JNA创建同一库的多个实例?   java在将Graphql查询作为JSON字符串传递时收到意外的令牌错误   OAuth2 oltu的java问题   java桌面应用程序使用的好的嵌入式数据库是什么?   java Firebase数据库高级查询选项   java正在使磁盘上的EhCache元素过期   java 安卓还原处于backstack中的片段的实例状态   XMemcached中的java异步集   java TimescaleDB是否使用与Postgresql完全相同的JDBC驱动程序?   java从网站c读取信息#   检查java Android中的字符串是否只包含数字和空格   c#如何向web服务发送特殊字符?   grails无法调用需要java的方法。lang.类参数?   java我在组合框中调用的方法不会运行所有代码,它只运行部分代码   java发送带有标头的HTTP GET请求