Skip to main content
Build status Downloads Latest Version License

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'}]

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsonschema_model-1.4.0-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file jsonschema-model-1.4.0.tar.gz.

File metadata

File hashes

Hashes for jsonschema-model-1.4.0.tar.gz
Algorithm Hash digest
SHA256 9d753f6899d535c0e6db74865c11d59ec57af5f969e83120f38d94efebdcc832
MD5 86ee6250b0ad46ff90864e8606f1f267
BLAKE2b-256 fc63e785630ef276ffacb4f9ecde7c9fdccf2e3843cf61b6caa72ae07583a92e

See more details on using hashes here.

File details

Details for the file jsonschema_model-1.4.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for jsonschema_model-1.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 59051eba59268ba0c1eaf1acb69d1bf84240b42b3d7b46189dd7a483b1b1458b
MD5 28d53885f00528bdfb5e5142472202c3
BLAKE2b-256 02c30b3fdfbe8228256b41674d132cdf46a886bb7b6bbe24fb14da3a2440275e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page