# validataclass
[
](https://github.com/binary-butterfly/validataclass/actions/workflows/tests.yml)
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](https://pypi.org/project/validataclass/).
To install it using [pip](https://pip.pypa.io/en/stable/getting-started/), just run:
```shell
pip install validataclass
```
If you add the package to your dependencies, it is recommended to use
[compatible release](https://www.python.org/dev/peps/pep-0440/#compatible-release) version specifiers to make sure you
always get the latest version of the library but without running into breaking changes:
```shell
pip install validataclass~=0.10
```
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 the
big breaking changes for the release of version 1.0.0.
## Usage
See [`docs/`](https://github.com/binary-butterfly/validataclass/blob/main/docs/index.md) 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](https://tox.wiki/en/latest/)
installed in your system locally.
Raw data
{
"_id": null,
"home_page": "https://github.com/binary-butterfly/validataclass",
"name": "validataclass",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "binary butterfly GmbH",
"author_email": "lexi.stelter@binary-butterfly.de",
"download_url": "https://files.pythonhosted.org/packages/79/2f/b5ad607be3595be392cef4e6a528c3d86fb9d4c248a565842ce2d9457227/validataclass-0.10.1.tar.gz",
"platform": null,
"description": "# validataclass\n\n[\n](https://github.com/binary-butterfly/validataclass/actions/workflows/tests.yml)\n\nPython library for input validation designed for (but not restricted to) JSON-based APIs, neatly integrating with\ndataclasses.\n\n**Status:** Beta.\n\n\n## Installation\n\nvalidataclass is available on [PyPI](https://pypi.org/project/validataclass/).\n\nTo install it using [pip](https://pip.pypa.io/en/stable/getting-started/), just run:\n\n```shell\npip install validataclass\n```\n\nIf you add the package to your dependencies, it is recommended to use\n[compatible release](https://www.python.org/dev/peps/pep-0440/#compatible-release) version specifiers to make sure you\nalways get the latest version of the library but without running into breaking changes:\n\n```shell\npip install validataclass~=0.10\n```\n\nHowever, keep in mind that the library still is in its beta phase (as indicated by the major version of 0). There can\nand will be smaller breaking changes between 0.x minor versions, but we will try to keep them at a minimum and save the\nbig breaking changes for the release of version 1.0.0.\n\n\n## Usage\n\nSee [`docs/`](https://github.com/binary-butterfly/validataclass/blob/main/docs/index.md) for documentation on how to use\nthis library and for examples.\n\n(**Note:** The documentation is mostly done now, but still a work in progress.)\n\n\n## Development\n\n### Virtual environment\n\nTo setup a virtualenv for development of the library, run `make venv`.\n\nAlternatively you can manually run the following commands (which do the same as the make target):\n\n```\n$ virtualenv venv\n$ source venv/bin/activate\n$ pip install -r requirements.txt\n$ pip install -e .\n```\n\n\n### Running unit tests\n\nUnit tests can be run using `make tox` or by directly executing `tox`.\n\nFor this to work you need to either be inside the virtualenv (see above) or to have [tox](https://tox.wiki/en/latest/)\ninstalled in your system locally.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Library for input validation designed for (but not restricted to) JSON-based APIs, neatly integrating with dataclasses.",
"version": "0.10.1",
"project_urls": {
"Changelog": "https://github.com/binary-butterfly/validataclass/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/binary-butterfly/validataclass/blob/main/docs/index.md",
"Homepage": "https://github.com/binary-butterfly/validataclass",
"Issue Tracker": "https://github.com/binary-butterfly/validataclass/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "07437ced61a1553fbc123f41cb4bda834d5e3447a4f90060dcca4432eee44d79",
"md5": "57c23f20eb5c559aa109383a8c7ea0e1",
"sha256": "dc6816ad7cad7b943af3fbbc79dd8db51183ab09b8916583acc10609f7dd40dd"
},
"downloads": -1,
"filename": "validataclass-0.10.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "57c23f20eb5c559aa109383a8c7ea0e1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 89815,
"upload_time": "2024-08-08T12:25:20",
"upload_time_iso_8601": "2024-08-08T12:25:20.092593Z",
"url": "https://files.pythonhosted.org/packages/07/43/7ced61a1553fbc123f41cb4bda834d5e3447a4f90060dcca4432eee44d79/validataclass-0.10.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "792fb5ad607be3595be392cef4e6a528c3d86fb9d4c248a565842ce2d9457227",
"md5": "018c6818b6db7090a39e243b470bfa82",
"sha256": "d56fa264eba3c3f2b33d3f04a603388f6e6ccdf7f3aeb5734f26c2604fb2c108"
},
"downloads": -1,
"filename": "validataclass-0.10.1.tar.gz",
"has_sig": false,
"md5_digest": "018c6818b6db7090a39e243b470bfa82",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 165909,
"upload_time": "2024-08-08T12:25:22",
"upload_time_iso_8601": "2024-08-08T12:25:22.539486Z",
"url": "https://files.pythonhosted.org/packages/79/2f/b5ad607be3595be392cef4e6a528c3d86fb9d4c248a565842ce2d9457227/validataclass-0.10.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-08 12:25:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "binary-butterfly",
"github_project": "validataclass",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "validataclass"
}