RAC JSON Schemas and validators
Project description
rac_schemas
JSON schemas and validation helpers.
Requirements
-
Python 3.4 or higher
-
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:
Requirements
- Python 3.4 or higher
- json-schema-for-humans
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
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 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf96b7b44d533d5f07018ac149b199225de0e32e51659b38ea4d01777def2db8 |
|
MD5 | 3b58f25b3604384221cf92330b8b20b5 |
|
BLAKE2b-256 | 62a91788d826c91f7f4e96301d8e04ef93bf696f85a5bd61a51338967abb0f60 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23cdc29a973650a90b062a7809d04a0bf3b89c0cd5906b0dd66ab605dcdac576 |
|
MD5 | 299fe97c277932f546274c1e399bc037 |
|
BLAKE2b-256 | 6bea5fb8886bfe27105d7ffd7f64657402e85fae9540e908098f9b4d128fc5c2 |