- Notifications
You must be signed in to change notification settings - Fork0
Yet another validation lib ;). Provides tools for general-purpose variable validation, function inputs/outputs validation as well as class fields validation. All entry points raise consistent ValidationError including all contextual details, with dynamic inheritance of ValueError/TypeError as appropriate.
License
smarie/python-valid8
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
"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 consistentValidationError
including all contextual details, with dynamic inheritance ofValueError
/TypeError
as appropriate. Originally from theautoclass project.
This is the readme for developers. The documentation for users is available here:https://smarie.github.io/python-valid8/
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
In order to install all requirements, including those for tests and packaging, use the following command:
pip install -r ci_tools/requirements-pip.txt
This project usespytest
.
pytest -v valid8/tests/
This project usessetuptools_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 -k3
This project usesmkdocs
to generate its documentation page. Therefore building a local copy of the doc page may be done using:
mkdocs build -f docs/mkdocs.yml
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.xmlpython ci_tools/generate-junit-badge.py
This project is now automatically deployed to PyPI when a tag is created. Anyway, for manual deployment we can use:
twine upload dist/* -r pypitesttwine upload dist/*
Ax explained in github ('get commandline instructions'):
git checkout -b<git_name>-<feature_branch> mastergit pull https://github.com/<git_name>/python-valid8.git<feature_branch> --no-commit --ff-only
if the second step does not work, do a normal auto-merge (do not userebase!):
git pull https://github.com/<git_name>/python-valid8.git<feature_branch> --no-commit
Finally review the changes, possibly perform some modifications, and commit.
About
Yet another validation lib ;). Provides tools for general-purpose variable validation, function inputs/outputs validation as well as class fields validation. All entry points raise consistent ValidationError including all contextual details, with dynamic inheritance of ValueError/TypeError as appropriate.