Skip to main content

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.

Project description

Build Status Tests Status codecov Documentation PyPIdownloads

“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.txt

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

You may need to install requirements for setup beforehand, using

pip install -r ci_tools/requirements-setup.txt

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

You may need to install requirements for doc beforehand, using

pip install -r ci_tools/requirements-doc.txt

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

valid8-3.7.3.tar.gz (112.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

valid8-3.7.3-py3-none-any.whl (73.2 kB view details)

Uploaded Python 3

File details

Details for the file valid8-3.7.3.tar.gz.

File metadata

  • Download URL: valid8-3.7.3.tar.gz
  • Upload date:
  • Size: 112.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6

File hashes

Hashes for valid8-3.7.3.tar.gz
Algorithm Hash digest
SHA256 5402856230e41a201dba2db1a1cb908afaf3bde125cac62d4b621a3aba8424ae
MD5 9bf190cc4a6912de6e0a644877f2169f
BLAKE2b-256 cbaa3b6c08d84b9c1ceeaa0568fec86e854c415de03a6cba7bdc084b00dd88fc

See more details on using hashes here.

File details

Details for the file valid8-3.7.3-py3-none-any.whl.

File metadata

  • Download URL: valid8-3.7.3-py3-none-any.whl
  • Upload date:
  • Size: 73.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6

File hashes

Hashes for valid8-3.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2bebc3aef51c406c3fce862add18460cb37600431f3c87f9c28ae57bd34d2afe
MD5 6d1f651edc6ae94096f7157412672616
BLAKE2b-256 c0b21945f5884b4a5b5c3f155712784af70bfb5fa47ba164256310f40f65b409

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page