All Projects → smarie → python-valid8

smarie / python-valid8

Licence: BSD-3-Clause License
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.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to python-valid8

FilterInputJs
Tiny and Powerful Library for limit an entry (text box,input) as number,string or more...
Stars: ✭ 37 (+54.17%)
Mutual labels:  input, validator, validate, valid
Validator.js
String validation
Stars: ✭ 18,842 (+78408.33%)
Mutual labels:  validation, input, validator, validate
Validate
⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。
Stars: ✭ 378 (+1475%)
Mutual labels:  validation, validator, validate
checker
Golang parameter validation, which can replace go-playground/validator, includes ncluding Cross Field, Map, Slice and Array diving, provides readable,flexible, configurable validation.
Stars: ✭ 62 (+158.33%)
Mutual labels:  validation, validator, validate
Validate
A simple jQuery plugin to validate forms.
Stars: ✭ 298 (+1141.67%)
Mutual labels:  validation, validator, validate
Validator.js
⁉️轻量级的 JavaScript 表单验证,字符串验证。没有依赖,支持 UMD ,~3kb。
Stars: ✭ 486 (+1925%)
Mutual labels:  validation, validator, validate
Nice Validator
Simple, smart and pleasant validation solution.
Stars: ✭ 587 (+2345.83%)
Mutual labels:  validation, validator, validate
Vee Validate
✅ Form Validation for Vue.js
Stars: ✭ 8,820 (+36650%)
Mutual labels:  validation, validator, validate
python-makefun
Dynamically create python functions with a proper signature.
Stars: ✭ 62 (+158.33%)
Mutual labels:  args, decorator, decorate
denetmen
useful micro check library for Crystal Language.
Stars: ✭ 23 (-4.17%)
Mutual labels:  checker, validator
validation
Aplus Framework Validation Library
Stars: ✭ 99 (+312.5%)
Mutual labels:  validation, validator
vue-tiny-validate
💯 Tiny Vue Validate Composition
Stars: ✭ 80 (+233.33%)
Mutual labels:  validation, validate
validate-framework
validate-framework:一款轻量、无依赖的 JavaScript 验证组件
Stars: ✭ 55 (+129.17%)
Mutual labels:  validator, validate
SheenValidator
Android library to make form validation easier
Stars: ✭ 29 (+20.83%)
Mutual labels:  input, validator
openapi-lint-vscode
OpenAPI 2.0/3.0.x intellisense, validator, linter, converter and resolver extension for Visual Studio Code
Stars: ✭ 47 (+95.83%)
Mutual labels:  validation, validator
vayder
Easy and concise validations for Express routes
Stars: ✭ 26 (+8.33%)
Mutual labels:  validator, validate
openui5-validator
A library to validate OpenUI5 fields
Stars: ✭ 17 (-29.17%)
Mutual labels:  validation, validator
Maat
Validation and transformation library powered by deductive ascending parser. Made to be extended for any kind of project.
Stars: ✭ 27 (+12.5%)
Mutual labels:  validation, validator
codeowners-validator
The GitHub CODEOWNERS file validator
Stars: ✭ 142 (+491.67%)
Mutual labels:  checker, validator
node-input-validator
Validation library for node.js
Stars: ✭ 74 (+208.33%)
Mutual labels:  validation, validator

python-validate (valid8)

"valid8ing is not a crime" ;-)

Python versions Build Status Tests Status codecov

Documentation PyPI Downloads Downloads per week GitHub stars

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

Installing all requirements

In order to install all requirements, including those for tests and packaging, use the following command:

pip install -r ci_tools/requirements-pip.txt

Running the tests

This project uses pytest.

pytest -v valid8/tests/

Packaging

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 -k3

Generating 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 build -f docs/mkdocs.yml

Generating 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.py

PyPI 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/*

Merging pull requests with edits - memo

Ax explained in github ('get commandline instructions'):

git checkout -b <git_name>-<feature_branch> master
git 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 use rebase!):

git pull https://github.com/<git_name>/python-valid8.git <feature_branch> --no-commit

Finally review the changes, possibly perform some modifications, and commit.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].