Skip to main content

Simple object (de)serialization and validation library

Project description

Simply python data objects management and validation based on standard jsonschema concepts. Project requires python3.6+ and allows users define how data objects should look and relate with other data objects. Supports python3.6+ typing annotations and customs attributes for more complex relationships.

Objectives

  1. Define and demarcate data objects just python annotations

  2. Define constraints in simple jsonschema compliant manner

  3. Validate data objects using standard jsonschema validators

  4. Express complete jsonschema as simple data objects (its just objects)

Similar Projects

Install

install from pip

$ pip install justobjects

install from source

$ pip install git+https://github.com/kulgan/justobjects@<version>#egg=justobjects

Usage Example

import justobjects as jo


@jo.data(auto_attribs=True)
class Model:
    a: int
    b: float
    c: str


# display schema
print(jo.show(Model))


try:
    # fails validation
    jo.is_valid(Model(a=3.1415, b=2.72, c="123"))
except jo.schemas.ValidationException as err:
    print(err.errors)

Contributing

The fastest way to get feedback on contributions/bugs is create a issues

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

justobjects-0.1.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

justobjects-0.1.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file justobjects-0.1.0.tar.gz.

File metadata

  • Download URL: justobjects-0.1.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for justobjects-0.1.0.tar.gz
Algorithm Hash digest
SHA256 85889636de2ad2c48a5e966e6fd9f245b8fa591f9d377fb909b8536a56ade393
MD5 6813c55acf4e19544402e48f289f6d54
BLAKE2b-256 d247b141243b980cfa107ade42964201b7b43b9c5a4362f8504a53d6cd558012

See more details on using hashes here.

File details

Details for the file justobjects-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: justobjects-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for justobjects-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4498bd49750ee1fe674cf70103348867dd490b4782a557e1636e3cdba0e298cc
MD5 19e557bb725aa4b27319045d989056f2
BLAKE2b-256 d9cd64a32512aed79e37a7e3ce1f25da04090dd60c2eef5fce224b2e7585d1b4

See more details on using hashes here.

Supported by

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