Skip to main content

A custom json validator

Project description

Build Status Coverage Status PyPI version

Json Validator

A json validator focused on speed.

  • Not recursion

  • Works with Python 2.7.x, 3.4.x, 3.5.x, 3.6. It may work with 3.7.X

  • Constrains based on python types.

  • Lazy Validation

  • Constrain definitions with python types

from json_validator import JsonValidator

constrain = {
      'string': {},  # str by default.
      'integer': {'type': int},
      'float': {'type': float},
      'boolean': {'type': bool},
      'json': {'type': dict },
      'list': {'type': list},
      'extra_1': {},
      'extra_2': {},
  }
  json = {
      'string': 'foo',
      'integer': 42,
      'float': 1.10,
      'boolean': True
  }
  # accepts json string, dict and lists.
  res, err = JsonValidator(constrain).validate(json)
  res == json  # => True
  err == {'extra_1': 'Missing field', 'extra_2': 'Missing field'}  # => True

See all rules for fields here.

Install

pip install sonic182_json_validator

Development

Install packages with pip-tools:

pip install pip-tools
pip-compile
pip-compile dev-requirements.in
pip-sync requirements.txt dev-requirements.txt

TODO

  • Documentation about rules.

Contribute

  1. Fork

  2. create a branch feature/your_feature

  3. commit - push - pull request

Thanks :)

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

sonic182_json_validator-1.0.2.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

sonic182_json_validator-1.0.2-py2.py3-none-any.whl (6.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file sonic182_json_validator-1.0.2.tar.gz.

File metadata

File hashes

Hashes for sonic182_json_validator-1.0.2.tar.gz
Algorithm Hash digest
SHA256 63e099e392c4c98e298d3b6b1da6249ac4490a210b17faa5a18b5333edc742ca
MD5 2a5f7322c41a0545793eef37c3854590
BLAKE2b-256 87a5966baf0c4a112260813c3a990dfcb6a100b38f9a167ee1c4641f0ea78f68

See more details on using hashes here.

File details

Details for the file sonic182_json_validator-1.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sonic182_json_validator-1.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 453d42653d6919ee652cd97977e616b3ad1e89fafdf09304eda15945e01ff9b5
MD5 3f06378fe08fc1344b6cb7593802a6cd
BLAKE2b-256 b66c853df194a9588238821c02230e858614c7f37dc86f185688dcba1ef53309

See more details on using hashes here.

Supported by

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