automatic class-based binding to JSON schemas and toolkit for Domain-Driven Design.
Project description
Description
I’m Cedric ROMAN.
ngoschema aims at automate the building of classes based on a JSON schema.
User can declare all class attributes in a schema (along with their type, default value) and the class will be built with accessors to check and validate data.
User can add methods and override setters/getters, but the library provides a boiler plate to automatically create the class, nicely instrumented (with loggers, exception handling, type checking, data validation, serialization, etc…).
The classbuilder allows to easily load definitions based on a canonical name and a namespace.
Instance of these classes can be iterated and behave as standard collections.
ngoschema aims at being a toolkit for Domain-Driven Design and Model-Driven Architecture.
The library is build on top of python-jsonchema, a python implementation for JSON schema validation.
Free software: GNU General Public License v3
Changelog
0.1.0 (2018-06-04)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ngoschema-1.0.10.tar.gz
.
File metadata
- Download URL: ngoschema-1.0.10.tar.gz
- Upload date:
- Size: 135.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8e1041721bd405f84c99829f5139d87d74fee4ddd69836434f79533036fa8a4 |
|
MD5 | 5b1cde5dc28902a0d32b89b170e33a5e |
|
BLAKE2b-256 | 876967f7b7fe92659a20d1d5dfa42776c9430ab7d48a994ebef515e4a3f7ed67 |
File details
Details for the file ngoschema-1.0.10-py2.py3-none-any.whl
.
File metadata
- Download URL: ngoschema-1.0.10-py2.py3-none-any.whl
- Upload date:
- Size: 523.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df53b01e6fadfa3c1a577cfd886d84fc812676019e11456e96797537195bc07e |
|
MD5 | bdd986cafc6f71669b2ea3ec9f2c01a0 |
|
BLAKE2b-256 | 911eaf3284e6fb9eeb73425cd1182c851a26dbe382ef3322caf8f05b755f454b |