1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
|
validators
==========
Python Data Validation for Humans™.
Why?
====
Python has all kinds of validation tools, but every one of them requires
defining a schema. I wanted to create a simple validation library where
validating a simple value does not require defining a form or a schema.
Apparently `some other guys have felt the same way`_.
.. _some other guys have felt the same way:
http://opensourcehacker.com/2011/07/07/generic-python-validation-frameworks/
Often I've had for example a case where I just wanted to check if given string
is an email. With ``validators`` this use case becomes as easy as::
>>> import validators
>>> validators.email('someone@example.com')
True
Installation
============
You can install ``validators`` using pip::
pip install validators
Currently ``validators`` supports python versions 2.7, 3.3, 3.4, 3.5, 3.6, 3.7
and PyPy.
Basic validators
================
Each validator in ``validators`` is a simple function that takes the value to
validate and possibly some additional key-value arguments. Each function returns
``True`` when validation succeeds and
:class:`~validators.utils.ValidationFailure` object when validation fails.
:class:`~validators.utils.ValidationFailure` class implements ``__bool__``
method so you can easily check if validation failed::
>>> if not validators.email('some_bogus_email@@@'):
... # Do something here
... pass
:class:`~validators.utils.ValidationFailure` object also holds all the arguments
passed to original function::
>>> result = validators.between(3, min=5)
>>> result.value
3
>>> result.min
5
between
-------
.. module:: validators.between
.. autofunction:: between
btc_address
------
.. module:: validators.btc_address
.. autofunction:: btc_address
domain
------
.. module:: validators.domain
.. autofunction:: domain
email
-----
.. module:: validators.email
.. autofunction:: email
iban
----
.. module:: validators.iban
.. autofunction:: iban
ipv4
----
.. module:: validators.ip_address
.. autofunction:: ipv4
ipv6
----
.. autofunction:: ipv6
length
------
.. module:: validators.length
.. autofunction:: length
mac_address
-----------
.. module:: validators.mac_address
.. autofunction:: mac_address
md5
-----------
.. module:: validators.hashes
.. autofunction:: md5
sha1
-----------
.. module:: validators.hashes
.. autofunction:: sha1
sha224
-----------
.. module:: validators.hashes
.. autofunction:: sha224
sha256
-----------
.. module:: validators.hashes
.. autofunction:: sha256
sha512
-----------
.. module:: validators.hashes
.. autofunction:: sha512
slug
----
.. module:: validators.slug
.. autofunction:: slug
truthy
------
.. module:: validators.truthy
.. autofunction:: truthy
url
---
.. module:: validators.url
.. autofunction:: url
uuid
----
.. module:: validators.uuid
.. autofunction:: uuid
i18n validators
===============
Spanish
-------
.. module:: validators.i18n.es
es_doi
^^^^^^
.. autofunction:: es_doi
es_nif
^^^^^^
.. autofunction:: es_nif
es_nie
^^^^^^
.. autofunction:: es_nie
es_cif
^^^^^^
.. autofunction:: es_cif
Finnish
-------
.. module:: validators.i18n.fi
fi_business_id
^^^^^^^^^^^^^^
.. autofunction:: fi_business_id
fi_ssn
^^^^^^
.. autofunction:: fi_ssn
Internals
=========
validator
---------
.. module:: validators.utils
.. autoclass:: ValidationFailure
.. autofunction:: validator
|