Skip to main content

RAC JSON Schemas and validators

Project description

rac_schemas

JSON schemas and validation helpers.

Requirements

  • Python 3.4 or higher

  • jsonschema

  • tox (for running tests)

  • pre-commit (for running linters before committing)

    • After installing pre-commit, install the git-hook scripts:
    $ pre-commit install
    

Installation

The recommended way to install this package is using pip:

pip install rac_schemas

Usage

This library has one main public method, is_valid(), which takes a dict as the first argument and a schema filename as the second.

from rac_schemas import is_valid

data = {"key": "value" ... }
is_valid(data, "object.json")

rac_schemas will attempt to add an appropriate extension to schema filenames in cases where it is either missing or incorrect. For example, if either schema and schema.org as schema filenames, rac_schemas will attempt to open schema.json.

Invalid data will raise a jsonschema.exceptions.ValidationError, and an invalid schema filename will raise a FileNotFoundError.

Available schemas

All schemas are located in the schemas/ subdirectory of the rac_schemas/ directory.

Tests

rac_schemas comes with unit tests as well as linting. The easiest way to make sure all tests pass is to run tox from the root of the repository. This will execute all tests, and will also run autopep8 and flake8 linters against the codebase.

Documentation

Automatically generated HTML documentation in the docs/ directory based upon .json files in the schemas/ subdirectory of the rac_schemas/ directory.

A simplified overview of the data model is below:

Simplified data model overwiew

Requirements

Usage

Running generate_docs.py will iterate over the schemas/ subdirectory and write updated docs files to the docs/ directory.

License

Code is released under an MIT license. SeeLICENSE.md.

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

rac_schemas-0.30.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

rac_schemas-0.30-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file rac_schemas-0.30.tar.gz.

File metadata

  • Download URL: rac_schemas-0.30.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for rac_schemas-0.30.tar.gz
Algorithm Hash digest
SHA256 bf96b7b44d533d5f07018ac149b199225de0e32e51659b38ea4d01777def2db8
MD5 3b58f25b3604384221cf92330b8b20b5
BLAKE2b-256 62a91788d826c91f7f4e96301d8e04ef93bf696f85a5bd61a51338967abb0f60

See more details on using hashes here.

File details

Details for the file rac_schemas-0.30-py3-none-any.whl.

File metadata

  • Download URL: rac_schemas-0.30-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for rac_schemas-0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 23cdc29a973650a90b062a7809d04a0bf3b89c0cd5906b0dd66ab605dcdac576
MD5 299fe97c277932f546274c1e399bc037
BLAKE2b-256 6bea5fb8886bfe27105d7ffd7f64657402e85fae9540e908098f9b4d128fc5c2

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