基于json模式和json补丁构建的python对象模型。
warlock的Python项目详细描述
术士-使用json模式自验证python对象
安装
pip install warlock
用法
创建模式
>>>schema={'name':'Country','properties':{'name':{'type':'string'},'abbreviation':{'type':'string'},'population':{'type':'integer'},},'additionalProperties':False,}
创建模型
>>>importwarlock>>>Country=warlock.model_factory(schema)
使用模型创建对象
>>>sweden=Country(name='Sweden',abbreviation='SE')
让对象验证自身
>>>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'
生成一个JSON Patch document来跟踪更改
>>>sweden.population=9453000>>>sweden.patch'[{"path": "/population", "value": 9453000, "op": "add"}]'