# validators

> Python Data Validation for Humans™

- **URL**: https://www.freshcrate.ai/projects/validators
- **Author**: pypi
- **Category**: Developer Tools
- **Latest version**: `0.35.0` (2026-04-21)
- **License**: MIT
- **Source**: https://github.com/python-validators/validators/blob/master/CHANGES.md
- **Homepage**: https://pypi.org/project/validators/
- **Language**: Python
- **GitHub**: 1,114 stars, 178 forks
- **Registry**: pypi (`validators`)
- **Tags**: `pypi`, `python-validator`, `validation`, `validator`

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

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `0.35.0` | 2026-04-21 | Low | Imported from PyPI (0.35.0) |
| `0.34.0` | 2024-09-03 | Low | _**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.0 |
| `0.33.0` | 2024-07-15 | Low | _**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) |
| `0.32.0` | 2024-07-10 | Low | _**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.c |
| `0.31.0` | 2024-07-08 | Low | _**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) |
| `0.30.0` | 2024-07-04 | Low | _**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) |
| `0.29.0` | 2024-07-01 | Low | _**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://githu |
| `0.28.3` | 2024-05-25 | Low | _**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) |
| `0.28.2` | 2024-05-24 | Low | _**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:/ |
| `0.28.1` | 2024-04-19 | Low | _**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](h |

## Citation

- HTML: https://www.freshcrate.ai/projects/validators
- Markdown: https://www.freshcrate.ai/projects/validators.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/validators/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
