freshcrate
Home > Developer Tools > validators

validators

Python Data Validation for Humans™

Description

# validators - Python Data Validation for Humans™ [![PyCQA][pycqa-badge]][pycqa-link] [![SAST][sast-badge]][sast-link] [![Docs][docs-badge]][docs-link] [![Version][vs-badge]][vs-link] [![Downloads][dw-badge]][dw-link] <!-- [![Package][package-badge]][package-link] --> Python has all kinds of data validation tools, but every one of them seems to require defining a schema or form. I wanted to create a simple validation library where validating a simple value does not require defining a form or a schema. ```shell pip install validators ``` Then, ```python >>> import validators >>> >>> validators.email('someone@example.com') True ``` ## Resources <!-- Backup documentation URL : https://yozachar.github.io/pyvalidators/ --> <!-- Original documentation URL : https://python-validators.github.io/validators/ --> - [Documentation](https://yozachar.github.io/pyvalidators) - [Bugtracker](https://github.com/python-validators/validators/issues) - [Security](https://github.com/python-validators/validators/blob/master/SECURITY.md) - [Code](https://github.com/python-validators/validators/) <!-- Original docs URL will be restored, once properly versioned docs are ready. --> --- > **_Python 3.9 [reaches EOL in](https://endoflife.date/python) October 2025._** <!-- Links --> [sast-badge]: https://github.com/python-validators/validators/actions/workflows/sast.yaml/badge.svg [sast-link]: https://github.com/python-validators/validators/actions/workflows/sast.yaml [pycqa-badge]: https://github.com/python-validators/validators/actions/workflows/pycqa.yaml/badge.svg [pycqa-link]: https://github.com/python-validators/validators/actions/workflows/pycqa.yaml [docs-badge]: https://github.com/yozachar/pyvalidators/actions/workflows/pages/pages-build-deployment/badge.svg [docs-link]: https://github.com/yozachar/pyvalidators/actions/workflows/pages/pages-build-deployment [vs-badge]: https://img.shields.io/pypi/v/validators?logo=pypi&logoColor=white&label=version&color=blue [vs-link]: https://pypi.python.org/pypi/validators/ [dw-badge]: https://img.shields.io/pypi/dm/validators?logo=pypi&logoColor=white&color=blue [dw-link]: https://pypi.python.org/pypi/validators/ <!-- [package-badge]: https://github.com/python-validators/validators/actions/workflows/package.yaml/badge.svg [package-link]: https://github.com/python-validators/validators/actions/workflows/package.yaml -->

Release History

