Json schema Model
Project description
Build python objects using JSON schemas:
>>> import jsonschema_model >>> Model = jsonschema_model.model_factory({ ... "name": "Model", ... "properties": { ... "foo": {"type": "string"}, ... "bar": {"type": "array", "items": { ... "type": "object", ... "name": "Bar", ... "properties": { ... "zaz": {"type": "string"}, ... }, ... }}, ... }}) # Simple object creation >>> obj = Model(foo="bar") >>> assert obj == {"foo": "bar"} # Nested and array are implemented # HINT: Use add() instead of append() >>> obj.bar.add(zaz="qux") {'zaz': 'qux'} >>> assert obj == {'foo': 'bar', 'bar': [{'zaz': 'qux'}]} # You can access via attribute or via dict like interface >>> obj["bar"][0].zaz 'qux' # Array have a special get_or_create() method # to avoid dupplicates within an array >>> obj.bar.get_or_create(zaz="xuq") {'zaz': 'xuq'} >>> obj.bar [{'zaz': 'qux'}, {'zaz': 'xuq'}] >>> obj.bar.get_or_create(zaz="xuq") {'zaz': 'xuq'} >>> obj.bar [{'zaz': 'qux'}, {'zaz': 'xuq'}]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jsonschema-model-1.4.0.tar.gz
(4.8 kB
view hashes)
Built Distribution
Close
Hashes for jsonschema_model-1.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59051eba59268ba0c1eaf1acb69d1bf84240b42b3d7b46189dd7a483b1b1458b |
|
MD5 | 28d53885f00528bdfb5e5142472202c3 |
|
BLAKE2b-256 | 02c30b3fdfbe8228256b41674d132cdf46a886bb7b6bbe24fb14da3a2440275e |