python-warlock-help-1.3.3-1.oe1 >  A aNzW^^f w6a<+xj?/CDGn} t`{, $gA^.mtLCQ]bTn$979吹BGAMZ C̳}q{DqY4V$`&G_159TlԘ,x|^DYe S 4 ;.z="EpwQAh0œ4;}ю*0&4>!ò [~73397f626007524ef842b2ce1b99715e59f32541a3865a999ad8f288d7f8ba83bad8116f5b0ff7be7c3902ba8b7229d65e3e1444aNzW^^fQ ό{~Ub`!EGp< 8? (d " Q   4 @ c i p t  v  x  |  }          S( o8 x9 |: F G H I X Y \ ] ^ b #c #d e f l t u v z     $Cpython-warlock-help1.3.31.oe1Development documents and examples for warlock [![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock] [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock] [![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats] [![Build Status](https://travis-ci.org/bcwaldon/warlock.svg?branch=master)][ci-builds] [![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls] Warlock is [available on PyPI][warlock]: ```shell pip install warlock ``` 1) Create your schema ```python >>> schema = { 'name': 'Country', 'properties': { 'name': {'type': 'string'}, 'abbreviation': {'type': 'string'}, 'population': {'type': 'integer'}, }, 'additionalProperties': False, } ``` 2) Create a model ```python >>> import warlock >>> Country = warlock.model_factory(schema) ``` 3) Create an object using your model ```python >>> sweden = Country(name='Sweden', abbreviation='SE') ``` 4) Let the object validate itself ```python >>> sweden.name = 5 Traceback (most recent call last): File "", line 1, in File "warlock/core.py", line 53, in __setattr__ raise InvalidOperation(msg) warlock.core.InvalidOperation: Unable to set 'name' to '5' >>> sweden.overlord = 'Bears' Traceback (most recent call last): File "", line 1, in File "warlock/core.py", line 53, in __setattr__ raise InvalidOperation(msg) warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears' ``` 5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes ```python >>> sweden.population=9453000 >>> sweden.patch '[{"path": "/population", "value": 9453000, "op": "add"}]' ``` [warlock]: https://pypi.org/project/warlock/ [pip]: https://pip.pypa.io/en/stable/ [ci-builds]: https://travis-ci.org/bcwaldon/warlock [coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master [pypistats]: https://pypistats.org/packages/warlockaN[ecs-obsworker-0015openEuler:20.03:LTS:SP3:Epol / standard_x86_64http://openeuler.orgApache-2.0http://openeuler.orgUnspecifiedhttp://github.com/bcwaldon/warlocklinuxnoarchAaN\rootrootpython-warlock-1.3.3-1.oe1.src.rpmpython-warlock-helppython3-warlock-doc    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.15.1_@Python_Bot - Package Spec generatedecs-obsworker-0015 16407138191.3.3-1.oe1python-warlock/usr/share/doc/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection obs://private/openEuler:20.03:LTS:SP3:Epol/standard_x86_64/b0b58d3acf5ff9f5f2b90d6cfc944ae8-python-warlockcpioxz2noarch-openEuler-linux-gnudirectory*WeXa,utf-8f909a0d0596b977b2063a922618b56319b0f47a8a14e250676571630e18a0e7e?@7zXZ !#, Z] b2u jӫ`(y-7f597[g/⧆U`gӉSu\Z;{kyG'Sʆ CF…,{?+<]܄155(U~ YZ