data validation and conversion library
Project description
PyDto is a data conversion library. It can validate data, that comes from various data serialization formats like JSON, YAML, etc. and convert it to native Python datatypes. It can also convert native Python objects to described DTO.
A taste of this library:
>>> schema = Schema({ ... Required('someString1', 'some_string_1'): String(), ... Optional('someString2', 'some_string_2'): String(), ... Required('someDict', 'some_dict'): { ... Required('someInt', 'some_int'): Integer(), ... Required('someList', 'some_list'): List(Decimal()), ... Required('someOtherList', 'some_other_list'): List({ ... Required('innerString', 'inner_string'): String(), ... Required('innerInt', 'inner_int'): Integer() ... }) ... } ... }) >>> native_object = schema.to_native({ ... 'someString1': 'asdf', ... 'someDict': { ... 'someInt': 2, ... 'someList': ['11.5', '12.2'], ... 'someOtherList': [ ... {'innerString': 'is1', 'innerInt': 1}, ... {'innerString': 'is2', 'innerInt': '2'} ... ] ... } ... }) >>> assert native_object == { ... 'some_string_1': 'asdf', ... 'some_dict': { ... 'some_int': 2, ... 'some_other_list': [ ... {'inner_int': 1, 'inner_string': 'is1'}, ... {'inner_int': 2, 'inner_string': 'is2'} ... ], ... 'some_list': [decimal.Decimal('11.5'), decimal.Decimal('12.2')], ... } ... }
Check out documentation for more detailed review at Github repo.
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
pydto-0.2.tar.gz
(6.0 kB
view details)
File details
Details for the file pydto-0.2.tar.gz
.
File metadata
- Download URL: pydto-0.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b5957dde1e5d76a8c89ec76090bae97464a01713875bf8c02754a17d8da1d9d |
|
MD5 | 4794ca6a04e93235b3768878da94076c |
|
BLAKE2b-256 | 5f4d2b66302b043912af4c3c496e72f02a20aed5e518cc0f84653aa42e487e81 |