python-validate (valid8)
"valid8ing is not a crime" ;-)
valid8 provides user-friendly tools for
- general-purpose inline validation,
- function inputs/outputs validation
- class fields validation.
All entry points raise consistent ValidationError including all contextual details, with dynamic inheritance of ValueError/TypeError as appropriate. Originally from the autoclass project.
This is the readme for developers. The documentation for users is available here: https://smarie.github.io/python-valid8/
Want to contribute ?
Contributions are welcome ! Simply fork this project on github, commit your contributions, and create pull requests.
Here is a non-exhaustive list of interesting open topics: https://github.com/smarie/python-valid8/issues
Running the tests
This project uses pytest.
pytest -v valid8/tests/You may need to install requirements for setup beforehand, using
pip install -r ci_tools/requirements-test.txtPackaging
This project uses setuptools_scm to synchronise the version number. Therefore the following command should be used for development snapshots as well as official releases:
python setup.py egg_info bdist_wheel rotate -m.whl -k3You may need to install requirements for setup beforehand, using
pip install -r ci_tools/requirements-setup.txtGenerating the documentation page
This project uses mkdocs to generate its documentation page. Therefore building a local copy of the doc page may be done using:
mkdocs buildYou may need to install requirements for doc beforehand, using
pip install -r ci_tools/requirements-doc.txtGenerating the test reports
The following commands generate the html test report and the associated badge.
pytest --junitxml=junit.xml -v valid8/tests/
ant -f ci_tools/generate-junit-html.xml
python ci_tools/generate-junit-badge.pyPyPI Releasing memo
This project is now automatically deployed to PyPI when a tag is created. Anyway, for manual deployment we can use:
twine upload dist/* -r pypitest
twine upload dist/*