Skip to main content

Latest version released on PyPI ci Test coverage downloads

Getting Started

pyIsEmail is a no-nonsense approach for checking whether that user-supplied email address could be real. Sick of not being able to use email address tagging to sort through your Bacn? We can fix that.

Regular expressions are cheap to write, but often require maintenance when new top-level domains come out or don’t conform to email addressing features that come back into vogue. pyIsEmail allows you to validate an email address – and even check the domain, if you wish – with one simple call, making your code more readable and faster to write. When you want to know why an email address doesn’t validate, we even provide you with a diagnosis.

Install

Install from PyPI using pip, a package manager for Python.

$ pip install pyIsEmail

Don’t have pip installed? Try installing it by running this from the command line:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or you can download the source code (zip) for pyIsEmail and then run:

$ python setup.py install

You may need to run the above commands with sudo.

Usage

For the simplest usage, import and use the is_email function:

from pyisemail import is_email

address = "test@example.com"
bool_result = is_email(address)
detailed_result = is_email(address, diagnose=True)

You can also check whether the domain used in the email is a valid domain and whether or not it has a valid MX record:

from pyisemail import is_email

address = "test@example.com"
bool_result_with_dns = is_email(address, check_dns=True)
detailed_result_with_dns = is_email(address, check_dns=True, diagnose=True)

These are primary indicators of whether an email address can even be issued at that domain. However, a valid response here is not a guarantee that the email exists, merely that is can exist.

If you want to limit using a gTLD as the domain part of the email address, you can do so with a flag:

from pyisemail import is_email

address = "thiswont@workatall"
bool_result_with_check = is_email(address, allow_gtld=False)
detailed_result_with_check = is_email(address, allow_gtld=False, diagnose=True)

In addition to the base is_email functionality, you can also use the validators by themselves. Check the validator source doe to see how this works.

Uninstall

Want to get rid of pyIsEmail? Did you install with pip? Here you go:

$ pip uninstall pyIsEmail

Acknowledgements

The base ParserValidator is based off of Dominic Sayers’ is_email script. I wanted the functionality in Python, so I ported it from the original PHP.

Contributing

So you’re interested in contributing to pyIsEmail? Check out our contributing guidelines for more information on how to do that.

Versioning

This library aims to adhere to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs.

Metadata

Release files for pyIsEmail 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyIsEmail 2.0.1
File Size Uploaded
pyisemail-2.0.1.tar.gz 22.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyIsEmail 2.0.1
File Interpreter ABI Platform
pyisemail-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 47.5 kB

Release files / pyisemail-2.0.1.tar.gz

Download URL pyisemail-2.0.1.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
daf4b3fb2150a38f406b0aaba729e19fcd638a6d1c0549c25ff54c7b804618f8
BLAKE2b-256 checksum
How to use checksums
078db73f5154bc0c5bae1f83117a7095d4ca1c369ad0f3d65de27cf5c2b0b185
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.23.0

Release files / pyisemail-2.0.1-py3-none-any.whl

Download URL pyisemail-2.0.1-py3-none-any.whl
Size 25.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d2bebd159f436673219d024a3f02bed1b468c793df9a5fa08d72b7d4b4f6cb4
BLAKE2b-256 checksum
How to use checksums
11d2d62d675754a40ec41cd3c28417b6707278de5490d4da1cf7d79da61ebaa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.23.0

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.4.0

1 release file

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page