VersionChangesUrgencyDate
0.35.0Imported from PyPI (0.35.0)Low4/21/2026
0.34.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ * feat: cache IANA TLDs for faster lookups by @salty-horse in [#390](https://github.com/python-validators/validators/pull/390) _**Maintenance**_ * chore: update dependencies by @yozachar in [#394](https://github.com/python-validators/validators/pull/394) * docs: adds configuration info by @yozachar in [#395](https://github.com/python-validators/validators/pull/395) **Full Changelog**: [`0.33.0Low9/3/2024
0.33.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: adds validator for `bsc` addresses by @msamsami in [#389](https://github.com/python-validators/validators/pull/389) _**Maintenance**_ - chore: bump version by @msamsami in [#389](https://github.com/python-validators/validators/pull/389) **Full Changelog**: [`0.32.0...0.33.0`](https://github.com/python-validators/validators/compare/0.32.0...0.33.0)Low7/15/2024
0.32.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: add validator for `sha384` hash by @msamsami in [#387](https://github.com/python-validators/validators/pull/387) _**Maintenance**_ - chore: improve `CONTRIBUTING.md` by @yozachar in [`9ba69a5`](https://github.com/python-validators/validators/commit/9ba69a51d1624e89d45504e1a8f23dd05810bd0e) - chore(deps): bump certifi from 2024.6.2 to 2024.7.4 in /package by @dependabot in https://github.cLow7/10/2024
0.31.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: add validators for `base16` and `base32` encodings by @msamsami in [#386](https://github.com/python-validators/validators/pull/386) _**Maintenance**_ - maint: bump version by @msamsami in [#386](https://github.com/python-validators/validators/pull/386) **Full Changelog**: [`0.30.0...0.31.0`](https://github.com/python-validators/validators/compare/0.30.0...0.31.0)Low7/8/2024
0.30.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: add validator for `trx_addresses` by @msamsami in [#384](https://github.com/python-validators/validators/pull/384) _**Maintenance**_ - maint: bump version by @msamsami in [#384](https://github.com/python-validators/validators/pull/384) **Full Changelog**: [`0.29.0...0.30.0`](https://github.com/python-validators/validators/compare/0.29.0...0.30.0)Low7/4/2024
0.29.0_**Breaking ⚠️**_ - patch: moves `btc_address` to `crypto_addresses` by @msamsami in https://github.com/python-validators/validators/pull/383 on [`2f300b`](https://github.com/python-validators/validators/pull/383/commits/2f300bccf31e7d8914817cac2ca466fd2a0a4d08) _**Features**_ - feat: add validator for eth addresses by @msamsami in https://github.com/python-validators/validators/pull/383 _**Maintenance**_ - chore: update dev deps; adds python EOL info by @yozachar in https://githuLow7/1/2024
0.28.3_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - hotfix: ensure `_tld.txt` is in `sdist` and `bdist` by @yozachar in [#379](https://github.com/python-validators/validators/pull/379) **Full Changelog**: [`0.28.2...0.28.3`](https://github.com/python-validators/validators/compare/0.28.2...0.28.3)Low5/25/2024
0.28.2_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - fix: corrects a few typo by @yozachar in [#371](https://github.com/python-validators/validators/pull/371) - build(deps): bump jinja2 from 3.1.3 to 3.1.4 in /package by @dependabot in [#372](https://github.com/python-validators/validators/pull/372) - fix(ip_address): properly handle private is false by @grleblanc in [#374](https:/Low5/24/2024
0.28.1_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - fix: reduce memory footprint when loading TLDs by @yozachar in [#362](https://github.com/python-validators/validators/pull/362) - build(deps): bump idna from 3.6 to 3.7 in /package by @dependabot in [#365](https://github.com/python-validators/validators/pull/365) - fix: rfc cases in the `domain` validator by @yozachar in [#367](hLow4/19/2024
0.28.0_**Breaking**_ ⚠️ - patch: moves `country_code` module to `country` module by @yozachar in [#357](https://github.com/python-validators/validators/pull/357) _**Features**_ - feat: adds indian aadhar and pan validator by @yozachar in [#358](https://github.com/python-validators/validators/pull/358) - feat: adds `finance` validator by @yozachar in [#359](https://github.com/python-validators/validators/pull/359) - feat: adds `consider_tld` parameter to `domain`, `hostname` and `url` moduleLow4/4/2024
0.27.0_**Breaking**_ ⚠️ - patch: moves `base58` and `base64` into `encoding` by @yozachar in [#354](https://github.com/python-validators/validators/pull/354) _**Features**_ - feat: lays foundation for URI validation by @yozachar in [#353](https://github.com/python-validators/validators/pull/353) - feat: adds `private` parameter to `ip_address`, `hostname` & `url` by @yozachar in [#356](https://github.com/python-validators/validators/pull/356) _**Maintenance**_ - patch: adds `encoding` Low4/3/2024
0.26.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: adds `base58` and `base64` validators by @yozachar in [#351](https://github.com/python-validators/validators/pull/351) _**Maintenance**_ - fix: regex ignore-case uses only `a-z` by @yozachar in [#349](https://github.com/python-validators/validators/pull/349) - patch: supported extended latin in username by @yozachar in [#350](https://github.com/python-validators/validators/pull/350) **Low4/2/2024
0.25.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: adds basic `cron` validator by @yozachar in [#348](https://github.com/python-validators/validators/pull/348) _**Maintenance**_ - maint: adds quick start docs by @yozachar in [#344](https://github.com/python-validators/validators/pull/344) - fix: `domain` validation is now more consistent across rfcs by @yozachar in [#347](https://github.com/python-validators/validators/pull/347) **FullLow4/2/2024
0.24.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: conditionally raises `ValidationError`; bump version by @yozachar in [#343](https://github.com/python-validators/validators/pull/343) _**Maintenance**_ - patch: `domain` & `url` modules by @yozachar in [#339](https://github.com/python-validators/validators/pull/339) - fix: domain name not confirming to rfc_2782 by @yozachar in [#341](https://github.com/python-validators/validators/pull/34Low3/24/2024
0.23.2_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - maint: rectifies changelog by @yozachar in [#336](ttps://github.com/python-validators/validators/pull/336) - fix: packaging as well as `rST` & `md` document generation by @yozachar in [#337](ttps://github.com/python-validators/validators/pull/337) **Full Changelog**: [`0.23.1...0.23.2`](https://github.com/python-validators/valiLow3/20/2024
0.23.1_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - maint: fix `between` & `length` validators by @yozachar in [#334](https://github.com/python-validators/validators/pull/334) - fix: manual nav reference for mkdocs; bumps version by @yozachar in [#335](https://github.com/python-validators/validators/pull/335) **Full Changelog**: [`0.23.0...0.23.1`](https://github.com/python-valiLow3/19/2024
0.23.0_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ - feat: add french i18n validation by @imperosol in [#308](https://github.com/python-validators/validators/pull/308) _**Maintenance**_ - fix: Valid URLs failing validation - query and fragment parts by @danherbriley in [#297](https://github.com/python-validators/validators/pull/297) - fix: bug in `between` module by @yozachar in [#301](https://github.com/python-validators/validators/pull/301) - Low3/19/2024
0.22.0_**Breaking**_ ⚠️ - A new keyword parameter `host_bit = True`, is added to `validators.ipv4` and `validators.ipv6`. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - fix: url validator considers urls with /#/ as valid by @adrienthiery in [#289](https://github.com/python-validators/validators/pull/289) - Add note about ValidationFailure to ValidationError in changes.md by @tswfi in [#291](https://github.com/python-validators/validators/pull/291) - Low9/2/2023
0.21.2_**Breaking**_ ⚠️ - `ValidationFailure` is renamed to `ValidationError` in [`yozachar@12ae1f5`](https://github.com/yozachar/pyvalidators/commit/12ae1f5850555d11e1f1a2c03f597fd10610215a) _**Features**_ - Added Country Code Validation by @aviiciii in [#280](https://github.com/python-validators/validators/pull/280) - add validator ETH addresses (ERC20) by @msamsami in [#276](https://github.com/python-validators/validators/pull/276) _**Maintenance**_ - feat: refactoring; updates; fixLow8/7/2023
0.21.1_**Breaking**_ > No breaking changes were introduced in this version. _**Features**_ > No features were introduced in this version. _**Maintenance**_ - fix: `source .venv/bin/activate` before build by @yozachar in [#260](https://github.com/python-validators/validators/pull/260) - fix: id-token write permission at job level by @yozachar in [#261](https://github.com/python-validators/validators/pull/261) - feat: docs can be built with both sphinx & mkdocs by @yozachar in [#262](htLow4/13/2023
0.21.0_**Breaking**_ ⚠️ - Drops support for all Python versions below `v3.8`. - Makes API's primary parameter, `positional`, and the remaining, `keyword-only`. - Keyword-only parameters like `max` and `min`, has been renamed to `max_val` and `min_val` respectively. - `domain` API now accepts two new keyword-only arguments: `rfc_1034: bool = False` and `rfc_2782: bool = False`. - `extremes.py` renamed to `_extremes.py` and is no longer exposed. - `truthy` was discarded in favour of simple `boolLow3/27/2023

Dependencies & License Audit

Loading dependencies...

Similar Packages

cerberusLightweight, extensible schema and data validation tool for Pythondictionaries.1.3.8
azure-coreMicrosoft Azure Core Library for Pythonazure-template_0.1.0b6187637
azure-mgmt-coreMicrosoft Azure Management Core Library for Pythonazure-template_0.1.0b6187637
azure-monitor-opentelemetry-exporterMicrosoft Azure Monitor Opentelemetry Exporter Client Library for Pythonazure-template_0.1.0b6187637
azure-servicebusMicrosoft Azure Service Bus Client Library for Pythonazure-template_0.1.0b6187637