Library for input validation designed for (but not restricted to) JSON-based APIs, neatly integrating with dataclasses.
Project description
validataclass
Python library for input validation designed for (but not restricted to) JSON-based APIs, neatly integrating with dataclasses.
Status: Beta.
Installation
validataclass is available on PyPI.
To install it using pip, just run:
pip install validataclass
If you add the package to your dependencies, it is recommended to use compatible release version specifiers to make sure you always get the latest version of the library but without running into breaking changes:
pip install validataclass~=0.7
However, keep in mind that the library still is in its beta phase (as indicated by the major version of 0). There can and will be smaller breaking changes between 0.x minor versions, but we will try to keep them at a minimum and save them for the release of version 1.0.0.
Usage
See docs/
for documentation on how to use this library and
for examples.
(Note: The documentation is mostly done now, but still a work in progress.)
Development
Virtual environment
To setup a virtualenv for development of the library, run make venv
.
Alternatively you can manually run the following commands (which do the same as the make target):
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ pip install -e .
Running unit tests
Unit tests can be run using make tox
or by directly executing tox
.
For this to work you need to either be inside the virtualenv (see above) or to have tox installed in your system locally.
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
Hashes for validataclass-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 343f92f9ad0b51d80f3fa73c78249d784ae22951eb7efa2d90c0124a3665c105 |
|
MD5 | be93068062eda750ce92e3b31808ecae |
|
BLAKE2b-256 | 6bae4c40c341f8248f80948924e1ebfbe658166663b7467b4210008206a71b64 |